[问题] 请推荐 cordova 适合的mvvm框架?

楼主: dream1124 (全新开始)   2014-09-24 21:39:06
大家好
小弟的公司正想为稍具雏型的 cordova 跨平台应用引入前端框架,
让各种程式码可以分离、可以降低耦合度
请问大家可以从学习难度、功能性、维护扩充的角度
分享或推荐一下适合的前端框架吗?
目前的画面元件使用 jQuery mobile 1.3.1 ,有听说和 backbone.js 很搭,
但因为各种功能相对较 angular 与 ember 简易,
听说像我们这样不是很有经验的前端开发者未必能掌握得很好,
不知道其他像 angularjs、ember.js 会更适合拿来规划架构吗?
谢谢大家~
作者: up9cloud (九天)   2014-09-25 00:07:00
不建议angular做手机,其他都很好但performance不好...
作者: carylorrk (carylorrk)   2014-09-25 07:41:00
用 ionic + angularjs 开发过,必须对 data binding 下功夫。不过基本上效能都远落后 native app
作者: mrbigmouth (大嘴先生)   2014-09-25 08:53:00
不建议用mvvm做cordova其实我觉得jquery mobile也不算好用 对我而言就是boostrap的作用 直接用backbone+bootstrap就行了
作者: shadowjohn (转角遇到爱)   2014-09-25 20:23:00
我也不觉得 jquery mobile 好用...
作者: carylorrk (carylorrk)   2014-09-25 22:16:00
backbone 我通常还是会配合其他 two way binding...angular 很方便,写起来很像一般程式,但是不熟悉就容易因为背地里做太多不必要的事而造成效能落差。尤其是语法自成一格,写起来方便但是不容易直观转换成真正的网页操作,新手很难评估效能 impact
作者: up9cloud (九天)   2014-09-26 04:14:00
我是指angular从你那三个角度看都还不错,只是效能特差若主要是desktop浏览,再考虑吧。效能真的很差。-_-"可以帮我修掉这句跟上句后面效能嘛,我重复了...
作者: mrbigmouth (大嘴先生)   2014-09-26 08:54:00
要我说的话 我不喜欢任何一种在html上动手脚然后去重新render网页的framework 效能只是其中一方面在我看来这跟写onclick="abc();"的缺点差不多 你在debbug时必须从html中去对程式码做排错....二来这些framework虽然的确方便 但太过自动一但你需要做些什么 需要花费的额外工夫很可能远大于你之前从这些framework上得到的便利You don't need control everything, But you can'tcontrol everything不要自己造轮子是很正确的道理 但请先确认你要制造的是不是无敌铁金钢以现在的cordova的环境 我建议还是用原始一点的工具
作者: carylorrk (carylorrk)   2014-09-26 11:34:00
我记得之前听 firefoxOS 的人演说,他们建议在上面连JQuery 都不要碰为妙XD
作者: kinanson (kinanson)   2014-09-26 22:26:00
ionic比jquery mobile快很多啊
作者: carylorrk (carylorrk)   2014-09-27 02:00:00
我也觉得光谈基本功能, ionic + angular 比 bootstrap+ JQuery 快,但是没有实际测试数据不敢提 XD
作者: mrbigmouth (大嘴先生)   2014-09-27 10:26:00
1.简单的说 HTML是很好的表达语言 但不是好的程式语言 你把程式语言跟HTML混在一起就会增加维护跟debug的障碍 这也是为什么会有MVC 让视图跟语言分离的原因2.原始一点的工具 简单的说就是Backbone去掉sync跟router的部份 也就是物件导向、继承、事件驱动的那一块那是纯脆由Javascript这语言的基本特性导出的设计模式是效能最高也最贴近语言本身的工具 而且绝不会有跨平台的问题所以我会建议在cordova上用Backbone然后router跟sync的部份自己重写覆蓋 Backbone是有提供接口让你盖的
作者: matrixki (New Season)   2014-09-28 00:26:00
knockoutJS
作者: carylorrk (carylorrk)   2014-09-30 13:46:00
angular 并没有把程式逻辑和表达混在一起吧?比较类似Django 那种 MTV 架构,也就是MVC 把大部分 C 处理掉template language 的目的是为了解决 HTML 原生不适合动态内容的显示的问题
作者: mrbigmouth (大嘴先生)   2014-09-30 14:01:00
我个人是觉得angular的template已经超出template language的定义了 你需要用attr的方式去处理if each指定controller跟scope等等 就是在用html的表达示语言去处理应该由程式语言去处理的东西
作者: carylorrk (carylorrk)   2014-09-30 17:45:00
指定 controller 是因为不像 django 是用设定档和档案结构作为判断吧。如果想要的话使用一致性的命名和organization 其实是差不多的。不过的确有太多特性会让新手滥用了。尽管官方也一直强调 MVC 和 testing XD就像是 PHP 虽然也有不错的 framework 和架构模式,但大多数新手写出来的都是混在一起的怪兽XD有点像是加法和减法吧,一个是提供很丰富的功能,但是写多了会去芜存菁。一个是提供 core,慢慢加上自己需要的功能。

Links booklink

Contact Us: admin [ a t ] ucptt.com