前端开发者的跨平台移动应用开发策略及工具
C7210 发表于 2011-11-11 22:08
原生客户端应用(Native App)与混合型客户端应用(Hybrid App)
所谓混合型应用,就是在原生客户端中嵌入基于前端技术构建的页面视图;这种方式其实已经很常见了。本质上讲,页面视图就是HTML页面,但它不需要另外调用移动设备中的浏览器进行查看和操作。
混合型应用的典型实例其实是我们非常熟悉的:iPhone、iPad等iOS设备的本地App Store或iTunes,以及Twitter和Facebook的客户端等。
在混合型应用中,原生的部分其实只相当于一个架子或容器,应用的核心是基于HTML、CSS、JavaScrit或前端框架打造的页面视图。页面的静态文件资源可以存储在服务器端,动态数据通过Ajax的方式在页面视图与移动应用中传输。
所以,虽然从技术上讲,混合型应用是设备本地化的,但它们显然拥有两种不同的运作方式。下面是两个很常见的问题,在需求评估时经常会遇到。
Q:如果我有技术及资源去开发一套纯粹的原生客户端应用,那么有什么必要使用HTML等Web前端开发方式去打造混合型应用呢?
A:混合性应用的解决方案最主要的目的是解决跨平台的问题;对于每个平台,只需开发和维护“容器”性质的本地应用部分,而实际的内容功能则可以统一由一套页面视图来担当。
Q:那么干脆只做一套Web App好了,为什么还要使用原生客户端作为容器呢?
A:这个问题的答案包括两方面:
- 商业需求:对于很多客户案例来说,将应用通过App Store或Market推广出去,是一种商业方面的需求。比如,客户也许会希望自己的产品是付费应用,或者开发前的用户研究表明他们的用户多数是通过App Store安装本地客户端的。
- 硬件功能需求:混合型应用的一个优势在于,虽然本地化的框架只是作为页面视图的容器,但它毕竟是本地化的,在需要的时候,仍可提供访问硬件设备及相关功能的权限;这是单一的Web App所无法做到的。技术方面,可以通过JavaScript经由本地应用框架,与硬件功能进行通讯,例如控制摄像头等。
我确信,通过这种需求梳理,多数人会倾向于混合型应用的方式。其实这也正是本文接下来的主线——我们一起来看看有哪些前端开发工具是可以帮助我们进行混合型应用的开发的。我将它们分为四大类,接下来会分别进行介绍,并对它们的适用情况进行简单的对比。
译文代表原作者观点。欢迎发表评论,或到译者微博进一步交流探讨。
本站原创编译文章。如需转载,请注明:本文来自Be For Web
超合用的,tks!
amy 发表于 2012-06-13 15:35
固定链接
文章最后侧重JS开框架写了不少,挺实用的。
博主翻译的不错,感觉语言很到位。
PS:你那些joomla文档还会更新吗?现在1.7、2.5貌似和1.5有不少差别。
cougar 发表于 2012-02-09 12:30
固定链接
很不错!内容很好啊,这一段公司准备开发一个移动应用项目,借鉴了!哥们儿!
神秘唯一 发表于 2011-11-14 21:39
固定链接