【Hybrid App】Hybrid App开发实战

【引言】近年来随着移动设备类型的变多,操作系统的变多,用户需求的增加,对于每个项目启动前,大家都会考虑到的成本,团队成员,技术成熟度,时间,项目需求等一堆的因素 。因此,开发App的方案已经变得越来越多了 。曾经有一段HTML5的小浪潮,无数的人参与或者看到过一个讨论: 原生开发还是混合开发,又或者是Web开发?到底最佳实践是怎样的,笔者认为只有实践过的人才会知道 。尤其是在这个充满各种变数的移动互联网时代 。
【摘要】笔者将从 App的开发现状出发,阐述 App的优缺点,同时对比 App与 App的各自特性,最后探讨一下 App的新思想方向 。
App现状分析 Web App
毫无疑问Web App就是成本最低,最快速地解决方案了 。尤其是近两年非常流行的响应式设计,Web App市场提供了非常好的实践场地 。最近典型的Web App最佳案例是Sun天气应用了,其细节处理让人赞不绝口 。
一般来说,拥有下面特点的就是一个Web App了:使用浏览器运行;纯Web前端架构,很多重要手机特性无法访问,例如联系人以及Push 之类的; Page App;销售渠道多限于浏览器 。
App
所谓的 App其实会有不同的分支 。而且会和应用有重合的地方 。下面就说三种不同的解决方案 。
方案一:使用、之类的中间件,以作为用户界面层,以作为基本逻辑,以及和中间件通讯,再由中间件访问底层API的方式,进行应用开发 。这种架构一般会非常依赖层的性能 。
方案二:使用Adobe Air、、或者是这种非官方语言的工具,打包成原生应用的方式开发 。为什么笔者会将它们定义 为 App,主要是它们并没有很单纯地使用原生提供的语言进行开发,而是通过对开发者提供友好的开发工具,并折中地把这种开发语言转换成原生语言,最终打包出 整个应用,所以也属于混合应用范畴 。
方案三:在开发原生应用的基础上,嵌入但是整体的架构使用原生应用提供,一般这样的开发由开发人员和Web前端开发人员 组成 。开发人员会写好基本的架构以及API让Web开发人员开发界面以及大部分的渲染 。保证到交互设计,以及开发都有一个比较折中的效果出 来,优化得好也会有很棒的效果 。(当年 就使用该方案)
因此,App有以下的特性:
开发时可能不采用或者大部分不采用原生语言,但是却有所有原生应用的特性;架构方案会和原生有出入,基本由工具而定;具有跨平台特性;一般开发相对原生开发的方式要简单 。App
App毫无疑问是最可靠的方案 。但是学习成本,人才成本,开发效率以及照顾不同平台的特性去考虑,都成为了开发人员心目中的一道坎 。至于说这道坎是不可逾 越的还是一道让你提高的坎,笔者觉得完全取决于你自己 。基于种种因素的考虑,估计很多人就会选择折中的方案到了 App的开发行列当中,包括笔者自己也是这样过来的 。
下面更多的内容都将围绕 App开发展开讨论 。
App在开发当中的优点和缺点
在 App的开发过程中,几种不同的方案笔者都有经历过 。当然也经历到了 App的开发阶段 。在如此纠结复杂的过程中给了笔者不少的经验,下面笔者也会就自身的经验和大家分享这些方案当中的优缺点 。对于初入行的朋友,笔者是从 Web前端入行的,毕竟门槛较低,而且能够快速地培养自己的信心以及对代码的感觉 。深入后就开始接触到移动开发这块了 。所以会先从 App的第一种方案说起吧 。
方案一(Web架构为重)
优点:
全Web开发,一定程度上有利于Web前端技术人员快速地构建页面样式;有利于在不同的平台上面展示同一个交互层;便于调试,开发的时候可以通过浏览器的方式进行调试,工具丰富 。