javascript
JSF2.0与纯JS框架
2019獨角獸企業重金招聘Python工程師標準>>>
用了JSF一段時間了,也寫了幾個組件了,對這個框架多少有了一些了解。另外我也用過EXT這樣的純JS的組件系統,因此我想對比一下。從復雜度上來說,我覺得EXT其實更復雜。它的組件系統是一個比較龐大的體系,但優點在于,它的類結構組織的還是不錯的,和swing有些相像,比較容易理解。另外它還有另外一個優點,就是從設計上和傳統UI庫的概念很接近,也有布局管理的概念。組件也寫得很好。缺點是,定制起來是比較困難的,需要花費比較大的力氣,才能很如意的使用。EXT的文檔寫得不好,參考價值不是很高,有些人可能覺得它文檔很好了,但是如果你用過QT你就知道什么是好文檔了。特別是UI庫,文檔應當以例子驅動,而不是用模棱兩可的語言描述一個讓人很暈的概念,看完之后,不知所云,只能自己試。
JSF相對簡單,由于是服務器端組件,所以可以很好的利用服務器的特性。整個繼承體系比較簡單,也容易理解。比如我們寫組件的時候一般繼承UIInput這個類就可以了。JSF采用的是服務器模板,將整個服務器端的模板渲染成HTML發送客戶。因此它生來不是AJAX的,這一點不太符合現在的趨勢。如果系統復雜,很難降低服務器的負載。因為整個組件樹,都存在服務器上,這些東西本來和服務器是無關的(因為服務器應該更多的負責業務而不是業務無關的界面)。而且響應的數據也很復雜,可能包含一個很大的HTML頁面過來。而且由于JSF的組件系統是用servlet這樣的機制來模擬過來的,所以感覺很奇怪,而EXT完全和SWING等UI類庫一樣。所以從這個角度看上去EXT顯得封裝更優良,更純粹一些,而且EXT和服務器交互采用JSON數據,可以很好的減少服務器的負載。唯一美中不足的是,EXT設計的太傳統,有些復雜,考慮太多,顯得有些沉重,學習起來要花費一些力氣。
總的來說,我覺得類似EXT這樣的純JS UI應該更有前途。JSF雖然也支持AJAX但是由于它本身的一些限制,這個AJAX顯得不是很純粹,因為無論如何也逃不過服務器渲染這個階段。因為AJAX逃不過JS因此JSF2.0也有自己的JS庫。結果就被分割成兩部分了。搞的有些復雜。所以我覺得JSF2.0有些茍延殘喘的意思,呵呵。EXT搞得有些深奧,這個是它的一個很大的缺點,也許我們用起來還行,但是不太容易定制自己的組件,而這種情況在開發的時候很常見。因此EXT適合一些快速的任務,不用自己開發自己的組件,否則,就會比較麻煩,要花費一些力氣研究。希望看到有很好設計的純JS UI組件庫的出現。有些人可能會說jquery插件,但是我覺得jquery不是設計用來做組件庫的,所以我們可以利用它來開發單獨的組件庫,但是如果你這么干,可能會發現也很不容易,因為jquery會對你的設計產生比較大的影響。
轉載于:https://my.oschina.net/clarkhill/blog/16337
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的JSF2.0与纯JS框架的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: javascript权威指南读书笔记之二
- 下一篇: Linux 指令简单将***IP列入ip