Pros And Cons
Sometimes you should ask yourself, why you need to do the same thing everyday when there’s a new bridge to shorten the path. Think of a framework as a bridge that will help you code faster and easier. Did you notice I didn’t include the word “better” in the last sentence? Faster and easier doesn’t always mean better, but we will get to that later.
First things first, so what is a framework really? It actually depends on the context it is used. It can be defined as an abstraction tool that makes it easier to develop applications and reuse code.
“The framework aims to alleviate the overhead associated with common activities performed in Web development… and they often promote code reuse.”
Like everything else, when it comes to its use, a framework has advantages and downsides. Below is a list of some important facts you should consider, before you decide to start learning or using one.
Pros and Cons
Tasks that usually would take you hours and hundreds of lines of code to write, can now be done in minutes with pre-built functions. Development becomes a lot easier, so if it’s easier it’s faster, and consequently efficient.
A widely used framework has big security implementations. The big advantage is the community behind it, where users become long-term testers. If you find a vulnerability or a security hole, you can go to the framework’s website and let the team know so they can fix it.
Most popular frameworks are free, and since it also helps the developer to code faster, the cost for the final client will be smaller.
As any other distributed tool, a framework usually comes with documentation, a support team, or big community forums where you can obtain quick answers.
Pros and Cons
You learn the framework, not the language
The framework’s core behaviour can’t be modified, meaning that when you use a framework, you are forced to respect its limits and work the way it is required. Make sure you choose a framework that suits your needs.
Code is public
Since the framework is available to everyone, it is also available to people with bad intentions. It can be studied in order to know how things work and to find flaws that can be used against you.
CodeIgniter is a powerful PHP framework with a very small footprint, built for PHP coders who need a simple and elegant toolkit to create full-featured web applications.
CakePHP is a rapid development framework for PHP that provides an extensible architecture for developing, maintaining, and deploying applications.
Symfony is a full-stack framework, a library of cohesive classes written in PHP.
Query mobile framework takes the “write less, do more” mantra to the next level: Instead of writing unique apps for each mobile device or OS.
iWebKit is a file package designed to help you create your own iPhone, iPod Touch and iPad compatible website or webapp.
Ruby on Rails
Ruby on Rails is an open-source web framework that’s optimized for programmer happiness and sustainable productivity.
Padrino is a ruby framework built upon the excellent Sinatra Microframework. Sinatra is a DSL for quickly creating simple web applications in Ruby.
Blueprint is a CSS framework, which aims to cut down on your development time.
960 Grid System
The 960 Grid System is an effort to streamline web development workflow by providing commonly used dimensions, based on a width of 960 pixels.
Now you understand why I didn’t include the word “better” on my first sentence. A framework can bring you several advantages and may suit your needs, but it also brings downsides to your projects. There are hundreds of frameworks out there, so be sure to choose carefully, if you plan to use one in the future.