18.7.09

Programming Beyond Basics: Rapid application development (RAD)

Rapid application development (RAD) refers to a type of software development life cycle which uses minimal planning in favor of rapid prototyping. The "planning" of software written in RAD is interleaved with writing the software itself. The lack of extensive pre-planning generally allowed software to be written much faster, and makes it more flexible to change in requirement.


RAD calls for the interactive use of structured techniques and prototyping to define user's requirements and design the final system. Using structured techniques the developer first builds preliminary data models and business process models of the business requirements. Prototyping then helps the analyst and users to verify those requirements and to formally refine the data and process models. The cycle of models, then prototypes, then models, then prototypes and so forth on, ultimately results in a combined business requirements and technical design statement to be used for constructing new systems.[1]

RAD approaches may entail compromises in functionality and performance in exchange for enabling faster development and facilitating application maintenance.


Web Based Rapid Development Application Tool


  • Active Agenda's code generator is a RAD development framework using XML specification files and the PHP development language.
  • Alpha Five is a commercial RAD development environment for both client and web-server based database driven applications. This tool is typically classified with commercial packages such as Microsoft Access and FileMaker.
  • BFC is a RAD framework for both client and server-side development in the .NET environment.
  • CakePHP is a RAD development framework using the PHP development language.
  • CodeCharge Studio is a visual RAD development environment for web-based database driven application development. CodeCharge Studio places emphasis on code generation technology to provide ASP.NET, PHP, JSP, Servlets, ColdFusion and Perl language support.
  • Zend Framework is an open source, object-oriented web application framework licensed under the New BSD License.
  • Django is an open source web application framework, written in Python, which loosely follows the model-view-controller design pattern
  • IBM Rational Business Developer Extension is a cross-platform, Rapid Application Development IDE for creating enterprise and web applications and services for Windows, Linux, Unix (Solaris, HPUX, AIX), System z and System i
  • GForge Advanced Server a full software development process platform for complete project management and collaboration tool suite with tracking plug-ins for Eclipse IDE as well asMicrosoft Visual Studio and other related tools were added to increase developer functionality.
  • LibreSource
  • NConstruct is Windows and Web rapid enterprise application development tool and environment for .NET framework.
  • nuBuilder is an open source browser based database development tool which stores all forms, reports, data and any custom code in MySQL and displays the content dynamically.
  • Oracle Application Development Framework uses Oracle's JDeveloper a FREE IDE that supports ADF's J2EE based framework.
  • Panther (and its open source version POSSL) is a cross-platform (Windows, Unix, Linux; TUI, GUI, Web), cross-database RAD toolset for development of C/S and n-tier database oriented applications.
  • Ruby on Rails sponsored by 37signals
  • SednaSpace is a browser based Rapid Application Development tool, that generates code in technologies like AJAX, C#, VB.Net, Java and many other.
  • Symfony
  • Thoroughbred T-WEB is a Web RAD tool
  • Web2py is a RAD framework for web-based database driven applications with key features including in-browser coding support, admin/design interface, DAL (database abstraction layer), and translation support.
  • WebDev
  • Wavemaker Visual Ajax Studio is an open-source, browser-based IDE based on Dojo, Spring and Hibernate.
  • Visual WebGui Visual WebGui (VWG) is an open-source rapid application development (RAD) framework for AJAX & Silverlight GUIs. The platform presents a new approach to applying desktop usability to the web by viewing it as an extension to a desktop rather than web
  • cakeApp an online rapid development tool with WYSIWYG SQL editor and framework based on CakePHP.


http://en.wikipedia.org/ - Retrieved on 18 July 2009

12.7.09

Programming Beyond Basics: PHP

What is PHP ?

PHP is a server-side scripting language for creating dynamic Web pages. PHP's programming syntax is very similar to that of Perl. Because of its elegant design, PHP makes it easy for anyone to learn. It is significantly easier than comparable Perl or ASP Code. Unlike other scripting languages, PHP supports the most common databases like Oracle, Sybase and MySQL. It is also possible to integrate external libraries to generate PDF documents or parsing XML PHP is an open-source language and is supported by a large groups of delvelopers. The code is downloadable from php.net.







