Monday, July 9, 2007

Framework is more important than Language

For the web development, which programming language is used is not important but frameworks. Frameworks are set of libraries that hides details of platform level operations and functions from programmers and making the development easier and faster. There are many types, sizes of frameworks for different purposes. You should choose the right one according to the size and requirements of your project. Choosing the programming language is not the issue since "Language is language".

These web application frameworks are based on MVC structure. MVC is the latest, proven, most used, popular architecture which separates data(database designer), logic(application programmer) and user interface(web designer).

Here is the programming languages list and their related popular web frameworks.

Ruby

  • Rails - is a full-stack framework for developing database-backed web applications according to the Model-View-Control pattern

Python

  • TurboGears - designer friendly templates, easy AJAX on the browser side and on the server side, not a single SQL query in sight with code that is as natural as writing a function.
  • Django - is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.
  • Spyce - Spyce will not waste your time with ,Clunky code reuse constructs ,XML, YAML, or a templating language you've never seen before; everything is Python, Manually accessing GET and POST page parameters, Writing boilerplate code for form validation
    ,Editing multiple files for each user-visible page, Writing SQL queries by hand, Rolling your own authentication framework
  • Quixote - is a package that supports Web application development by Python programmers. In Quixote, the templating language is a small extension of Python itself: the aim is to make Web page assembly take maximal advantage of the Python programmer's existing skills.
  • Zope - is an open source application server for building content management systems, intranets, portals, and custom applications.
  • Albatross - is a small and flexible Python toolkit for developing highly stateful web applications. The toolkit has been designed to take a lot of the pain out of constructing intranet applications although you can also use Albatross for deploying publicly accessed web applications.

PHP

  • Zend - A powerful high-quality open-source framework focused on developing modern Web Applications and Web Services
  • Symfony - Based on the best practices of web development, thoroughly tried on several active websites, symfony aims to speed up the creation and maintenance of web applications, and to replace the repetitive coding tasks by power, control and pleasure.
  • CakePHP - is a rapid development framework for PHP which uses commonly known design patterns like ActiveRecord, Association Data Mapping, Front Controller and MVC. Our primary goal is to provide a structured framework that enables PHP users at all levels to rapidly develop robust web applications, without any loss to flexibility.
  • PHP on Trax - is a web-application and persistance framework that is based on Ruby on Rails and includes everything needed to create database-backed web-applications according to the Model-View-Control pattern of separation.
  • Zoop - is an object oriented PHP framework. Zoop is modeled after the MVC design pattern. It is a high performance, secure, and scalable framework for PHP.

Java

  • Spring MVC - is designed around a DispatcherServlet that dispatches requests to handlers, with configurable handler mappings, view resolution, locale and theme resolution as well as support for upload files.
  • Webwork - is a Java web-application development framework. It is built specifically with developer productivity and code simplicity in mind, providing robust support for building reusable UI templates, such as form controls, UI themes, internationalization, dynamic form parameter mapping to JavaBeans, robust client and server side validation, and much more.
  • Struts - is a free open-source framework for creating Java web applications.
  • JSF - simplifies building user interfaces for JavaServer applications. Developers of various skill levels can quickly build web applications by: assembling reusable UI components in a page; connecting these components to an application data source; and wiring client-generated events to server-side event handlers.
  • Tapestry - is an open-source framework for creating dynamic, robust, highly scalable web applications in Java. Tapestry complements and builds upon the standard Java Servlet API, and so it works in any servlet container or application server.
  • Wicket - With proper mark-up/logic separation, a POJO data model, and a refreshing lack of XML, Wicket makes developing web-apps in Java simple and enjoyable again. Swap the boilerplate, complex debugging and brittle code for powerful, reusable components written with plain Java and HTML.
  • Stripes - is a presentation framework for building web applications using the latest Java technologies.
  • JBoss Seam - is a powerful new application framework for building next generation Web 2.0 applications by unifying and integrating technologies such as Asynchronous JavaScript and XML (AJAX), Java Server Faces (JSF), Enterprise Java Beans (EJB3), Java Portlets and Business Process Management (BPM).
  • RIFE - is a full-stack web application framework with tools and APIs to implement most common web features. Each of its toolkits is usable by itself and together they offer powerful integrated features that boost your productivity. RIFE ensures that every declaration and definition is handled in one place in the code. This simplifies the developer's task by reducing code replication, enforcing consistency, and easing maintenance.
C#/VB.NET
  • ASP.NET - is a free technology that allows programmers to create dynamic web applications. ASP.NET can be used to create anything from small, personal websites through to large, enterprise-class web applications.
Perl
  • Maypole - is a Perl web application framework for MVC-oriented applications, similar to Jakarta's Struts. Maypole is designed to minimize coding requirements for creating simple web interfaces to databases, while remaining flexible enough to support enterprise web applications.
  • Catalyst - is an open source Web application framework written in Perl, that closely follows the Model-view-controller (MVC) architecture, and supports a number of experimental web patterns. It's heavily inspired by such frameworks as Ruby On Rails, Maypole, and Spring.
See Also;
  1. ASP.NET AJAX Resources, Samples, Articles, Tutorials and Toolkits
  2. AJAX Frameworks and Resources
  3. Prevent robots from submitting data
  4. What is Microsoft Silverlight? Silverlight Resourc...
  5. SQL Injection Resources

No comments: