什么是Native、WebApp、Hybrid、ReactNative和Weex?

Native,WebApp,Hybrid,ReactNative(以下简称RN)与Weex,late synchronization applet与PWA的异同。

App常用开发模式简介

这里的App是应用,不是脑图,是手机app开发中常用的。

NativeApp

传统的原生App开发模式有iOS和aOS两个系统,需要用自己的语言开发自己的App。

优点:性能和体验是最好的缺点:开发和发布成本是个栗子。网易管家App(Tab1,Tab2)应用技术:Swift,OC,Java。

WebApp

移动终端的网站通常被称为H5应用。说白了就是运行在移动终端浏览器上的网站应用。一般指SPA(SinglePageApplication)模式开发的网站,对应MPA(Multi-pageApplication)。

优点:开发和发布成本最低缺点:性能和体验不能说最差,但也受限于浏览器的处理能力。多次下载也会占用用户一定的流量。举个栗子:网易管家APP(Tab3)应用技术:ReactJS、RegularJS、VueJS等等。

HybridApp

混合模式移动应用,一种介于WebApp和NativeApp之间的app开发技术,既有NativeApp交互体验好的优点,又有WebApp跨平台开发的优点(百度百科解释)。

主要原理是Native通过JSBridge等方法提供统一的API,然后用Html+Css实现接口。JS写逻辑,调用API,最终页面显示在Webview中。在这种模式下,Android和iOS的API一般是一致的,所以HybridApp具有跨平台的效果。

优点:开发发布方便,效率介于NativeApp和WebApp之间。缺点:学习范围广,需要原生合作。举个栗子:FanReact、我爱我家App、东航App、郭芙基金-郭芙钱包App应用技术:PhoneGap、AppCan、Wex5、APICloud等

ReactNativeApp

脸书发现HybridApp有很多缺陷和不足,于是推出了新的开源App开发方案RN。利用jsX语言编写native接口,JS通过JSBridge调用native API渲染UI交互通信。

优点:效率体验接近NativeApp,发布开发成本低于NativeApp。缺点:学习有一定成本,文档少,难免举个栗子:脸书、Youtube、Discord、QQ、百度等等。

WeexApp

在RN的成功案例中,阿里巴巴的开发团队重新设计了一套开发模式,站在巨人的肩膀上,有淘宝团队项目作为滋养,引起广泛关注。2016年4月正式开放,v2.0版本正式支持Vue.js,堪比RN。

优点:单页面开发模式效率极高,热更新合约量小,更具跨平台性。缺点:刚起步,缺少证件;社区没有RN活跃,功能还不完善。暂时不适合完全用Weex开发一个App:淘宝、天猫、阿里云、优酷、闲鱼、饿了么等。

继续分析

NativeApp

NativeApp是基于iOS、Android、WP等智能手机本地操作系统,用原生程序编写运行的第三方应用,也叫本地App。常用的开发语言有Java、C++和Objective-C。

自iOS和Android两大移动操作系统发布以来,互联网界出现了一个新名词:App,意思是运行在智能移动终端设备上的第三方应用)。

由于NativeApp位于平台层之上,其向下访问的能力和兼容性会更好,可以支持在线或离线、消息推送或本地资源访问、摄像头拨号功能的检索。但是由于设备的碎片化,App的开发成本要高很多,维护多个版本的更新升级比较麻烦,对用户的安装门槛也比较高。但更乐观的是,AppStore培养了更好的用户付费模式,所以在苹果的生态系统中,开发者的盈利模式是一个清晰的状态,其他市场也在向这条路靠拢。

优势

1.与其他模式相比,它提供了最好的用户体验,最好的用户界面和最华丽的交互。2.它为不同的平台提供了不同的体验。3.可以节省带宽成本,打开速度更快。4.它具有最强大的功能,尤其是在与系统交互时。几乎所有功能都能实现。

处于不利地位的

1,门槛高,原生开发人才匮乏,至少前端和后端都比不上,开发环境昂贵,无法跨平台,开发成本比较高,每个系统都是独立开发,发布成本高,需要商店或市场审核,导致更新慢,维护多个版本和系统的成本比较高,必须兼容。5.应用市场逐渐饱和,如何抓住用户的时间需要大量的时间和金钱。

WebApp

提到WebApp,很多人会想到WAP,或者有人认为WAP就是WebApp,其实不是。

WebApp和WAP最直接的区别就是功能层面。WAP更注重利用web技术在移动端展示,包括文字、媒体文件等。WebApp更注重“功能”,是通过web技术实现的App。一般来说,WebApp是运行在网络和标准浏览器上,基于web技术开发和实现特定功能的应用程序。

大多数响应技术都是为了实现WebApp可以适应多种客户端而设计的。

网站一般分为两种,MPA(多页应用)和SPA(单页应用)。WebApp一般指以SPA形式开发的网站。这更像是一个App。

优势

1,跨平台,易于调试;2、无需安装,不占用手机内存,更新速度最快;3、无多版本问题,维护成本低;4、临时入口,可以随意嵌入。

处于不利地位的

1,取决于网络,第一次访问页面比较慢,很耗流量。2,受限于手机和浏览器的性能,用户体验相比其他模式是最差的。3,受限于功能,大量移动功能无法实现。4、门户强烈依赖第三方浏览器且只能以URL地址的形式存在,导致用户留存率低(优点或缺点)

HybirdApp

混合开发,也就是半原生半Web的开发模式,提供了统一的API供JS调用,实际的主要逻辑由Html和JS完成,最终显示在webview中,方便编写一套代码达到跨平台的效果,也方便直接在浏览器中调试。最重要的是,只需要一个前端的人稍微学习一下JSapi的调用。

HybirdApp早期的实践者是PhoneGap,后来遍地开花,比如国内的Titanium,Salama,WeX5,Kerkee,AppCan。每个项目都有自己的实现方法,总的原则基本相同。我有幸在AppCan上海总部参与了一段时间的学习和研究,具体如下:

AppCan是Hybird基于HTML5技术的跨平台移动应用开发工具。开发者使用Html5+Css3+JavaScript技术,通过AppCanIDE集成开发系统和cloud packager快速开发Android、iOS、WP平台上的移动应用。

AppCan的平台组成