http://www.gbin1.com/technology/jquery/prosconsframeworks/有些时候可能大家都会问自己,如果有新的方式缩短工作时间为什么还需要每天做重复的事情呢?我们常常认为框架可以带来开发的快速和简单?是否框架就可以意味着更好,更快呢?那么什么是框架呢?
"框架目标在于在web开发过程中减轻日常活动中的管理成本... 常常意味着代码的重复使用。"
和其它任何事物一样,当我们选择使用框架的时候,我们都需要了解框架拥有优势的同时也会拥有缺点。这里常常有些重要的因素你需要提前考虑到。
优势
1. 高效
一些任务可能需要花费你数个小时几百行代码完成,而现在只需要简单几分钟完成。开发变得简单,快速,并且有效。
2. 安全
许多的框架都拥有安全的实现。最大的优势在于强大的社区支持。使用者成为了测试人员。如果你发现漏洞或者安全隐患,你可以去框架所在网站报告,让代码维护的人知道并且解决。
3. 成本
很多框架都是免费,并且开发人员编写代码更快,所以客户成本自然更低
4. 支持
和其它的发布工具类似,框架也有文档支持,团队支持,或者大的社区能迅速帮你解决问题
劣势
1. 你学习的是框架,不是语言本身
我相信这是主要的问题。如果你使用框架,自然对于基础其背后的语言会知之甚微,使用jQuery来编程哦和使用javascript有很大不同。简单来说,会jQuery,不代表你会javascript。
2. 限制
框架的核心不能被修改,意味着如果你使用一个框架,你必须尊重这种限制,并且遵循它要求的方式。你必须找到一个框架满足你的需要。
3. 代码是公开的
因为框架任何人都可以使用,因此对于某些有不良目地的人来说也是有效的。他们可以寻找框架的漏洞来对付你。
Javascript框架
jQuery - http://jquery.com
jQuery是一个快速的准确的javascript的库来快速开发来简化HTML文档浏览操作,事件操作,动画以及Ajax互动。jQuery改变了你写javascript的方式。
Prototype - http://www.prototypejs.org/
Prototye是一个javascript的框架目的在于简化动态web应用开发。特性唯一,使用简单的工具用来进行class驱动的开发并且有最好的Ajax库,Prototype很快就成为web开发的选择。
Mootools - http://mootools.net/
MooTools是一个紧凑的,模块化,面对对象的javascript框架用来帮助中级和高级javascript开发者来设计。允许你写出强大,灵活,跨浏览器的代码。
Mobile 框架
jQuery Mobile - http://jquerymobile.com/
jQuery mobile继承了"write less, do more"的特色,并且带到下一个层次。
iWebKit - http://snippetspace.com/projects/iwebkit/
iWebKit是一个文件包用来帮助你创建自己的iphone,ipod touch和ipad兼容的网站和应用。
DHTMLX touch - http://www.dhtmlx.com/touch
DHTMLX touch是一个基于HTML5的javascript类库用来开发移动web应用。它不是一套简单UI小窗口,而是一个完整的框架允许你创建吸引眼球,跨平台的移动web应用程序。
CSS框架
blueprint - http://www.blueprintcss.org/
blueprint是一个CSS框架,目标用来减少你的开发时间。
960 Grid System - http://960.gs/
960 Grid System提供常用的维度定义来执行流线型的工作流方式。 基于960像素宽度。
YUI2 - http://developer.yahoo.com/yui/grids/
YUI Grid CSS基础提供了4个预定义的页面宽度,6个预设模板,和镶套的2,3,4的列设计。
Java开发框架
Spring - http://www.springsource.com
spring是使用非常广泛的java框架之一,提供了IOC反转控制实现
Struts - http://struts.apache.org
老牌的web开发框架,最早的框架的成功应用之一。
总价
现在你看到了框架的优势和劣势。所以在使用框架前,考虑一些因素,然后有计划的去使用。
原文出处: 使用框架开发的优势和劣势