前端基於jquery的UI框架


正在做的一個項目選擇jquery作為前端js核心庫。然后就想選一個基於jquery的ui庫,然后悲催的事情發生了。

至於為什么使用jquery,一是因為不想為授權費用,而又不想引起可能法律糾紛;另一方面jquery也是所有最容易上手和流行的js庫。

如果ext要用於商用就要付版權費,這個不行
dojo的文檔實在是無語,雖然dojo很強大,但是入門門檻太高,學習曲線陡峭
至於其它的ui庫組內也沒人用過
於是就選了jquery

接下來找了幾個基於jquery實現的ui庫,大部分都是收費的,最終確定下來從easyui(后來聽說easyui的授權許可與ext類似) ligerui和官方ui里面選一個
jquery ui的樣式很難看,所以這次決定換一個別的ui庫試試
easyui的layout嵌套有問題,怎么也解決不了,於是就決定使用ligerui。

ligerui的layout嵌套也有問題,不過我想了個辦法繞過去了,會損失一些性能。
但是真正悲催的事情來了。

layout各個區域我試過了很多辦法都加不上滾動條,center區域的div一通到底,有一部分跟bottom重疊了。grid的得到選擇的數據行、添加數據等操作都不好使。而且各個組件提供的api與文檔描述出入巨大,開放的api也不夠豐富,方法和事件太少。

總之相當不好用,使用它就是噩夢。

最后終於在項目還沒有進行太久的時候找機會重新使用jqueryui重構。

雖然jqueryui的樣式太難看,但是它還是很好控制的,方法和事件也很豐富。樣式難看可以找美工修改這不是大問題。
至於jqueryui沒有的那些組件主要是tree、grid、layout、form、menu,前三個都在網上找到了專門的插件,后面兩個准備自己實現。
tree推薦使用ztree,中國人自己開發的,網上評價很好,更新也很快。缺點是每次更新,api變化都挺大,一般不敢在項目中升級,否則恐怕要在用到ztree的地方改好多東西。
grid推薦使用jqGrid,大版本號已經升到4,搜索jquery grid、jquery datagrid排名第一,功能豐富,提供普通的datagrid treegrid和分組grid,還有分頁條功能。
layout推薦使用jquery.layout。模仿ext的borderlayout實現,但是有很多差異。支持嵌套。樣式比較難看,不過修改比較容易。

當時想圖省事結果給自己找了大麻煩。

項目正在進入開發階段之前,技術選型一定要做好,不能因為工期緊、壓力大就草率為之。采用某個第三方組件之前必須關注下它的使用者都有哪些、文檔豐富不豐富、授權協議、網上的評價如何。最后還要自己實現一些demo測試一下。否則可能會在開發過程中導致嚴重后果。
教訓啊。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM