1 目的
本次评比的目标是以移动Web App开发为基础的JS框架,会有意的排除部分不适用于移动Web App开发的JS框架,如 jQuery、ExtJS等。希望通过这次评比结果,能找到最合适你移动Web App应用开发的JS框架。
2 方法
由于JS框架在功能、特性和应用领域不同,所以,我将现在的主流JS框架分成四个大类:
Mobilie Javascript Library。移动JS框架,在Desktop Javascript开发中具有代表性的JS框架有jQuery、ExtJS等,而在Mobile Javascript开发中比较成熟的有Sencha Touch、jQuery Mobile等;
Javascript Template Engine。JS模版引擎,Javascript 在生成各种页面内容时如果能结合一些模板技术,可以让逻辑和数据之间更加清晰。Sencha Touch自带XTemplate模版引擎,完美的应用在组件渲染中;
Javascript MVC Framework。JS MVC框架,如Backbone、Ember等。在ExtJS 4的应用架构中就设计有MVC模式,同时Sencha Touch很好的继承了ExtJS在MVC方面的优秀架构思想;
Javascript Module Loader。JS模块化加载,在CommonJS提出AMD规范时,就得到了大多数开发者的积极响应,同时诞生了一批符合 AMD规范的优秀的框架,如RequireJS,现在主流的JS框架都陆续开始支持AMD规范 ,如Dojo等。
本篇文章主要对Mobilie Javascript Library进行对比,针对移动JS框架中的两类特性:
支持平台与兼容性
开发与学习
3.3 分析
Sencha Touch
优点
• 用户体验最接近Native App, 具有整体的UI组件、布局解决方案;
• 统一的编程代码结构和要求,良好组织的代码易于维护;
• 继承ExtJS 4的应用程序MVC架构;
• 完善的API文档,示例;活跃的社区,网上有大量的文档书籍帮助学习;
缺点
• 兼容性差,仅支持webkit内核的浏览器;
• 框架比较重量级,学习成本比较高;
• 商业化使用有版权问题;
jQuery Mobile
优点
• 跨浏览器兼容性最好,几乎兼容所有的平台和浏览器;
• 入门简单,语法简洁,编码灵活,一些简单的应用直接用HTML既可实现,无需Javascript;
• 开源插件与第三方扩展网上资源丰富;
• 完善的API文档,示例;活跃的社区,网上有大量的文档书籍帮助学习;
缺点
• jQuery Mobile对代码没有特定的要求,后期维护难度较大;
Zepto
优点
• 学习成本低,Zepto保持了与jQuery几乎一样的功能,使用gzip压缩只有5-10k;
缺点
• Zepto不支持Windows Phone下的IE ;