网页和原生APP,原生APP生成
2021年12月14日 来自于App快做
![网页和原生APP,原生APP生成](http://www.isharead.cn/wp-content/uploads/images/random/18.jpg)
混合开发和跨平台开发
本机模式:
原生技术栈是指,比如安卓平台的Java技术栈,iOS平台的Object-C技术栈,或者Swift技术栈。
混合开发:
混合开发,即将网页放入特定的容器中,然后打包成各种平台的原生应用。所以混合技术栈其实就是Web技术栈的容器技术栈,典型代表有PhoneGap、Cordova、ion等框架。
跨平台应用:
跨平台开发是指使用一种技术,它与混合技术栈的不同之处在于,它不使用Web技术,即它的页面不是HTML5页面,而是用自己的语法编写的UI层,然后编译成各种平台的原生app。
这个技术栈是纯容器技术栈。ReactNative、Xamarin和Flutter都属于这一类。学习的时候不仅要学习容器的APIBridge,还要学习容器提供的UI层,也就是如何写页面。
总结:H5开发主要用于混合技术栈。但是,也将使用跨平台技术堆栈的一些容器(例如ReactNative),因为它们的UI层借鉴了Web模型。
此外,混合技术栈和跨平台技术栈的基础是原生技术栈,因为它们最终会编译成原生app。因此,无论你使用哪种技术栈,你或多或少都需要了解每个平台的一些原生技术。
此外,网络视图控件
无论什么技术,最终都需要有一个web引擎在app中显示网页,从而对网页进行分析。通常,网络视图控件被用作应用程序内部的网络引擎。这是系统自带的控件,专门用来显示网页。应用程序的界面,只要放置了WebView,似乎就嵌入了一个浏览器窗口,可以显示网页。不同的app技术栈会显示网页,唯一不同的是如何处理原生控件WebView。
本机开发:开发人员需要自己将WebView控件放在页面上。
混合开发:页面本身是一个网页,默认显示在WebView中。
跨平台开发:提供一个WebView的语法,编译时替换为原生WebView。
不同系统的WebView控件名称不同。安卓系统叫WebView。iOS系统有一个旧的UIWebView和一个新的WKWebView。它们的功能是一样的,不同的是功能的强弱。