幾個前端UI框架的的比較

jopen 9年前發布 | 16K 次閱讀 UI

剛開始接觸HTML剛開始接觸JS我也不懂就看了下- 正好我也在考慮怎么用HTML來搭我的APP UI。作為初學者,我發現Amaze UI是中文的,覺得對初學者看起來會更簡單 - 尤其對HTML CSS等一竅不通,很快有人推薦了Ratchet,看了下感覺用來做手機APP確實很簡單的樣子.. 開始糾結了.. 跟公司大神討教了下什么是UI框架以及一些主流的框架區別 優劣勢,以及我們一些項目上使用的內容后,大神總結出了以下內容,受益匪淺 - 作為答案有點長,以博文形式發出來供大家一起探討下:

------- 以下分割線 --------

IoTgo 用的是 Bootstrap( http://getbootstrap.com ),原先是 推ter 內部的一個 CSS 框架,后來開源放到 Github 上,成了 Github 上最熱門的項目。Bootstrap 在 3.0 版本之前,都是以桌面優先,在 3.0 版本后,采用移動優先,即很好的支持移動平臺,然后才考慮更好的支持桌面。所以 Bootstrap 對手機的支持也很好。

Foundation(foundation.zurb.com) 是設計公司 zurb.com 推出的開源 CSS 框架,在 CSS 框架領域是目前唯一能跟 Bootstrap 的競爭的項目。Foundation 的可定制性更好一些(因為是設計公司的產品,要應對各種客戶需求),但入手難度也高一些。對于很多 Web 項目開發者而言,他們需要的就是一套簡單快捷的 UI,對其美觀性、可定制性要求不是太高,所以目前相對來講 Foundation 沒有 Bootstrap 熱門。

答案中推薦的Ratchet如何:

Ratchet 之前也是 推ter 內部的一個 CSS 框架,后來也是開源到 Github 上,目前是作為 Bootstrap 的子項目存在( http://blog.getbootstrap.com/2014/04/02/ratchet-2-0-2-released/ ),開發 Ratchet 和 Bootstrap 的基本就是同一撥人。Ratchet 一開始就以移動為先,預先提供了很多移動平臺的常見 UI 工具,比如底部 Tab 標簽欄、頂部標題及后退按鈕、滑動的側邊欄等等——Bootstrap 也有,只是很多以插件形式存在,又或者需要自己做一些修改,不像 Ratchet 默認就有。

如果是做一個小項目,而且只以手機 App 的形式存在,可以考慮先用 Ratchet,如果同時兼容桌面,Bootstrap 更好一些。而且 Bootstrap 更新的速度更快,馬上 4.0 版本就要出來了,有很多針對移動平臺優化的特性,而 Ratchet 已經快一年沒更新了。

另外,目前的移動 CSS 框架(或者更合適的說,UI 框架),還有 非死book 的 React( http://非死book.github.io/react/ ),Google 的 Angular Material( https://material.angularjs.org ),Telerik 的 Kendo UI(www.telerik.com/kendo-ui),還有預先捆綁了 Cordova 的 Ionic Framework(ionicframework.com)等等。大家的評價大致是:

  • React:性能很好,因為采用了 Virtual DOM,但沒有默認支持 2 way data binding(雙向數據綁定),程序員需要自己做更多的工作來通過 UI 獲取用戶的輸入
  • Angular Material:前景非常好,只是目前處于 pre-release 階段(代碼兼容性和穩定性都不是很好)。Angular目前幾乎已經是前臺 MVC 框架的事實標準(大約 70% 以上的占有率,其他的還有 Ember、Meteor、Backbone等等),Angular Material 基于 Google Material Design 開發,默認支持 Angular,因而在 UI的美觀型和開發效率上都比較好。但性能是個問題,解決性能問題,需要程序員自己對代碼做優化
  • Kendo UI:非常完備的 UI 框架,但是是商業版(前段時間將部分核心模塊開源了)。開發商業 Web 或移動產品的企業更傾向Kendo UI 一些,因為可以得到很好的技術支持(當然要花錢)。Angular 熱門知會,Telerik 也升級了 Kendo UI,使其能夠較好的跟 Angular 交互——Kendo UI 是 UI,Angular 是前臺代碼邏輯
  • Ionic Framework:目前非常熱門,因為他在 Angular 的基礎上開發了支持移動平臺的 UI Widget(UI組件)。Ionic Framework 搭好了整套移動開發環境(指的是 App 開發,不是網站移動版)、UI 套件、JS框架(Angular),因而在 2014 年獲得巨大的社區反響。被譽為最有前景的移動開發框架(不僅僅是 UI 了)。

我個人對 Angular 比較熱衷,所以都會選擇能夠很好跟 Angular 交互的 CSS/UI 框架——一般來說,如果是純 CSS 框架,那么跟任一一個 MVC 框架(比如 Angular、Ember)都可以很好的配合;如果是 UI 框架,可能會有一些沖突。

之前我們的智能開關手機 App 是基于 Ionic Framework 來開發的,后來切換到 Angular Material。一個是 Ionic Framework 雖然入手簡單,但出現 Bug 我搞不清楚該怎么修改(需要花時間研究 Ionic Framework 的內部工作機制),二是我認為 Material Design 會成為 UI 設計的主流思想,Angular Material 會很快成熟起來。

來自:http://segmentfault.com/blog/freezingzz/1190000002550240

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!