Ember.js 見解,精闢

https://ruby-china.org/topics/31451#reply43前端

都是大牛,或許仍是vue適合小白!架不住人多啊!一個很是優秀的產品,客戶百十號人,如何發展!vue

46樓的感想以下,編程

 

從去年開始邊學邊用 Ember.js 到如今一年多,業餘也作一些 Ember 的技術諮詢,說說我對這個框架總體的見解吧,先來優勢:後端

  • 開箱即用 這一點是我最直觀的感覺,不只能夠用,並且超好用,好比無需任何配置直接寫 ES6,整我的都好了不少。ember-cli除了在安裝和升級項目的時候有點麻煩外,其餘時候徹底能夠媲美 rails 的命令行工具,Ember 這一點啓發了不少其餘前端框架。ruby

  • 與現有技術融合順暢 尤爲是能夠直接大量借鑑現有的豐富的 jQuery 庫,不知道能夠省掉多少時間,少造多少沒有明顯收益的輪子。前端框架

  • Ember Addon 固然仍是有人願意造輪子,並且還願意分享出來,一些複雜的場景如今都有了成熟的解決方案,好比ember-simple-authember-cp-validations,etc。之前本身寫的一個select2.js的 wrapper各類別扭各類不兼容,而後我發現了ember-power-select,原生實現,好用到哭。app

  • Ember-data 不僅是有不少好用的 API,而是用多了以後你會不禁自主地圍繞 Data 來思考,由於這是 The single source of truth,並且 Ember data 也是一個極好的存儲狀態的地方,能夠省掉不一樣視圖間大量的狀態傳遞和計算。框架

  • 大量殺手級特性 好比 Computed Property,熟讀其 boolequaloneway等 APIs 代碼優雅指數可獲極大加成。再好比 queryParams,對URL即狀態這一理念的完美實踐,記得這個理念是 Yahuda Katz 在哪一個演講裏提出的,我的深覺得然。工具

接下來講說感受不是那麼良好的:學習

  • 學習曲線 真的不是通常的陡峭,基本上新手安裝完,作完 ToDoList 了以後差很少新鮮感就過渡到就迷茫感了,老老實實去啃文檔去吧。記得我開始學的時候,除了把最佳入門讀物 Rock and roll with Ember.js過了一遍以外,還和一個以色列的哥們作了 5,6 次的遠程結對編程,才慢慢地感受有點頭緒,真正寫起來有行雲流水的感受就要到好幾個月以後了。印象最深的是把後端的 snake_style 轉換成 js 通用的 camelCaseStyle 就用了我3天,而那個 hook 就隱藏在文檔的某個小角落裏……

  • 使用場景侷限 就是小項目不是不能用,而是用起來顯現不出 Ember 的優點,用傳統的技術好比 jQuery 也能實現的很好。這一點 @nightire 總結的很好,我就很少贅述,只是比較最近用 Ember 幫客戶作了一個簡單的 CRUD 的 app,感受確實有點殺雞焉用牛刀了。不過若是你的後端是 API-only 的那就另說了,

  • 文檔(或者說缺乏文檔)平胸而論,官方如今的文檔質量已經好不少了,但這也是不多甚至是惟一能夠依賴的地方,其餘方面好比書啊,教程啊要麼不多要麼就很過期,尤爲是 Stackoverflow,上面關於 Ember 的問答大部分都「年代久遠」,根本都不能看。 好比一個比較新的Contextual component特性,基本除了 RFC 和 Release Notes, 尚未看到有 blog 提到關於它的最佳實踐,除非去扒開源 add-on 的源碼。固然 Ember 有本身的 slack group,YouTube 上也有不少演講,但太過度散並且效率低。因此不少時候想要真正自信地採用某個方案,仍是得回去看官方文檔,而後本身領悟,只有真正懂了才能造成本身的最佳實踐,否則就是給本身或別人挖坑,這也算是某種程度的倒逼吧。

  • 開發進度 這一點 @nightire 也解釋了,主要是這個新的 Glimmer 2的開發耽誤了許多,社區追求更好的實現固然無可厚非,但客觀事實就是 Ember 喪失了迅速發展的機會。想一想去年這個時候(2015-11月),Angular 1已經日薄西山,2 還在無限 beta,React 的生態比如今還混亂,Vue.js 更是小衆中的小衆,那時候要作技術選型,做爲惟一一個穩定先進的框架,有點常識的人都會認真考慮一下 Ember.js。可如今若是再選,你有不是一個而是四個成熟的選擇,Ember 對那些技術決策人的吸引力不得不說小了不少,不是 hard core fan 或前端大拿,選 Ember 仍是要很大決心的,這也致使了 Ember.js 至今仍然是不慍不火地發展着。雖說作 early adopter 的感受良好,但用的人多其實才是好事,集思廣益才能加速促進。想 Redux 玩非主流的 FP,連 OO 都沒搞明白的新手還不是趨之若鶩?這一點,Ember 社區真的仍是要好好學習一個。

缺點說了這麼多,搞得個人口氣好像在批評同樣,但其實否則,我我的對 Ember 的總體感受仍是瑕不掩瑜,Ember的理念仍是很先進的,掌握 Ember 以後面對其餘框架的確有種高屋建瓴的感受,不少看似新鮮的東西其實深究起來在 Ember 裏早就實現了。但具體到我的需求,每一個人都不同,Ember 也不是銀彈能照顧到全部,因此我的仍是要按需選擇。咱們的目標是:不追 HYPE!

相關文章
相關標籤/搜索