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

搭建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 函数调用的解析、执行以及业务处理。虽然实现起来比较繁琐,但是可以为开发人员提供更好的使用体验,更高的性能和更好的跨平台体验。


相关知识:
最简单免费的制作自己的app
如今,智能手机已经成为了人们生活中最重要的装备之一,而各种应用程序也在不断地涌现,成为了人们生活中的必需品。如果你也想尝试制作一个属于自己的手机应用程序,那么这篇文章将简单介绍如何制作自己的app。首先,需要明确的是,制作自己的应用程序并不是一件容易的事情
2023-06-05
做自媒体用哪个相机app
做自媒体的时候,使用相机app能够更好地提高照片拍摄、处理的效率和质量。在市场上,有很多优秀的相机app,如何选择适合自己的相机app呢?本文将分享相机app的原理及介绍。一、相机app的原理相机app本质上是通过软件算法模拟相机的各种功能。无论是手机原生
2023-06-05
自建云盘app哪个好
随着互联网技术的不断发展和普及,云存储已经成为人们存储和分享文件的重要手段之一。而自建云盘app也成为越来越多人的选择。本篇文章将介绍自建云盘app的原理以及几个常用的自建云盘app。一、自建云盘app原理自建云盘app主要基于互联网技术,也就是我们在网页
2023-06-05
自己做app赚钱吗
自己做App赚钱是一种非常流行的赚钱方式。App是指运行在移动设备上的应用程序。随着移动设备的普及和互联网的发展,App已经成为人们生活中不可或缺的一部分。开发一款热门的App可以让你赚到不少钱。下面,本文将介绍自己做App赚钱的原理和详细步骤。一、自己做
2023-06-05
自己开发app需要接入工行转账接口
工商银行(ICBC)提供了开发者接口(API),允许开发者通过使用其API接口,来接收支付。这些接口涉及了各种工商银行提供的金融服务,其中包括转账支付服务。在本文中,我们将介绍如何接入工商银行的转账接口,并向您提供一些有关如何处理支付的基本知识和概念。在开
2023-06-05
怎么自己开发app架设服务器
开发一个App需要架设服务器,是因为服务器可以提供强大的计算能力和数据存储能力,能够对App实现更快的响应,更加稳定的性能和更高的安全性。同时,服务器还可以支撑很多整套系统的实现,比如用户管理、支付管理等。下面简单介绍一下自己开发App架设服务器的原理和方
2023-06-05
怎么做一个自己app
想要做一个自己的APP,需要具备一定的编程基础,同时还要选定一个合适的开发平台。首先,我们可以选择开发原生应用程序(Native App)或者基于Web的应用程序(Web App)。对于Native App,我们需要掌握相应的编程语言,比如iOS需要掌握O
2023-06-05
哪些券商app是自己开发的软件
目前,国内券商app市场非常发达,其中有一些是自己开发的软件。以下是几个比较知名的自研券商app的原理和详细介绍:1. 中信建投优惠券中信建投是其中一个自研的券商app,其开发原理是基于互联网技术和金融业务系统相结合。该软件主要针对中信建投证券客户打造,为
2023-05-30
哪些app可以做自提点代理
自提点代理是指代理商或个人在自己的门店或仓库等地点提供商品的自提服务,为买家提供更方便、快捷的购物体验。随着电子商务的不断发展,越来越多的企业开始采用自提点代理的方式提高销售,下面我们来介绍几个可以做自提点代理的APP。1. 拼多多作为国内领先的拼团电商平
2023-05-30
教你制作一个自己的手机app
要制作自己的手机app,需要掌握以下基本步骤:1. 确定需求:首先需要确定app的功能和需求,也就是要制作的app是什么类型的、功能有哪些、适用于哪个平台等等,这一步非常重要。2. 设计界面:设计界面也称UI设计,包括app的界面布局、颜色、按键等等,要做
2023-05-30
把网站做成app自适应
众所周知,移动设备已经成为人们日常生活中必不可少的一部分,除了手机以外,平板和笔记本电脑也在越来越多的人手中出现。因此,在开发网站时,为了满足移动设备用户的需求,我们需要让网站自适应于不同类型和尺寸的设备。让网站自适应于移动设备,最主要的方法是通过响应式布
2023-05-30
app自主开发平台有哪些问题可以解决
随着移动互联网的普及和应用程序的广泛应用,越来越多的企业意识到开发自己的移动应用程序的重要性。然而,许多企业没有内部移动应用程序开发团队,开发团队负责人也可能没有经验来处理这一领域的复杂技术。这时,app自主开发平台就应运而生了。本文将介绍app自主开发平
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1