自己搭建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非常有必要。下面将介绍开发这种应用软件的原理和步骤。首先,我们需要明确实现这个APP的功能,如何搭建应用的开发环境,选取用于前端开发的框架和后端语言、数据库等。
2023-06-05
自己能开发简单的app吗
当今的智能手机已经成为人们生活的必需品,而手机上的应用程序(APP)更是为人们提供了很多便利。有些人可能会认为开发一个APP是高科技程序员的专利,事实上不尽然。下面我将介绍一些可以帮助普通人开发简单应用程序的方法。首先,您需要一些编程语言基础,例如 Jav
2023-06-05
自己想开发一个app需要学什么知识
要开发一个app,需要掌握以下知识:一、编程语言开发app所需的编程语言主要包括Swift、Objective-C(iOS)和Java、Kotlin(Android)。其中iOS开发主要使用Swift和Objective-C,Android开发主要使用Ja
2023-06-05
自己可以做app软件
在现代社会,移动应用成为了人们生活中不可或缺的一部分。那么,你是否对于制作一款属于自己的移动应用也有所向往呢?其实,制作一个自己的移动应用并不是很难,只需要一些基本的编程知识就可以实现了。下面,本文将为你介绍制作一款自己的移动应用的原理和详细步骤。## 一
2023-06-05
自己制作背景的app
制作背景的App,其实可以分为两种不同方式。第一种方式是直接通过平台提供的UI模板自己设计背景,例如使用Canva这种在线平台。Canva提供了丰富的设计资源和模板,使用户根据自己的需求进行设计和编辑,让人可以轻松地制作出各种美观的背景,文字排版,Logo
2023-06-05
自己制作扫码app
制作扫码app的原理非常简单,主要是通过手机摄像头获取二维码中的信息,然后将其解码并展示在界面上。以下是制作扫码app的详细介绍:1. 确认需求在开始制作扫码app之前,需要确认需求。扫描二维码的方式有多种,例如使用ZXing库、使用Google Visi
2023-06-05
自动挑战答题app怎么制作题目
自动挑战答题app是如何制作题目的呢?其实原理并不太复杂。通常来说,自动挑战答题app需要以下几个步骤来制作题目。第一步:获取题目获取题目的方式有很多种,例如从网络上爬取各种题库,或者自己编写一些题目。网络上有很多已经整理好的题库,可以直接下载使用。如果你
2023-06-05
怎样自己制作一款app
制作一款APP并不是一件难事,只要有一定的编程基础和一些设计技巧,就可以轻松地开发出一款符合自己需求的APP。下面是制作一款APP的一些基本流程和步骤:第一步:确定需求在制作APP之前,我们首先需要确定自己要开发的这款APP具体的功能和需求。我们需要做一个
2023-06-05
我自己做了一个股票类的app
近年来随着投资理财的兴起,股票也成为了一种不可忽视的投资方式。在这个背景下,股票类的APP应运而生,许多人开始尝试创造自己的股票APP,在这里我也想分享一下我自己做的股票类APP。首先,我需要了解和掌握一些基本的知识和技能。这个APP的基本原理是获取股票市
2023-05-31
什么软件能制作属于自己的app
制作属于自己的app是一件令人兴奋而又具有挑战性的事情。但是,你可能不知道从哪里开始,或者没有编程背景。好消息是,现在有许多应用程序工具可供选择。下面是一些流行的工具,它们使您可以制作属于自己的app。1. Appy PieAppy Pie是一个应用程序创
2023-05-31
记录自己每天做了什么的app
随着人类社会的不断发展,时间越来越显得宝贵。而随之而来的问题是,时间管理变得越来越重要。许多人不得不在每天的嘈杂生活中尽可能地利用时间。对于那些希望花费更少的时间来完成更多的工作的人来说,“记录自己每天做了什么”的应用程序就成为了一种必需品。这种应用程序的
2023-05-30
共享自行车app开发方案
共享自行车app是一种基于智能手机应用程序的自行车共享服务。作为一种新型交通工具,共享自行车具有便捷、环保和健康等优势。现在,共享自行车已经成为城市出行的重要方式之一。那么,共享自行车APP是如何实现的呢?下面,本文将从技术原理和功能介绍两方面进行介绍。一
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1