APP开发到底选择混合开发还是原生APP开发

摘要:

浅谈APP原生开发和APP混合开发

APP开发实打实算有12年了,应该可以算是国内较早一批接触APP开发的老鸟了吧。

由于我们公司是做定制化解决方案开发的,既然是非标产品开发,那么就要从各方面考虑,我们更注重客户的用户体验,所以一直都是以原生(iOS以Objective-C/Swift为主,Android以Java/Kotlin为主)语言开发,除非客户明确要求用混合,一般我们默认都会用原生语言去开发。

为何我今天要写本文来讨论一下呢,因为源于一个深圳的客户让我仿照“薪房通”APP来开发一套几乎一样的APP(有兴趣的可以去下载一下这个app看看),我们在给客户做完评估报完价后,过了几天我们同事跟进了一下项目,客户说“别人的app一套代码就可以生成2个app,你们竟然分开报”,当然我们的同事也认认真真的去向客户说明我们分开报是因为我们的是原生的语音开发,并且报价时明确写明Android是用Java、iOS是Swift的,可是客户不懂技术,也听不进我们同事的耐心解说。

所以我想把我个人的一些看法写出来与大家分享:

  • 原生开发与混合开发的定义
  1. 原生(Native)开发:APP内部的大多数页面都是由平台原(Objective-C/Swift/Java/Kotlin)生代码实现,如果可能会在无网络环境下运行可能要求支持离线缓存功能;
  2. 混合(Hybrid)开发:APP是基于某一种框架(如:uni-app/React/Ionic等)由一种开发语言(如:JavaScript)按照框架的规则编写的代码实现相关的功能,有编译器编译成不同的版本,再发布到不同的平台上;
  • 原生开发VS混合开发的优劣势
  • 原生开发的优势:APP兼容性高,界面适配好用户体验好,APP响应速度快,安全性高,可以与系统地层进行通讯或是可以直接调取地层相关资源,如IoT项目开发一般都是以原生开发为主。
  • 原生开发的劣势:开发周期略长一些,成本略高一些。
  • 混合开发的优势:开发周期相对来说略快,成本略低一些;
  • 混合开发的劣势:APP兼容性不够高,界面适配的用户体验没有原生的好,涉及IoT项目如果所选用的框架和系统底层通讯兼容不友好可能无法和底层通讯,对所选用的框架依赖程度较高。以及如果以后发现一些bug是框架自带的bug可能会无法修改。安全性相对于原生开发较低。
  • 该如何选择?

  1. 项目名类型:

看自己的项目类型以及长远规划,如果自己的产品不涉及硬件通讯以及未来也不涉及,仅仅是一些数据的交互与呈现,不涉及手机传感器通讯,对用户体验不是特别高可以选择用混合开发;

  1. 预算:

如果项目仅仅是验证商业模式是否可行,且预算有限那么可以选择混合模式开发,相反如果预算充足,对用户体验较高,考虑后期的版本不断迭代那么建议直接做原生开发。

原生开发和混合开发成本相差多少?

我们都知道app运行一般都会有一个Server端,和对应的APP端,APP端分Android+iOS,这样就有3个端;

举个列子,用原生开发:Server端:10元成本;原生Android端:10元成本;原生iOS端:10元成本;这样一个项目下来总成本30元;

用混合开发:Server端:10元成本,因为都需要和Server端通讯,Server端提供相同的API,相同的管理后台功能;混合APP开发(只要开发一次,打包成对应的版本):12-15元成本;

这样一个项目下来总成本在22-25元;

综上,所以如果您的APP不是连个版本都要开发的话只开发某单一版本如只开发Server+Android端,或只开发Server+iOS端,建议直接上原生;如果Android+iOS都要,且用户体验要求很高,预算又充足我会毫不犹豫的建议用原生开发,反之则可以考虑混合。

写在最后:

原生还是混合开发选对固然很重要,更重要的是选对合作伙伴,如果一家公司的负责人不靠谱,即使前面一切都选对了,后面的路也是崎岖坎坷的开始,反之选对人,可以说项目已经成功一半了。

 

版权归苏州智奇胜软件科技有限公司所有,如转载请注明出处,并附带本文链接。