做移动嵌入的webapp,有什么适合的技术

白板的微信
浏览 601回答 1
1回答

BIG阳

目前版本的 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 了。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

WebApp