自己搭建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 的原理和制作过程。一、原理自营拍卖 app 的设计思路是建立在客户端-服务器架构的基础上。客户端指移动设备上运
2023-06-05
自建app和外包公司哪个划算
在互联网快速发展的现在,很多公司或个人都想要拥有自己的app,以提高品牌知名度和用户体验。但是,对于不具备编程能力的人来说,自建app需要投入大量的时间和金钱,而外包公司则可以更快、更省钱地完成这项任务。那么,自建app和外包公司哪个划算呢?接下来我将从以
2023-06-05
自己做室内设计的app
随着现代科技的快速发展,人们越来越重视居住环境和生活品质。家居装饰和室内设计逐渐成为热门话题,越来越多的人开始重视自己居住的空间,而室内设计成了一个非常吸引人的领域。很多人也想亲自设计自己的家居,但又不清楚如何入手,这就需要一个专门为普通人们打造的室内设计
2023-06-05
自己做app网上商城要交税吗
在互联网时代,移动互联网成为了人们的重要生活方式。越来越多的人利用手机和平板电脑进行生活和工作上的各种操作,购物也是其中之一。为了迎合跟上这个趋势,越来越多的人尝试着通过自己开发手机app来开展电商平台和网上商城的运营。但是,在做自己的网上商城时,不可避免
2023-06-05
自己开发的app可以申请专利吗
首先,要了解什么是专利。专利是对一种发明、实用新型或外观设计的技术方案的专门保护权。它是国家授予的一种“独占授权”,专利所有人可以通过授权其他人使用技术方案而获取经济利益。申请专利可以保护发明人的权益,防止他人抄袭、盗用和侵犯其知识产权。因此,申请专利对于
2023-06-05
自己制作手机铃声的app
自己制作手机铃声的app是一种非常实用的应用程序,它允许用户创建自己的独特个性化铃声,使他们的手机变得更为个性化。这篇文章将会介绍自己制作手机铃声的app的原理和详细的制作流程。一、原理自己制作手机铃声的app的原理主要是通过将音乐文件或录音文件转换成特定
2023-06-05
自己制作一个app从哪里入手
自己制作一个app是很多人的梦想,但是对于大多数人来说,这似乎是一项十分艰巨的任务,需要大量的编程基础和专业知识。其实并不是这样,现在的软件开发技术和工具已经非常先进,使得开发一个简单的app对于任何有一定计算机基础的人来说都是可行的。下面就从原理和详细介
2023-06-05
在金融app做自动化这条路上
随着移动互联网的普及和金融科技的发展,越来越多的人选择通过金融App来管理他们的财务和投资。但是,随着使用人数的增加,金融App的功能也会变得越来越复杂,用户需要手动执行繁琐的操作来达到他们的目的。为了提高用户体验和效率,许多金融App开始探索自动化的方案
2023-06-05
有什么app可以自己做书
如今,随着智能手机和平板电脑的普及,越来越多的人开始关注自己创作内容的方式。其中,自己做书(一种数字出版物)变得非常受欢迎。有很多不同的移动应用程序(APP),可以帮助用户制作自己的电子图书,但是哪一款最适合您的需求呢?下面是几种值得一提的可用于制作电子书
2023-06-05
手机自动滑屏app制作软件
手机自动滑屏app是一种可以让手机自动滑屏的软件,它的实现原理是通过模拟人的手指对屏幕的操作,从而达到自动滑屏的效果。目前市面上有很多这样的软件,例如自动化工具Appium、Watsup和Robotium等。而这些软件中,Appium是应用比较广泛的一种,
2023-05-31
可以自己在哪个app做养老认证
随着人口老龄化的趋势不断加强,养老认证已成为老年人和其家人十分关注的问题。养老认证是指通过一系列的流程,确定老年人的身份和需求,以便为其提供更加个性化、专业化的养老服务。那么,在移动互联网时代,哪些APP可以做养老认证呢?1.「中国养老金融APP」中国养老
2023-05-30
可以自己做服装的app
在现代社会,服装是人们日常生活中必不可少的一部分。然而,消费者发现市场上的服装选择有限、价格昂贵,于是他们开始转向自己设计和制作服装的方案。这种趋势促使了通用性强、便捷的自己做服装的app的出现。自己做服装的app原理相对简单。首先,用户需要在应用程序中选
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1