[混合开发]HybridApp分析!!!

一般来说,拥有下面特点的就是一个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前端技术人员快速地构建页面样式; 有利于在不同的平台上面展示同一个交互层; 便于调试,开发的时候可以通过浏览器的方式进行调试,工具丰富 。
缺点:
虽然说你可以专注在界面以及交互开发上了,但是这页会成为一个缺点,比如说要仿造一个iOS的默认设置界面,就需要大量的html以及css代码了,而且效果不一定和上面的界面一样好; 正因为这是跨平台的开发,所以还是这句话:兼容是前端的痛 。了解过在机器上面的Web开发就知道这个痛了 。比如前些年在设备上面写圆角,-:10px,在的设备上面会出现毛边 。便于调试其实是在Web界面层的 。但是实际上做 App开发的时候,你会遇到需求,进入手机的底层请求,做某些处理 。比如说如果该应用有Push 服务的话,你就需要到底层,获取Push 发生时的数据,以及做相应的交互处理 。当然类似这类框架,已经有很好的插件机制去帮助你解决类似的问题,当然还有Game 之类的插件,具体的话可以到去关注官方的账户,资源非常丰富;