淺析使用框架開發(fā)的優(yōu)劣勢
"框架目標在于在web開發(fā)過程中減輕日常活動中的管理成本... 常常意味著代碼的重復使用。"
和其它任何事物一樣,當我們選擇使用框架的時候,我們都需要了解框架擁有優(yōu)勢的同時也會擁有缺點。這里常常有些重要的因素你需要提前考慮到。
優(yōu)勢
1. 高效
一些任務(wù)可能需要花費你數(shù)個小時幾百行代碼完成,而現(xiàn)在只需要簡單幾分鐘完成。開發(fā)變得簡單,快速,并且有效。
2. 安全
許多的框架都擁有安全的實現(xiàn)。最大的優(yōu)勢在于強大的社區(qū)支持。使用者成為了測試人員。如果你發(fā)現(xiàn)漏洞或者安全隱患,你可以去框架所在網(wǎng)站報告,讓代碼維護的人知道并且解決。
3. 成本
很多框架都是免費,并且開發(fā)人員編寫代碼更快,所以客戶成本自然更低
4. 支持
和其它的發(fā)布工具類似,框架也有文檔支持,團隊支持,或者大的社區(qū)能迅速幫你解決問題
劣勢
1. 你學習的是框架,不是語言本身
我相信這是主要的問題。如果你使用框架,自然對于基礎(chǔ)其背后的語言會知之甚微,使用jQuery來編程哦和使用javascript有很大不同。簡單來說,會jQuery,不代表你會javascript。
2. 限制
框架的核心不能被修改,意味著如果你使用一個框架,你必須尊重這種限制,并且遵循它要求的方式。你必須找到一個框架滿足你的需要。
3. 代碼是公開的
因為框架任何人都可以使用,因此對于某些有不良目地的人來說也是有效的。他們可以尋找框架的漏洞來對付你。
Javascript框架
jQuery - http://jquery.com
51CTO推薦專題:jQuery給力插件大閱兵
jQuery是一個快速的準確的javascript的庫來快速開發(fā)來簡化HTML文檔瀏覽操作,事件操作,動畫以及Ajax互動。jQuery改變了你寫javascript的方式。
Prototype - http://www.prototypejs.org/
Prototye是一個javascript的框架目的在于簡化動態(tài)web應(yīng)用開發(fā)。特性唯一,使用簡單的工具用來進行class驅(qū)動的開發(fā)并且有最好的Ajax庫,Prototype很快就成為web開發(fā)的選擇。
Mootools - http://mootools.net/
MooTools是一個緊湊的,模塊化,面對對象的javascript框架用來幫助中級和高級javascript開發(fā)者來設(shè)計。允許你寫出強大,靈活,跨瀏覽器的代碼。
Mobile 框架
jQuery Mobile - http://jquerymobile.com/
jQuery mobile繼承了"write less, do more"的特色,并且?guī)У较乱粋€層次。
iWebKit - http://snippetspace.com/projects/iwebkit/
iWebKit是一個文件包用來幫助你創(chuàng)建自己的iphone,ipod touch和ipad兼容的網(wǎng)站和應(yīng)用。
DHTMLX touch - http://www.dhtmlx.com/touch
DHTMLX touch是一個基于HTML5的javascript類庫用來開發(fā)移動web應(yīng)用。它不是一套簡單UI小窗口,而是一個完整的框架允許你創(chuàng)建吸引眼球,跨平臺的移動web應(yīng)用程序。
CSS框架
blueprint - http://www.blueprintcss.org/
blueprint是一個CSS框架,目標用來減少你的開發(fā)時間。
960 Grid System - http://960.gs/
960 Grid System提供常用的維度定義來執(zhí)行流線型的工作流方式。 基于960像素寬度。
YUI2 - http://developer.yahoo.com/yui/grids/
YUI Grid CSS基礎(chǔ)提供了4個預(yù)定義的頁面寬度,6個預(yù)設(shè)模板,和鑲套的2,3,4的列設(shè)計。
Java開發(fā)框架
Spring - http://www.springsource.com
spring是使用非常廣泛的java框架之一,提供了IOC反轉(zhuǎn)控制實現(xiàn)
Struts - http://struts.apache.org
老牌的web開發(fā)框架,最早的框架的成功應(yīng)用之一。
總價
現(xiàn)在你看到了框架的優(yōu)勢和劣勢。所以在使用框架前,考慮一些因素,然后有計劃的去使用。
【編輯推薦】