Rasmus Lerdorf, who wrote the originalCommon Gateway Interface binaries, andAndi Gutmans and Zeev Suraski, who rewrote the parser that formed PHP 3 While PHP was originally created by Rasmus Lerdorf in 1995, the main implementation of PHP is now produced by The PHP Group and serves as the de factostandard for PHP as there is no formal specification. PHP is free software released under the PHP License, which is incompatible with the GNU General Public License (GPL) due to restrictions on the use of the term PHP

What is MySQL ?

MySQL is a relational database management system. It is a Open Source SQL database provided by MySQL AB. MySQL is very fast, reliable, and easy to use. It also has a very practical set of features developed in very close cooperation with our users. MySQL was originally developed to handle very large databases much faster than existing solutions and has been successfully used in highly demanding production environments for several years. Though under constant development, MySQL today offers a rich and very useful set of functions. The connectivity, speed, and security make MySQL highly suited for accessing databases on the Internet.


PHP Main Development Sites

PHP: Hypertext Preprocessor Home Page PHP is a server-side HTML embedded scripting language. It provides web developers with a full suite of tools for building dynamic websites: native APIs to Apache and other web servers; easy access to MySQL, Sybase, Oracle, and other databases; IMAP; LDAP; HTTP headers and cookies. This site is the official home of PHP4.

Zend A bottom-up rewrite of the PHP scripting engine. It features a modular architecture, vastly improved performance, and greater scalability.

International PHP Magazine Web-based magazine for Web professionals focused on PHP based development. News, online articles, book reviews, forum.

Quality Assurance Team Voulonteer coders dedicated to providing coders with quality assurance.

Codewalkers A community site dedicated to PHP and SQL. Includes user submitted code, tutorials and forums.

PHP Freaks A community designed to assist developers with PHP and MySQL related information. Includes tips, tutorials, forums, articles, code examples and manuals.

PHP Everywhere Articles on PHP on Windows and Linux. Also compares PHP to ASP, Cold Fusion and Perl.

PHP News by CodingTheWeb.com PHP development news, tutorials, technical articles and HOWTOs. This is the definitive news source for PHP. Updated hourly.

PHPMac.com A site dedicated to PHP programmers that use the Mac OS. In particular Apple's new OS X unix system.

Devshed - Searching with PHP and ht://Dig Adds search capabilities to site using the popular open source tools PHP3 and ht://Dig.

Wrox Resource Center PHP support and resource forums run by programmers for programmers, provided by Wrox Press.

Core PHP Programming Home page for the first book about PHP

Club of the Developers This is a site of programmer's group united by a desire to develop PHP technologies in Internet.

ThePHPGuy PHP, MySQL and Apache articles, tutorials, guides. Also features daily updated developer news as well as a monthly developer newsletter packed with PHP programming tips and tricks.

Recent Releases

iconPHP 5.0.0 PHP5 has finially been released. This is the first full version of PHP5 with all the new features.... www.php.net

iconPHP 4.3.8 This release is made in response to several security issues that have been discovered since the 4.3.7 release.... www.php.net

iconApache 2.0.50 This version of Apache is principally a bug fix release. In particular it addresses two security vulnerabilities: a remotely triggered memory leak and a mod_ssl buffer overflow... httpd.apache.org

iconPHP 5 RC3 The third (and hopefully final) Release Candidate of PHP 5 is now available! This mostly bug fix release improves PHP 5's stability and irons out some of the remaining issues... www.php.net


2009 PHP TestFest PHP 5.3.0 Released!

PHP 5.3.0RC4 Release Announcements

PHP 5.2.10 Released!

PHP 5.2.10RC2 and PHP 5.3.0RC3 Release Announcements

TestFest 2009 PHP 5.3.0RC2 Release Announcement

PHP 5.2.9-2 (Windows) released

Google Summer of Code 2009 PHP 5.3.0RC1

Release Announcement 5.2.9-1 (for Windows) released

PHP 5.2.9 Released! Windows PECL binaries

PHP 5.2.8 Released!

PHP 5.2.7 has been removed from distribution

PHP 5.3 alpha3 released!

PHP Advent 2008


Retrieved on 11 July 2009

