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