移动APP混合开发方案
App开发
前端开发
浏览:876 次

1、 混合方案:本地+H5
这种框架的主要原理是使用H5实现一些需要在APP中动态更改的内容,并使用原生网页加载控件WebView(Android)或WKWebView(iOS)进行加载。这样,H5部分可以随时更改,而无需发布,并且可以满足动态要求;同时,由于h5代码只需要开发一次,它可以在Android和iOS平台上运行,这也可以降低开发成本。也就是说,H5的功能越多,开发成本就越低。我们称这种h5+本地开发模式为混合开发。以混合模式开发的APP称为混合应用或混合APP。如果App的大部分功能都是在H5中实现的,我们称之为Web APP。
目前,混合开发框架的典型代表包括Cordova、Ionic和微信小程序。值得一提的是,微信小程序目前是在webview中渲染的,不是原生渲染,但未来可能会采用原生渲染。
主要优点:
混合应用的优势在于,动态内容是H5,web技术堆栈,社区和资源丰富。
主要缺点:
缺点是性能差。对于复杂的用户界面或动画,WebView无法承担重任。
2:原生+JavaScript的主要优势:
使用Web开发技术堆栈,社区规模巨大,开发成本相对较低。

原生渲染,性能比H5好得多。
更好的动态性,支持热更新。
主要缺陷:
渲染需要JavaScript和本机之间的通信。在某些场景中,例如拖动,频繁的通信可能会导致阻塞。
JavaScript是一种脚本语言,需要JIT(实时)才能执行。执行效率仍然不同于AOT(提前)代码。
由于渲染依赖于本地控件,不同平台上的控件需要单独维护,当系统更新时,社区控件可能会落后;此外,其控制系统还将受到原生UI系统的限制。例如,在Android中,手势冲突消歧规则是固定的,当使用由不同的人编写的嵌套控件时,这将变得非常困难。
开发框架包括:
1.反应本机

React Native(简称RN)是Facebook于2015年4月推出的跨平台移动App开发框架。它是Facebook早期开源JS框架React在本地移动App平台上的衍生产品。目前,它支持iOS和Android平台。RN使用类似于HTMLJSX的Javascript语言和CSS来开发移动App。因此,熟悉Web前端开发的技术人员可以在很少学习的情况下进入移动App开发领域。
2.周末
Weex是阿里巴巴于2016年发布的跨平台移动终端开发框架,其理念和原则与React Native类似。最大的区别是语法级别。Weex支持Vue语法和Rax语法。Rax的DSL(域特定语言)语法是基于React JSX语法创建的。与React不同,JSX在Rax中是强制性的。它不支持以其他方式创建组件,因此学习JSX是使用Rax的必要基础。React Native仅支持JSX语法。
3.快速应用
Fast application是由华为、小米、OPPO、魅族等国内九大手机厂商联合开发的轻量级应用标准,目标是微信小程序。它也是用JavaScript语言开发的,带有本机控件渲染。与React Native和Weex相比,它有两个主要区别:
快速App本身不支持Vue或React语法。它们是使用本地JavaScript开发的。他们的开发框架与微信小程序非常相似。值得一提的是,现在可以使用Vue语法(mpvue)开发小程序。原则上,Vue语法也可以移植到快速App。
React Native和Weex的渲染/排版引擎集成到框架中。每个APP都需要打包。安装包大;快速App渲染/排版引擎集成在ROM中,因此不需要打包App,安装包也很小。因此,可以在确保性能的同时快速分发快速App。