APP创业项目-APP开发技术选型:Hybird还是Native

喜欢这篇文章吗?分享给你的朋友吧~ 

开发一个APP有很多种可行方案:原生开发(Native)、混合式开发(Hybird)、PhoneGap生成(H5)、React Native、Python+kivy、Lua+Wax等等。本文挑选前三种常见的说说。

原生开发

应用能够发挥最佳性能,是高性能需求的应用的唯一选择,例如游戏开发、复杂应用。iOS用Object-C或Swfit、Android用Java、Win10用.NET,那么我们至少需要三个成熟的程序员。程序员各干各的事情,代码除了思想外都不能共用,相同的业务逻辑需要写三遍。应用发布新版本需要等待三个客户端同时开发测试完成才可。

PhoneGap生成

克服原生开发的平台鸿沟(Gap),几乎不涉及原生代码,使用H5编写应用的所有功能。PhoneGap为H5提供了调用系统的硬件资源的能力,并且提供了打包APP的功能,开发人员无需掌握原生代码。H5部分借助Jquery Mobile、React、Ratchet、Bootstrap、AngularJS等前端框架实现单页应用,APP仅仅是一个筐子,充当着浏览器的作用。一套程序既可以用作APP、也可以用作触屏版网站、还可以嵌入到微信公众平台,真是何乐而不为。但H5的性能和兼容性问题,需要一个出色的前端工程师才能驾驭。单页应用突出的问题在于页面之间的跳转,jQuery Mobile采用Div(Page)的显示与隐藏来模拟页面的跳转,虽然也能模拟转场动画效果、侧滑菜单等一系列类似原生的效果,但是视觉体验明显迟钝。如果界面非常复杂,例如电商网站的商品列表页,需要筛选品牌、类别、价格区间等等,那H5就显得捉襟见肘了。不建议创业产品使用单页应用开发,可以考虑传统网站多页面链接跳转的方式,即使这种方式没有单页应用的界面转换效果,但是更加可用。那界面之间的跳转空白岂不是很难看?这就是混合式的价值了。

混合式开发

采用原生开发与H5相结合,克服H5单页应用的体验限制,减少原生代码量。H5部分无需升级版本可以动态更新。借助Cordova实现H5与原生系统之间的通信。那么混合式怎么解决H5的界面跳转问题呢?混合式即要H5前端程序员,又要iOS、Android和Win10开发人员,并没有减少开发人员的数量,为何不直接原生开发?什么地方用H5,什么地方用原生开发呢?

1)如何克服单页应用的界面跳转问题?

每一个功能界面采用独立WebView加载独立的H5页面,页面之间的跳转调起原生切换View。例如文章列表,点击一篇文章,调起一个新的原生View,在新的原生View中加载文章阅读页面,返回采用原生的View切换。避免在同一个WebView中操作界面跳转。

2)混合式开发仍然需要原生开发人员,为何不直接原生开发?

有实力原生开发的团队,一般不需要混合式开发。但是有时候混合式开发需要的原生开发人员并不要求特别精通,且工作量大大减小,甚至可以由一个人负责三个客户端的开发,只需要掌握各个客户端比较基础的开发经验。另外,当某个功能着急上线,且可预见的更改较多时,可采用H5先做,待日后完善定型再由原生开发取代。

3)哪些用原生开发、哪些用H5?

需采用原生开发:用户交互特别多的界面;用户发布内容的界面,如发布文章、商品等;涉及到摄像头、麦克风等硬件设备的时候,如语音识别;

需要H5开发:用户很少进入的界面,例如用户反馈意见;互动很少的界面,如查看用户个人主页;该界面功能尚未定型,可能在近期改动;适合用Html表示的内容,如查看一篇文章。

4)有哪些注意点?

为了让H5页面看起来更像原生界面,我们需要尽可能在界面设计和用户体验上模仿原生界面,可采用Ratchet框架为基础进行页面元素构建。

如果将H5和JS放到本地,加载速度会显著提升,但是由于本地文件没有域,因此与域有关的问题会发生,例如网页中加载的图片来自于CDN服务器,CDN服务器限制了只能被某个域加载,即图片防盗链,将会导致图片无法显示。使用H5的本地缓存结合Manifest进行更新是一个不错的替代方案。

由原生实现下拉刷新,由H5实现上拉加载更多。

H5在不同的手机操作系统会出现兼容性问题,需要进行大量真机测试。

 

总结

如果团队实力足够,就一直原生开发吧,但也有的大型公司,也采用混合式开发,如“去哪儿”,其中大量的功能使用H5,但逐步被原生所取代。对于刚起步的创业团队,建议采用混合式开发,尽可能摸索出一条适合自己的混合式开发模式,大部分功能能够用H5尽量用H5,未来依据用户交互的频率逐步用原生开发进行替换。

声明:本文谢绝转载。

版权声明:本博客所有内容,文尾声明谢绝转载的文章禁止转载,未声明谢绝转载的文章,遵循 CC BY-NC-ND 协议,分享-署名-非商业-禁止演绎。
原文链接:APP创业项目-APP开发技术选型:Hybird还是Native
来源站点:ComingX

0 Responses to “APP创业项目-APP开发技术选型:Hybird还是Native”


  • No Comments

Leave a Reply

使用新浪微博登陆