1 回答

TA贡献1859条经验 获得超6个赞
目前版本的 AngularJS 确实不太适合做移动应用。如果项目比较简单,完全没有必要使用 AngularJS 这么重的框架;如果项目复杂,使用了 AngularJS 就得狗屁。Teambition 目前 AngularJS、Backbone 和 React 都在用。
Backbone 本身比较轻量,适合不是很复杂的应用,当然也做得出复杂的应用,Teambiiton 就是基于 Backbone 的,但是比起 AngularJS ,Backbone 的功能太弱了,以至于为了实现 Teambition,包含了很多自己开发的组件来补充 Backbone,所以复杂的项目,Backbone 不会比 AngularJS 轻多少,而且还需要写很多重复的代码。不过现在有一点好处,Backbone 可以很细腻地控制应用的每一个角落,以至于 Teambition 没有太大的性能问题。我在用 AngularJS 做另外一个项目,有可能是我也不太了解 AngularJS,没多少功能,但是性能上就差了,而且我也没有明显优化的方向。React 的话,本身只是做了 View 层,但是 React 的代码已经和 AngularJS 一样多了……我们目前用到的地方就是使用 React 来做 Backbone 中 View 的渲染和绑定。
我们的服务端基本上都是 Node.js 的,所以前后端全都 CoffeeScript。CoffeeScript 最大的好处就是语法糖,也就是可能写起来爽一些。但开发速度不会因此提高,因为敲代码只是开发的一小部分,很多时间都花在思考和调试。
现在我慢慢不太喜欢 CoffeeScript了,如果用 CoffeeScript 的话,免不了在开发或者上线时有一个编译的过程,对于不同的开发方式,编译的方式虽然不一样,Teambition 原来是使用 Express 中间件来 serve,现在使用 Grunt 来 watch,但是只要有编译过程,总是会增加开发或者上线的过程的复杂度;最重要的一点就是,如果 CoffeeScript 没有自己的运行时,浏览器不原生支持 CoffeeScript 的话,CoffeeScript 永远没有翻身之日。毕竟是要编译成 JavaScript 的,首先会收到 JavaScript 的限制,其次是 CoffeeScript 中的某些语法糖,JavaScript 总有一天也会有的,看看 ES 6 新增的一些新特性,和 CoffeeScript 很像的。还有 CoffeeScript 永远只能做 JavaScript 的跟屁虫,比如在Node 0.11.x 版本中支持 yield 了,CoffeeScript 是不是也要支持?不然咱们这些使用者怎么办?所以 CoffeeScript 目前已经支持 yield 了,将在下一个版本发布出来。当然那些 TypeScript,Dart 什么的,如果没有自己的运行时,和 CoffeeScript 的命运也差不多。
补充一点:如果会 JavaScript 的话,学习 CoffeeScript 的成本非常低,一两天吧?!对大多数人或者团队来说,接受成本或者说服成本更多一些,扯皮讨论是否使用 CoffeeScript 的时间,基本上可以学会 CoffeeScript 了。
- 1 回答
- 0 关注
- 600 浏览
添加回答
举报