25 Aug 2013
August 25, 2013

MVC – The truth – 3

0 Comment

So we are back to discussing MVC again.

We were to  discuss the other application frameworks that use MVC in this article.

As we started, MVC is followed by many (or almost all) web applications in order to adhere to consistency and efficiency of the code. There are many developers who do not follow any of the frameworks, yet in essence follow the MVC principles. Their applications are inherently MVC based.

Some examples of MVC frameworks are ASP.net, CodeIgniter, Zend, Django and Ruby on Rails. Let us quickly sift through each of them.

ASP.net

The Model-View-Controller (MVC) architectural pattern separates an application into three main components: the model, the view, and the controller. The ASP.NET MVC framework provides an alternative to the ASP.NET Web Forms pattern for creating Web applications. The ASP.NET MVC framework is a lightweight, highly testable presentation framework that (as with Web Forms-based applications) is integrated with existing ASP.NET features, such as master pages and membership-based authentication. The MVC framework is defined in the System.Web.Mvc assembly.


CodeIgniter

CodeIgniter is an open source rapid development web application framework , for use in building dynamic web sites with PHP. Its goal is to enable [developers] to develop projects much faster than writing code from scratch, by providing a rich set of libraries for commonly needed tasks, as well as a simple interface and logical structure to access these libraries. CodeIgniter is most often noted for its speed when compared to other PHP frameworks. In a critical take on PHP frameworks in general, PHP creator Rasmus Lerdorf likes CodeIgniter because it is faster, lighter and the least like a framework.


Zend

Zend Framework applications can run on any PHP stack that fulfills the technical requirements.

Zend Technologies provides a PHP stack, Zend server (or Zend Server Community Edition), which is advertised to be optimized for running Zend Framework applications. Zend Server includes Zend Framework in its installers, along with PHP and all required extensions. According to Zend Technologies, Zend Server provides improved performance for PHP and especially Zend Framework applications through opcode acceleration and several caching capabilities, and includes application monitoring and diagnostics facilities. Zend Server is compatible with common debugging tools such as xDebug.

Other developers may want to use a different PHP stack and another IDE such as Eclipse PDT which works well together with Zend Server.

Django

Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. Developed by a fast-moving online-news operation, Django was designed to handle two challenges: the intensive deadlines of a newsroom and the stringent requirements of the experienced Web developers who wrote it. It lets you build high-performing, elegant Web applications quickly. Django focuses on automating as much as possible and adhering to the DRY principle (Don’t Repeat Yourself). Django’s primary goal is to ease the creation of complex, database-driven websites. Django emphasizes reusability and “pluggability” of components, rapid development.

Some well known sites that use Django include Pinterest,[5]Instagram,[6] Mozilla,[7] The Washington Times,[8] and thePublic Broadcasting Service.[9]

Ruby on Rails

Ruby on Rails, often simply Rails, is an open source web application framework which runs on the Ruby programming language. It is a full-stack framework: it allows creating pages and applications that gather information from the web server, talk to or query the database, and render templates out of the box. As a result, Rails features a routing system that is independent of the web server.

Ruby on Rails emphasizes the use of well-known software engineering patterns  and principles, such as active record pattern, convention over configuration, Don’t repeat Yourself and MVC

Source: MSN and Wiki

Leave a Reply

Your email address will not be published. Required fields are marked *