Pros And Cons Of Using Frameworks
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
Efficiency
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.Security
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.Cost
Most popular frameworks are free, and since it also helps the developer to code faster, the cost for the final client will be smaller.Support
As any other distributed tool, a framework usually comes with documentation, a support team, or big community forums where you can obtain quick answers.Cons
You learn the framework, not the language
I believe this to be the major problem. If you’re using a framework and you know very little about the language behind it, you will learn the framework and not the language itself. The way you code jQuery is different from the way you code javascript. Simple put, if you know jQuery, it doesn’t mean you know javascript.Limitation
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.JavaScript Frameworks
jQuery
http://jquery.com/jQuery is a fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development. jQuery is designed to change the way that you write JavaScript.
Prototype
http://www.prototypejs.org/Prototype is a JavaScript Framework that aims to ease development of dynamic web applications. Featuring a unique, easy-to-use toolkit for class-driven development and the nicest Ajax library around, Prototype is quickly becoming the codebase of choice for web application developers everywhere.
Mootools
http://mootools.net/MooTools is a compact, modular, Object-Oriented JavaScript framework designed for the intermediate to advanced JavaScript developer. It allows you to write powerful, flexible, and cross-browser code with its elegant, well documented, and coherent API.
PHP Frameworks
CodeIgniter
http://codeigniter.com/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
http://cakephp.org/CakePHP is a rapid development framework for PHP that provides an extensible architecture for developing, maintaining, and deploying applications.
Symfony
http://www.symfony-project.org/Symfony is a full-stack framework, a library of cohesive classes written in PHP.
Mobile Frameworks
jQuery Mobile
http://jquerymobile.com/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
http://snippetspace.com/projects/iwebkit/iWebKit is a file package designed to help you create your own iPhone, iPod Touch and iPad compatible website or webapp.
DHTMLX Touch
http://www.dhtmlx.com/touchDHTMLX Touch is an HTML5-based JavaScript library for building mobile web applications. It’s not just a set of UI widgets, but a complete framework that allows you to create eye-catching, cross-platform web applications for mobile and touchscreen devices.
Ruby Frameworks
Ruby on Rails
http://rubyonrails.org/Ruby on Rails is an open-source web framework that’s optimized for programmer happiness and sustainable productivity.
Padrino
http://www.padrinorb.com/Padrino is a ruby framework built upon the excellent Sinatra Microframework. Sinatra is a DSL for quickly creating simple web applications in Ruby.
Bowline
http://bowlineapp.com/Bowline is a framework for making cross platform desktop applications in Ruby, HTML and JavaScript.
CSS Frameworks
Blueprint
http://www.blueprintcss.org/Blueprint is a CSS framework, which aims to cut down on your development time.
960 Grid System
http://960.gs/The 960 Grid System is an effort to streamline web development workflow by providing commonly used dimensions, based on a width of 960 pixels.
YUI2
http://developer.yahoo.com/yui/grids/The foundational YUI Grids CSS offers four preset page widths, six preset templates, and the ability to stack and nest subdivided regions of two, three, or four columns.
No comments:
Post a Comment