APP原生开发与混合开发是啥意思

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了APP原生开发与混合开发是啥意思相关的知识,希望对你有一定的参考价值。

想开发一个APP,那个人问我想开发原生的还是混合的,但是我不知道要那样的好啊,也没回复他,大家知道吗?什么是原生开发?什么是混合开发?

1.原生开发(Native App开发):像盖房子一样,先打地基然后浇地梁、房屋结构、一砖一瓦、钢筋水泥、电路走向等,原生APP同理:通过代码从每个页面、每个功能、每个效果、每个逻辑、每个步骤全部用代码写出来,一层层,一段段全用代码写出来

此种APP的数据都保存在本地,APP能及时调取,所以相应速度及流畅性有保障

2.混合开发(HTML5开发):这个就相当于一种框架开发,说白了就是网页;该模式通常由“HTML5云网站+APP应用客户端”两部份构成,APP应用客户端只需安装应用的框架部份,而应用的数据则是每次打开APP的时候,去云端取数据呈现给手机用户。

混合APP还有一种是套壳APP,套壳APP就是用H5的网页打包成APP,虽然是APP能安装到手机上,但是每个界面,全部是网页。此种APP数据都保存在云端,用户每次访问都需要从云端调取全部内容,这样就容易导致反应慢,每打开一个网页或点一个按钮都需要等半天。

混合开发的优缺点:

优点是:

1、开发效率高,节约时间同一套代码Android和IOS基本都可用

2、更新和部署比较方便,不需要每次升级都要上传到App Store进行审核了,只需要在服务器端升级就可以

3、代码维护方便、版本更新快,降低产品成本

缺点是:

1、由于不能直接操控硬件有些方面性能不是很好

2、另外有技术比较新版本的兼容性比较差,还有就是即懂原生开发又懂H5开发的高端人才难找。

混合App开发是未来的趋势,目前混合开发中使用的技术也很多,主要的混合开发技术有jQuery Mobile、React Native、Cordova、APICloud、AppCan等。虽然混合开发能够提高效率节省成本,但也有很多的限制,除了硬件、缓存等的限制,各大平台之间的兼容性也不足。有的也比较消耗资源。

参考技术A

    原生开发

    原生APP开发模式针对IOS、Android等不同的手机操作系统要采用不同的语言和框架进行开发,是专门针对不同移动设备而开发有针对性的版本,现在我们接触的基本都是IOS、Android两个版本,都是被直接安装到设备里,APP应用所有的UI元素、数据内容、逻辑框架均安装在手机终端上,需要在Android、IOS等移动平台上利用官方提供的开发语言、开发类库、开发工具进行App开发。比如android是利用java、eclipse、Android studio,IOS是利用Objective-C 和Xcode进行开发。原生应用由于利用的是官方提供的语言和工具并且能够直接操控硬件设备(比如多点触控、NFC、读取短信等),在应用性能上和交互体验上应该是最好的,但是原生应用的可移植性比较差。

    优势:

    APP响应速度快:大多数据都在本地所以省去缓冲加载调取数据的时间。

    APP兼容性高:每个地方都是精心设计的,代码也是最新的,像最坚固的房子,最合理的抗震防风性,所以兼容性会更高不会闪退。

    APP流畅性好:每个代码都是最新的,也是最合理的,所以不会卡顿。

    APP安全性高:代码是最新的,每个地方是最新的设计,能防止病毒和漏洞。

    APP功能可以自定:像盖房子一样,从0开始,前期设计好房子的构图、尺寸、大小,那个地方想怎么盖,那个地方想怎么装修,都可以完美实现。

    劣势:

    开发时间长:自己盖房子,每个步骤都要考虑、每个地方都要设计,所以这样会耽误不少时间,短二三十天,长三五个月。

    费用相对较高:因为每个地方、每个步骤都是原创的,经过设计师设计的。 就像盖房子的图纸等,每个地方都是根据自己所想的打造的,所以相对价格会贵一些。

    适合领域:

    适用于游戏、电子杂志、管理应用、物联网等无需经常更新程序框架的APP应用企业

    混合开发

    混合开发是结合原生和H5开发的技术,取长补短的一种开发模式,原生代码部分利用WebView插件或者其它的框架为H5提供了一个容器,程序主要的业务实现、界面展示是利用H5相关的Web技术进行实现的。比如现在的京东、淘宝、今日头条等都是利用的混合开发模式。

    混合开发相当于一种框架开发,说白了就是网页,该模式通常由“HTML5云网站+APP应用客户端”两部份构成,APP应用客户端只需安装应用的框架部份,而应用的数据则是每次打开APP的时候,去云端取数据呈现给手机用户,此种APP数据都保存在云端,用户每次访问都需要从云端调取全部内容,这样就容易导致反应慢,每打开一个网页或点一个按钮都需要等半天。

    优势:

    时间短:基本都是模版拿来直接套上或打包成APP,会节省很大一部分时间。

    价格便宜:代码不需要重新写,界面不用重新设计,都是固定的,可替换的地方很少,自己随便都能换上,所以价格相对便宜。

    可迁移:因为是混合开发,更容易迁移

    劣势:

    功能/界面无法自定:所有内容都是固定死的,所以想换一个界面,想增加一个功能,都是不可以的。

    加载缓慢/网络要求高:混合APP数据需要全部从服务器调取,每个页面都需要重新下载,所以打开慢,网络占用高,缓冲时间长,容易让用户反感。

    安全性比较低:代码都是以前的老代码,不能很好兼容最新手机系统,且安全性较低,网络发展这么快,病毒这么多,如果不实时更新,定期检查,容易产生漏洞,造成直接经济损失。

    适合领域:

    适用于媒体网站/内容交付平台等企业,美团、淘宝等这样的平台

