Frameworks : Compare Hosting
Compare 1685 hosting plans from 460 webhosts from our reviews section. Use the control panel (on the left) to start searching. Results will automatically update.
Oops! No Hosting Plans Match Your Search
You've selected a combination of features that none of the web hosts we profile offer. We suggest you remove your last filter or reset & start again.
Ask Our Experts
Need help with your hosting? Tell us exactly what you are looking for and we’ll do our very best to help. Please allow one working day for a response.
Please fill in all fields.
Thanks! Your request has been sent. We'll reply within 24 hours.
Recommended Web Host
Framework Options and Hosting
A web application framework is a generic web-based software application which is extended and modified by developers to create a specific application.
The framework provides generic functionality, built-in solutions to a number of common programming problems, a structure for organizing code, and a development philosophy or architectural paradigm.
Most software applications have a number of very similar features or functionalities. This is especially true of web applications:
- URL routing
- Templating / View
- Database interaction
- Form controls
- DOM manipulation
- Asynchronous requests
- Input validation
- User management
- Session management
This is even more the case when dealing with web applications within a certain domain. For example, all eCommerce applications have to deal with payment processing, security, product management, and pricing. Every content management system has to deal with authors, content editing, comments, categories, media uploading, and menus.
In most business cases, there’s very little sense in spending the time and money to develop all these functions over and over again. It is a better use of programming resources to focus on new features and business-specific functions.
A good application development framework solves most of these problems so that they don’t have to be dealt with by the application developers. This not only saves time, but it also usually ensures that those low-level foundational features are well-built and tested in production.
Frameworks and Architecture
An application development framework is more than a series of boilerplate libraries. It isn’t just an assemblage of tools. Rather, it is a generic form of an application, which is made specific by a development team. (Somewhat analogous to an abstract class being subclassed.)
The result of this is that application frameworks necessarily impose an architectural paradigm and sometimes a development philosophy. Some developers consider this imposition a reason not to use a framework, but actually it is precisely their most important benefit.
Providing an architectural structure eliminates the need to decide how the various parts of the application are going to work together. It promotes a well-designed organization of code and a sensible separation of concerns. It saves coders from arbitrary decisions about where to place certain types of logic.
Model View Controller
Most web application frameworks follow some version of the Model-View-Controller architecture pattern. This is one of the simplest and most fundamental architectural patterns and is particularly well-suited to the web, which is essentially a network of user-interface clients.
Model-View-Controller, or MVC, is a way of organizing an application into three distinct areas of concern:
- Model — The data structure.
- View — The formatted output to a user.
- Controller — The connection between Model and View, and application logic.
The Model defines the data schema. It usually takes the form of a series of classes which specify the main items of interest to the application. For example: people, blog posts, orders, products, stores. In most web application frameworks, the Model classes are used to generate the database structure, and an underlying framework class (often called
ActiveRecord) communicates with the database. This provides a layer of abstraction, which allows many frameworks to be database-agnostic.
The View is usually a set of template files which determine how specific models are displayed to the user. There is usually at least one view per model, and sometimes several — for example, if the same data might be presented in three different types of charts.
The Controller can often be broken down into two distinct parts (though this depends on the framework).
There is the application controller as a whole, which takes requests from the web server and calls models and views to fill that request. This is the original meaning of controller in MVC parlance.
There can also often be individual controllers that deal with specific types of functionality, such as a forms controller, or an email controller. In the conventional MVC paradigm, the Controller is simply the glue that holds the Model and View together. But in many real-world situations, especially with strong command-and-control requirements (robotics, dispatch, traffic management), the controller can become a very large part of the application.
Choosing a Development Framework
One of the problems in selecting a web application framework is that they tend to be fairly similar, especially at the level of textual descriptions. Most of them are MVC, most of them handle basic needs like session management, most of them promise to speed up development, most of them claim to improve developer happiness.
A big part of the reason for this is that success creates imitators. As the various framework developers have seen what the others are doing, they have each worked the best ideas into their own code. There is a convergence on excellence which makes most popular frameworks both very good and very similar.
The biggest determining factor is language. If you already know how to write PHP, you should probably use a PHP framework, rather than try to learn a new language just for the sake of using a new framework. (The big exception to that is, of course, Ruby on Rails, which has caused many people to start learning Ruby.)
Beyond that, your best bet is to actually look at some applications built using the frameworks you are considering. Has someone built something remarkably similar to what you want to build? Use the same framework. Does one framework just seem to make more sense to you than the others? Use that one.
Most frameworks provide remarkably similar features. So instead of trying to find the framework that is right, try looking for the one that is right for you.
Web Development Frameworks by Language
- PHP: CakePHP, CodeIgniter, Horde, Symfony, Yii, Zend, Zikula
- Ruby: Ruby on Rails, Lotus
- Python: Django, Flask
- Microsoft: Chili!Soft ASP, Microsoft Expression Web Support, Silverlight
Hosting Considerations: Your choice in language and framework will affect your needs in hosting. Read more about server requirements and find hosting plans that support specific frameworks: