APP的三种开发模式,及PWA的到来

三种开发模式指的是:原生APP,WEBAPP,和混合APP

先简单的对他们做个简绍,知道他们分别代表的是什么?

1. 原生APP:

基于本地(操作系统)运行的APP —-Native App;他是专门为特定的手机平台开发程序,他使用与手机系统相同的语言和技术模型,所以在性能和用户体验方面能够更好、更贴切。

拿实际开发来说,就是IOS和Android,对于同一APP他需要两个开发团队,分别针对两种手机系统进行开发,这就是原生APP。

 

原生APP开发的主要优点:

1)较好的性能和更好的交互体验

2)能够更好的调用手机底层,使用手机系统的所有硬件和软件 API,比如 摄像头、麦克风、通知推送等等,能充分发挥系统的潜力。

 

原生APP开发的主要缺点:

1)针对不同的手机平台需要不同的技术开发团队,这就造成了开发成本较高

2)原生APP开发使用底层操作系统语言,开发周期教长

3)版本更新,没次需要下载APP进行版本更新

2.Web App

基于浏览器运行的App —-WebApp;使用网页做的应用程序,必选在浏览器中使用。

Web App 主要使用网页技术,即 HTML、JavaScript 和 CSS。

 

Web App的主要优点:

1)不需要下载安装app,不需要更新app,每次打开都是最新的版本

2)开发较容易,主要使用网页技术

3)比较原生App不需要应用商店的审批

 

Web App的主要缺点:

1)浏览器提供的api有限,很多系统硬件api不能使用

2)浏览器渲染,性能比不上原生的APP,不适合要求较高的项目开发

3.混合 APP

基于上两种app发展出来的产物 —-Hybrid App;核心就是原生的壳,里面放了一层网页。

可以理解成,混合 App 里面隐藏了一个浏览器,用户看到的实际上是这个隐藏浏览器渲染出来的网页。

混合 App 的原生外壳称为"容器",内部隐藏的浏览器,通常使用系统提供的网页渲染控件(即 WebView 控件),也可以自己内置一个浏览器内核。结构上,混合 App 从上到下分成三层:HTML5 网页层、网页引擎层(本质上是一个隔离的浏览器实例)、容器层。

混合 App 里面的网页不同于普通网页,可以调用底层系统所有的 API。奥秘就在于外层容器提供了 API Bridge,充当底层 API 的中介,允许内部的网页调用底层。

所谓 API Bridge 就是容器在底层接口和网页之间,建立一座桥梁,让双方通信。容器一旦接到网页的请求,就根据请求去调用底层系统的 API,然后再返回结果给网页。API Bridge 往往以 JavaScript 语言提供,方便网页调用,这时又称为 JSbridge。

不同容器的 API Bridge 是不一样的。为某个容器写的网页,不能放在另一个容器使用,也无法在浏览器使用,除非网页脚本做了兼容处理。

混合 App开发的主要优点:

1)一套代码可跨平台使用,跨平台开发

2)可以集成网页和手机系统功能,灵活性高

混合开发的主要缺点:

1)由于存在网页引擎的中间层,所以性能比较欠缺,不仅不如原生 App,而且由于 WebView 不是全功能浏览器,可能比 Web App 都要慢一些

2)由于页面跨平台,就无法使用只有特定平台提供的功能,导致体验不如纯的原生 App

 

以上就是三种app开发模式的大致简绍

说道这里也简单的简绍一下最近在印度等地比较流行的PWA

PWA

"渐进式 Web App"(Progressive Web App,缩写 PWA)

PWA技术是谷歌团队为大力推广Web App而做出努力的结果。

Web App 需要打开浏览器才能使用,这意味着,用户必须记住如何导航到它,要么直接输入网址,要么翻找书签。这使得进入 Web App,远不如原生 App 方便,在谷歌看来一下的三点缺陷是制约Web App发展的重要原因:

1)手机首屏无法直接打开WebApp,需要打开浏览器才行

2)脱网状态,Web App不支持断网链接

3)缺乏手机状态栏和锁屏时的通知推送能力

 

从上面需要面对的问题,不难看出PWA的特点:

1)它可以把网站缓存在手机里面,供离线时使用

2)能在手机首屏生成图标,直接点击进入

3)有通知推送能力,也不带有浏览器的地址栏和状态栏

但任存在缺点:

1)PWA 需要浏览器访问一次网站,才能在首屏生成图标

2)目前 iOS 系统的支持还不够理想

所以还只是一项探索性质的技术,迄今为止缺乏足够的成功案例

 

 

 

 

 

 

 

 

 

 

 

 

 

 

猜你喜欢

转载自www.cnblogs.com/qlongbg/p/12188555.html
今日推荐