导航
当前位置:首页>>app
在线生成app,封装app

自己搭建app混合开发框架怎么做

2024-01-23 围观 : 0次

搭建app混合开发框架的原理是将原生应用程序(Native App)与web技术相结合,将业务逻辑与用户界面分别放到Native和web端去实现。混合开发框架的实现分为两种:一种是采用轻量级WebView封装Native API,如PhoneGap、Ionic等;另一种是采用JavaScript Bridge桥接WebView与Native层之间的通信,如React Native、Weex等。本文主要介绍后者。

1. JavaScript Bridge

传统的 Native App 是由 Objective-C、Swift、Java 等编写的,在应用程序启动之后直接与系统底层进行交互,这种交互成为原生应用的核心。而我们的 Hybrid App 模式中,由于 WebView 不让直接访问本地函数和 API,因此,实现一套 JavaScript Bridge 桥接来连接 WebView 和 Native 底层就显得非常需要。

2. 初始化、解析、执行

JavaScript Bridge 与 WebView 和 Native 之间的通信是基于 WebView 上执行的 JavaScript 搭建的。此时,WebView 可以注入一些原生的 API(这些 API 会在 WebView 初始化的时候初始化并且挂载到 WebView 对象中去),Webview 建立 CallbackID 到 Native 的映射(也就是建立 Java 方法和 JavaScript 回调之间的映射关系,Android 通过 Message、Handler 和Callback 来实现映射,iOS 通过字典转模型方式实现),然后通过调用 JavaScript 函数附加参数到 WebView 中,最后触发 JavaScript 函数的执行。

3. Native 层解析 JS 层参数

WebView 中的 JavaScript 函数调用后,会触发 Native 层的方法执行。在 Native 层中,我们首先要完成函数调用的解析参数的部分。在 iOS 中, 通过拆分 JS 传来的参数,把每一个参数保存到一个数组中。在 Android 中,通过对 url 解析的方式来完成参数的传递。

4. Native 层完成业务逻辑,并通过 CallbackID 回调到 JS 层

在 Native 层中得到了解析完的参数之后,就可以执行我们需要的本地操作。在 iOS 平台中这个本地操作就是调用一些 Objective-C 对象的方法,而在 Android 平台中就是调用 Java 对象的方法。当本地操作执行成功之后,我们要通过保存好的 CallbackID 找到对应的 JavaScript 函数,并且在这个函数中进行参数的传递,最后WebView 中的 JavaScript 函数会进行处理。

5. 更新 WebView

当 Native 层执行的业务逻辑处理完成之后,我们便可以将数据传递给 JavaScript 层,然后 JavaScript 层通过修改 DOM 对象来完成 UI 的刷新。在此之后,用户就可以看到完整的操作结果并且进行后续操作。

总之,搭建一个混合开发框架需要熟练掌握 WebView,JavaScript 和原生的操作方法,通过 JavaScript Bridge 的方式去连接 Native 和 WebView,并且完成对 JavaScript 函数调用的解析、执行以及业务处理。虽然实现起来比较繁琐,但是可以为开发人员提供更好的使用体验,更高的性能和更好的跨平台体验。

相关文章
  • 腾讯直播安卓没有语音助手,腾讯手机直播助手

    oppo手机没有语音助手怎么办 以下是唤醒方式:进入「设置BreenoBreeno语音」页面:语音唤醒:打开“语音唤醒”按钮,录入唤醒词,根据页面提示,录入您的声音;用“你好小布”“小布小布”或“嘿Breeno”唤醒。步骤一:进入设置界面首先,打开你的OPPO手机,进入主界面。然后,找到手机的“设置...

    2024-01-18
  • 安卓点对点对讲机,安卓点对点对讲机软件

    什么牌子的对讲机好用? 1、对讲机十大名牌排行摩托罗拉、海能达、科立讯、建伍、艾可慕、北峰、八重洲、泉盛、宝锋和飞捷等等。摩托罗拉 摩托罗拉系统公司通过技术将人们联系在一起。2、摩托罗拉 推荐型号:V-168 推荐理由:对讲机很实用,质量很好,听起来声音清楚,距离适合。3、对讲机品牌排行前十 宝锋 ...

    2024-01-14
  • 鸿蒙系统荣耀可以用嘛,鸿蒙系统荣耀可以用嘛知乎

    华为鸿蒙系统支持荣耀吗 1、鸿蒙系统适用于华为、荣耀旗下部分机型。MateXMate40、Mate40E、Mate40Pro、Mate40Pro+、Mate40RS保时捷设计、P40、P40Pro、P40Pro+、Mate304G、Mate30Pro4G。2、华为鸿蒙系统支持荣耀吗支持荣耀v40之前...

    2024-01-03
  • rnappvs原生app

    一、注册账号  打开网址: http://www.appbsl.cn/register 手机验证注册完成 二、创建应用  打开网址: http://www.appbsl.cn/encapsulation...

    2024-01-23
  • app开发的注意事项

    庆阳店铺app开发多少钱 庆阳是一个美丽的城市,拥有着独特的文化和历史,是西北地区的一个重要城市。庆阳的商业氛围也十分浓郁,各种类型的店铺遍布全城,因此开发一款庆阳店铺app也是十分有市场前景的。庆阳店铺app主要是为庆阳市的商家提供一个线上展示和销...

    2024-01-23