参考技术B 一、原生开发
原生开发(Native App开发),是在Android、IOS等移动平台上利用官方提供的开发语言、开发类库、开发工具进行App开发。比如Android是利用Java、Eclipse、Android studio;IOS是利用Objective-C 和Xcode进行开发。
通俗点来讲,原生开发就像盖房子一样,先打地基然后浇地梁、房屋结构、一砖一瓦、钢筋水泥、电路走向等,都是经过精心的设计。原生APP也一样:通过代码从每个页面、每个功能、每个效果、每个逻辑、每个步骤全部用代码写出来,一层层,一段段全用代码写出来。
二、混合开发
混合开发(Hybrid App开发),是指在开发一款App产品的时候,为了提高效率、节省成本而利用原生与H5的开发技术的混合应用。通俗点来说,这就是网页的模式,通常由“HTML5云网站+APP应用客户端”两部份构成。
混合开发是一种取长补短的开发模式,原生代码部分利用Web View插件或者其它框架为H5提供容器,程序主要的业务实现、界面展示都是利用与H5相关的Web技术进行实现的。
参考技术C 原生开发:
我们先来举一个例子:你使用过微软PowerPoint或者Word吧?这些可直接在你电脑上运行或者在智能手机上运行,简单来说,原生应用是特别为某种操作系统开发的,比如iOS、Android、黑莓等等,它们是在各自的移动设备上运行的。

优势:安装包较小、性能高、运行速度快,还有一个优势是,面对公司快速增长时候,技术人员的压力不会那么大,不会对web服务器访问压力瞬间增加导致司机情况,程序猿只需要做一下数据库的主从分离、读写分离、数据库的负载均衡就ok了。
劣势:从成本来看,原生app开发需要安卓工程师及ios工程师,开发成本相对高,开发周期比较长,当然还会有BUG,开发的不好的话,APP容易出现闪退的情况,另外支持设备有限(哪个系统就只能在哪个平台专属设备上用)

混合开发:
混合应用大家都知道是原生应用和Web应用的结合体,采用了原生应用的一部分、Web应用的一部分,所以必须在部分在设备上运行、部分在Web上运行。
不过混合应用中比例很自由,比如Web 占90%,原生占10%;或者各占50%。

优势:这个取决于APP是做什么啦,如果只是简单的资讯类或者电商类的,可选择混合开发,另外还可以兼容多个平台,更新速度快,可节约跨平台成本。
劣势:混合APP看开发的安装包比原生的APP包大一些,运行时间越长就容易会出现卡顿的情况,当然这个跟开发有木有很好的垃圾和缓存清理机制有关。

其实每一种类型都有着自己的优势与缺点,到底哪种更值得考量,大家还需根据自己的需求选择最适合自己的开发模式。
参考技术D 原生APP开发与混合APP开发优劣势对比?
湖南艾尼科技 08-03 17:08 大
APP前期开发是选择直接使用原生开发比较好,还是使用混合开发模式更合适呢?【湖南艾尼科技】认为,使用后一种方式到后期可能还是需要重构,与其这样还不如前期直接使用原生的开发。

一、混合APP开发的优劣势

玩了这游戏,我三天没开电脑
广告
图片广告详情
优势:这个取决于APP是做什么啦,如果只是简单的资讯类或者电商类的,可选择混合开发,另外还可以兼容多个平台,更新速度快,可节约跨平台成本。

劣势:混合APP看开发的安装包比原生的APP包大一些,运行时间越长就容易会出现卡顿的情况,当然这个跟开发有木有很好的垃圾和缓存清理机制有关。

二、原生APP开发的优劣势

优势:安装包较小、性能高、运行速度快,还有一个优势是,面对公司快速增长时候,技术人员的压力不会那么大,不会对web服务器访问压力瞬间增加导致司机情况,程序猿只需要做一下数据库的主从分离、读写分离、数据库的负载均衡就ok了。

劣势:从成本来看,原生APP开发需要安卓工程师及iOS工程师,开发成本相对高,开发周期比较长,当然还会有BUG,开发的不好的话,APP容易出现闪退的情况,另外支持设备有限(哪个系统就只能在哪个平台专属设备上用)

其实每一种类型都有着自己的优势与缺点,到底哪种更值得考量,大家还需根据自己的需求选择最适合自己的开发模式。

以上是关于APP原生开发与混合开发是啥意思的主要内容,如果未能解决你的问题,请参考以下文章

混合式开发

iOS与Flutter混合开发

混合开发框架教你如何使用Flutter和原生App混合开发

SwiftUI-混合开发

vue 与原生app的对接交互(混合开发)

混合app开发,h5页面调用ios原生APP的接口