标签:新版本 roi 概念 厂商 iphone 语法 安卓 后退 pwa
按照开发技术,App 可以分成三大类。
专门为特定手机平台开发的应用程序 ,无法在其他平台运行。一个手机软件如果要同时支持苹果手机和安卓手机,就需要为它们各写一个原生 App。
优点:
缺点:
Web App 是使用网页做的应用程序,必须在浏览器中使用。主要使用网页技术,即 HTML、JavaScript 和 CSS。
优点:
缺点:
Chrome 团队开发了新技术"渐进式 Web App"(Progressive Web App,缩写 PWA)。它可以把网站缓存在手机里面,供离线时使用,还能在手机首屏生成图标,直接点击进入,并且有通知推送能力,也不带有浏览器的地址栏和状态栏,跟原生 App 的使用体验非常接近。
但是,PWA 需要浏览器访问一次网站,才能在首屏生成图标,并且目前 iOS 系统的支持还不够理想,所以还只是一项探索性质的技术,迄今为止缺乏足够的成功案例。
原生 App 与 Web App 的结合。它的壳是原生 App,但是里面放的是网页。 可以理解成,混合 App 里面隐藏了一个浏览器,用户看到的实际上是这个隐藏浏览器渲染出来的网页。
混合 App 的原生外壳称为"容器",内部隐藏的浏览器,通常使用系统提供的网页渲染控件(即 WebView 控件),也可以自己内置一个浏览器内核。
结构上,混合 App 从上到下分成三层:HTML5 网页层、网页引擎层(本质上是一个隔离的浏览器实例)、容器层。
可以调用底层系统所有的 API,容器层提供了API Bridge,充当底层 API 的中介,允许内部的网页调用底层。
优点:
缺点:
可以看作是针对特定容器的 H5 开发。微信本身是一个容器,开放自己的接口(JSbridge),外部开发者使用规定的语法,编写页面,容器可以动态加载这些页面。
(1)原生 App 技术栈
安卓平台的 Java 技术栈(Android Studio),iOS 平台的 Object-C 技术栈或 Swift 技术栈(Xcode)。
(2)混合 App 技术栈
PhoneGap、Cordova、Ionic 等框架
(3)跨平台 App 技术栈
React Native、Xamarin、Flutter
(1)原生技术栈的技能和体验最好,对于复杂的大型 App,如果条件允许,应该采用这种方式开发。
(2)混合技术栈的成本低,灵活性好,对性能要求不高的简单 App,尤其是纯展示性的页面,可以采用这种方式开发。
(3)跨平台技术栈适用于,存在外部或内部条件的限制,只有一个团队开发跨平台 App 的情况。
阮一峰大神个人网页:http://www.ruanyifeng.com/blog/2019/12/hybrid-app-concepts.html
标签:新版本 roi 概念 厂商 iphone 语法 安卓 后退 pwa
原文地址:https://www.cnblogs.com/Mijiujs/p/12120414.html