js框架的利弊

今天面試,問到這樣一個問題:

用js框架有什麼好處?

當時想都沒想:高效開發,替我們解決兼容性問題。

還有麼?

額。。。

後來查瞭下相關的資料,又結合自己再仔細思考、群內童鞋們討論,我覺得答案可能還是:高效開發。

但現在理解的高效開發可能跟之前理解的就不一樣瞭,網上有這麼一篇文章,短小,不過我覺得還是很中肯的。

談談js框架的利弊

2010 十月 26

by admin

在全職做前端之前,有很長一段時間是在做.net開發,對“框架”這個詞還是挺有體會的。從.net framework2.0開始接觸,一直到3.5,現在應該到4.0瞭吧沒怎麼關註瞭。.net框架配上vs集成開發環境,可以說在快速開發企業用戶的地位是其它沒法超越的。一般做.net的有三種人:利用IDE的便捷直接拖控生成項目,或者純粹當c#語言來用;我最欣賞的是第三種:研究.net的原理、生命周期,利用它的一些優秀特性去構建適合自己的框架。

同樣前端也有許多框架,jquery,ext,yui…當然也有css framework。目前在公司項目中我都是用jquery框架,與其說框架不如說是一個JS的DMO操作庫,事實上jq談不上框架,而jquery ui庫又顯得有點笨重。對jq我的看法是:輕量,易擴展,接口友好;但其本身的實現代碼談不上優雅,選擇器用的也是開源Sizzle(由jQuery中誕生,獨立出來的一個開源的項目)。

用框架的好處:快速開發,更多關註業務邏輯的實現,不用過分關心瀏覽器兼容等問題。

弊端:不良依賴,忽略基礎特性。

我的看法:選一種適合自己項目的JS框架,充分瞭解它的優勢和劣勢,讀源碼,瞭解每個核心功能的實現。實現自己的UI庫和組件庫,在高效與通用之間做平衡與適當妥協,畢竟我們不完全是為寫庫而寫庫。

若說JS框架,那就不得不說現在業界的幾種主流框架和類庫,JQ,mootools,prototype,YUI EXT,dojo,包括國內的淘寶的kissy,百度的七巧板等。他們各自都有各自的特點,百花爭艷,各展千秋。

我自己認為框架的優劣隻有在具體的項目中才能體現出來,在實際使用中才能比較其利弊。

比如,如果我們隻是寫一個簡單的頁面效果,圖片滾動,一般情況下自己寫就可以瞭,如果這時候用一個JQueryUI就顯得臃腫瞭。當然,如果新手為瞭提高開發效率而用JQ,那也是有好處的。那麼最終JS框架是否有好處或者壞處,就得在具體環境中具體考慮。

當然,如果除卻環境原因,在各方面需求都非常均衡的情況下選擇框架,個人認為可以從易用性,高性能,功能性,多瀏覽器兼容,跨平臺,可擴展性等方面考慮。

考慮簡單易用,貌似JQ的$遠遠領先瞭其他框架。

高性能上,上次看瞭個主流框架選擇器性能測試,JQ在這方面也是出於領先地位。其他的性能測試我這裡沒有數據,如果各位兄臺誰有相關的測試數據,希望能共享一下,非常感謝。

功能上,包括UI和其他方面。現在各個框架基本都有自己的UI,不過EXT在這方面更強一些。

多瀏覽器兼容和跨平臺現在已經成框架的最基本要求瞭,基本上每種框架都會跨瀏覽器。

可擴展性方面,沒怎麼瞭解過,希望有瞭解的兄臺多多指點

 

作者 像陽光一樣

發佈留言