http://www.info4php.com

/http://en.wikipedia.org/wiki/PHP


5.7.09

Programming Beyond Basics: Ruby on Rails



Ruby on Rails, often shortened to Rails or RoR, is an open source web application framework for the Ruby programming language. It is intended to be used with an Agile development methodology which is used by web developers for rapid development.


History

Ruby on Rails was extracted by David Heinemeier Hansson from his work on Basecamp, a project management tool by 37signals (now a web application company).[1] Heinemeier Hansson first released Rails as open source in July 2004, but did not share commit rights to the project until February 2005.[2] In August 2006 the framework reached a milestone when Apple announced that it would ship Ruby on Rails with Mac OS X v10.5 "Leopard",[3] which was released in October 2007.

Technical overview

Like many contemporary web frameworks, Rails uses the Model-View-Controller (MVC) architecture pattern to organize application programming.

Ruby on Rails features several tools intended to make commonplace development tasks easier "out of the box". Rails provides scaffolding which can automatically construct some of the models and views needed for a basic website. A simple ruby web server (WEBrick) and Rake build system are also included. By including these common tools with the Rails framework, a basic development environment is in effect provided with all versions of the software.

Ruby on Rails relies on a web server to run it. Mongrel is generally preferred over WEBrick at the time of writing but it can also be run by Lighttpd, Abyss, Apache (either as a module - Passenger for example - or via CGI, FastCGI or mod_ruby), and many others.

Rails is also noteworthy for its extensive use of JavaScript libraries Prototype and Script.aculo.us for Ajax. Rails initially utilized lightweight SOAP for web services; this was later replaced by RESTful web services.

Since version 2.0, Ruby on Rails by default offers both HTML and XML as output formats. The latter is the facility for RESTful web services.

Framework structure

Ruby on Rails is separated into various packages, namely ActiveRecord (an object-relational mapping system for database access), ActiveResource (provides web services), ActionPack, ActiveSupport and ActionMailer. Prior to version 2.0, Rails also included the Action Web Service package which is now replaced by Active Resource. Apart from standard packages, developers can make plugins to extend existing packages.

Philosophy and design

Ruby on Rails is intended to emphasize Convention over Configuration (CoC), and the rapid development principle of Don't Repeat Yourself (DRY).

"Convention over Configuration" means a developer only needs to specify unconventional aspects of the application. For example, if there is a class Sale in the model, the corresponding table in the database is called sales by default. It is only if one deviates from this convention, such as calling the table "products sold", that the developer needs to write code regarding these names. Generally, this leads to less code and less repetition.

"Don't repeat yourself" means that information is located in a single, unambiguous place. For example, using the ActiveRecord module of Rails, the developer does not need to specify database column names in class definitions. Instead, Ruby on Rails can retrieve this information from the database based on the class name.

Recent developments

Rails version 2.3 was released on March 15, 2009. Major new developments in Rails includes templates, engines, Rack and nested model forms.

  • Templates enable the developer to generate a skeleton application with custom gems and configurations.
  • Engines let one reuse application pieces complete with routes, view paths and models.
  • The Rack web server interface and Metal allow one to write optimized pieces of code that route around ActionController.[4]

On December 23, 2008, Merb, another web application framework, and Rails announced a commitment to work together. The Rails team announced they would work with the Merb project to bring "the best ideas of Merb" into Rails 3, ending the "unnecessary duplication" across both communities.[5]

Trademarks

In March 2007 David Heinemeier Hansson filed three Rails related trademark applications to the USPTO. These applications regard the phrase "RUBY ON RAILS",[6] the word "RAILS"[7] and the official Rails logo.[8] As a consequence, in the summer of 2007 Hansson denied to Apress the permission to use the Rails logo on the cover of a new Rails book written by some authoritative community members. The episode gave rise to a polite protest in the Rails community.[9][10] In response to this criticism, Hansson made the following claims:[9] I only grant promotional use [of the Rails logo] for products I'm directly involved with. Such as books that I've been part of the development process for or conferences where I have a say in the execution. I would most definitely seek to enforce all the trademarks of Rails.

www.wikipedia.org - Retrieved on 4 July 2009

Ruby on Rails