app混合设计方案

互联网现在已经发展到一个沸腾的阶段了,几乎所有的创业公司都会借助互联网的力量来发展,所以必然会产生各种互联网产品,比如移动app,似乎这已经成为了必然的结果,但是众所周知开发一款app必然要经过设计、开发和测试这多个阶段,还要有不同的开发团队负责不同终端开发,这样导致了开发周期长,并且需要分别配备测试人员,还有后面版本管理等等诸多问题,这种情况下企业只能靠增加人来保证产品的质量和进度,对于企业来讲尤其是互联网企业,人力是最大的成本,不合理的设计方案造成了企业员工的增加,以至于研发成本成倍的增加,很多创业公司的结局就是钱花光了产品没做出来,或者是做出来了还没有进入大众的视野公司就已经坚持不住了。我们公司现在也面临这样的问题,所以我斗胆想讨论下如何不失性能又节约成本的app设计。


首先说一下现在几种主流的app设计方案:

一.原生app:

优点:1.运行速度快、2.api丰富

缺点:1.开发周期长

   2.版本迭代需要用户更新app,用户更新会受到各种情况的影响,造成用户的流失

   3.版本迭代受应用商城审核的影响,通常android需要1~5天的审核周期,ios需要1周以上的时间

二.仿原生h5app:

优点:1.h5应用还在发展中,大部分数据展示方面的功能已经和原生app无异,使用特定的开发工具可以让一套代码在多个平台上使用,如:HBuilder等

   2.由于h5框架的快速发展,选择了合适的前端框架可以增加开发速度

缺点:1.虽然能打包成多个平台版本,但是版本迭代除了能减少测试和开发的成本外,用户依然要更新app

   2.虽然h5框架的发展迅速,但是依然不能完全覆盖原生api,导致开发过程中有些功能受限,如果选择了不适合的框架结果将更糟糕

   3.有些功能与原生app还是有差距的

三.网页嵌入式app:

优点:1.可以在现有资源的基础上开发出基础功能的app,具体的业务功能直接嵌入网页,这样的好处是手机版网页能充分发挥作用,真正实现了跨平台

   2.因为是嵌入网页,所以能大幅减少开发时间,从而大幅减少开发需要的人数

   3.由于各平台的展示效果差异较小,所以大幅减少测试的时间

   4.解决了版本迭代的问题,业务功能的更新不需要用户更新app

   5.嵌入式app较一般app要小很多

   6.由于嵌入了网页,那么也就省去了业务功能的服务端开发

缺点:1.嵌入网页的缺点也是很多的,首先性能上面的差距,比如android嵌入网页必然会使用到内置浏览器,那么久会直接受到系统版本等诸多因素的影响,直接的结果就   是性能在有些机器上非常差,虽然可以继承第三方浏览器内核,但是这无疑增大了app体积,并且第三方浏览器也只是解决一部分问题而已。不过相信这方面问题会   逐渐变得不明显了,并且有些方面的性能问题可以用良好的设计方案解决,我们也能找出很多关于性能优化的资料

   2.虽然大部分功能可以做到完全跨平台,但是还是需要为少部分功能做平台的适配

   3.在设计上需要为多个平台考虑,可能会使用一些折中的办法,失去了原有的特色


知道了上述各种app的特点,那么接下来就要根据公司的情况来具体分析了

1.公司人员配置:主要是公司哪种人才偏多,比如公司都是做原生app的高手,那么快速的开发出一款原生app也是很可能的

2.预估的上线时间:互联网的竞争异常激烈,早一天上线就多了一份胜算,所以要看公司的计划

3.具体的业务设计:其实我写这篇文章的目的主要也想说一下混合app的开发,我更倾向于原生+网页嵌入的方式,比如有些业务不会经常变动的可以考虑使用成熟的原生app技术,有些经常会变动的或者是一些辅助功能可以使用嵌入网页的方式,市场上这类应用也有很多可以参考的,比如淘宝(天猫其实就是完全嵌入的网页)、腾讯新闻、网易新闻、微信(各种公众号、各种文章)

4.公司目前产品现状:

案例1 公司现在已经有了手机网页,那我们就可以考虑把网页嵌入到客户端中,有些访问频繁的页面在用原生的方式重做

案例2 公司什么都没有,那么也可以考虑使用仿原生h5的方式做app,手机网页可以省略直接提示用户下载app

大家可能会问,为什么不考虑使用仿原生h5+嵌入网页的方式呢,其实我是考虑嵌入网页本身就是有风险的,仿原生h5方式也是有风险的,那么风险*风险是不好控制的


最后说一下,本人之前是做android原生app开发的,也有过不到两年的服务端开发经验,我觉得人是得进步的,程序员更要如此,在此欢迎大家批评指正。


   

你可能感兴趣的:(app混合设计方案)