混合开发:
是一种开发模式Hybrid App.
混合开发 = Native + Web.
另一篇博文:Kotlin与H5通信
场景应用:
例如:
微信公众号通过JSSDK连接Native端和Web端
微信小程序通过内置框架连接Native端和Web端
混合开发的核心技术:
JSBridge桥接器
- 实现Native端和Web端双向通信的一种机制。
- 以JS引擎或WebView容器作为媒介。
- 通过约定协议进行通信
混合开发主流技术框架:
- Web渲染: Cordova (前身是PhoneGap)
- 原生渲染: RN、Weex、Flutter
- 混合渲染:微信小程序
JSBridge实现原理:
- 将Native端原生接口封装为JS接口
- 将Web端JS接口封装成原生接口
- Web、Native端的双向通信
案例准备:[全部源码见文末]
1.Native端UI:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity"
android:background="#eaeaea">
<WebView
android:id="@+id/webView"
android:layout_width="match_pare