1 回答

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個贊
目前版本的 AngularJS 確實(shí)不太適合做移動應(yīng)用。如果項目比較簡單,完全沒有必要使用 AngularJS 這么重的框架;如果項目復(fù)雜,使用了 AngularJS 就得狗屁。Teambition 目前 AngularJS、Backbone 和 React 都在用。
Backbone 本身比較輕量,適合不是很復(fù)雜的應(yīng)用,當(dāng)然也做得出復(fù)雜的應(yīng)用,Teambiiton 就是基于 Backbone 的,但是比起 AngularJS ,Backbone 的功能太弱了,以至于為了實(shí)現(xiàn) Teambition,包含了很多自己開發(fā)的組件來補(bǔ)充 Backbone,所以復(fù)雜的項目,Backbone 不會比 AngularJS 輕多少,而且還需要寫很多重復(fù)的代碼。不過現(xiàn)在有一點(diǎn)好處,Backbone 可以很細(xì)膩地控制應(yīng)用的每一個角落,以至于 Teambition 沒有太大的性能問題。我在用 AngularJS 做另外一個項目,有可能是我也不太了解 AngularJS,沒多少功能,但是性能上就差了,而且我也沒有明顯優(yōu)化的方向。React 的話,本身只是做了 View 層,但是 React 的代碼已經(jīng)和 AngularJS 一樣多了……我們目前用到的地方就是使用 React 來做 Backbone 中 View 的渲染和綁定。
我們的服務(wù)端基本上都是 Node.js 的,所以前后端全都 CoffeeScript。CoffeeScript 最大的好處就是語法糖,也就是可能寫起來爽一些。但開發(fā)速度不會因此提高,因?yàn)榍么a只是開發(fā)的一小部分,很多時間都花在思考和調(diào)試。
現(xiàn)在我慢慢不太喜歡 CoffeeScript了,如果用 CoffeeScript 的話,免不了在開發(fā)或者上線時有一個編譯的過程,對于不同的開發(fā)方式,編譯的方式雖然不一樣,Teambition 原來是使用 Express 中間件來 serve,現(xiàn)在使用 Grunt 來 watch,但是只要有編譯過程,總是會增加開發(fā)或者上線的過程的復(fù)雜度;最重要的一點(diǎn)就是,如果 CoffeeScript 沒有自己的運(yùn)行時,瀏覽器不原生支持 CoffeeScript 的話,CoffeeScript 永遠(yuǎn)沒有翻身之日。畢竟是要編譯成 JavaScript 的,首先會收到 JavaScript 的限制,其次是 CoffeeScript 中的某些語法糖,JavaScript 總有一天也會有的,看看 ES 6 新增的一些新特性,和 CoffeeScript 很像的。還有 CoffeeScript 永遠(yuǎn)只能做 JavaScript 的跟屁蟲,比如在Node 0.11.x 版本中支持 yield 了,CoffeeScript 是不是也要支持?不然咱們這些使用者怎么辦?所以 CoffeeScript 目前已經(jīng)支持 yield 了,將在下一個版本發(fā)布出來。當(dāng)然那些 TypeScript,Dart 什么的,如果沒有自己的運(yùn)行時,和 CoffeeScript 的命運(yùn)也差不多。
補(bǔ)充一點(diǎn):如果會 JavaScript 的話,學(xué)習(xí) CoffeeScript 的成本非常低,一兩天吧?!對大多數(shù)人或者團(tuán)隊來說,接受成本或者說服成本更多一些,扯皮討論是否使用 CoffeeScript 的時間,基本上可以學(xué)會 CoffeeScript 了。
- 1 回答
- 0 關(guān)注
- 625 瀏覽
添加回答
舉報