自己搭建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的原理1.确定内容:文创App与其他类型的A
2023-06-05
自学做app教学
制作一款APP,无论是商业用途还是个人爱好都是一项非常有趣和有挑战性的任务。但是,入门者可能会感到一些困难。在本篇文章中,我们将简要介绍一下如何自学制作APP,包括需要哪些基础和技能以及学习的步骤。第一步:学习基础知识在开始制作APP之前,必须掌握一些编程
2023-06-05
自写app与树莓派制作智能小车
随着科技的不断进步,智能化已经成为了日常生活中的一个趋势,而智能小车也是智能化发展的一个重要方向。在这篇文章中,我们将介绍自写app与树莓派制作智能小车的原理和详细步骤。一、原理我们要制作的智能小车是基于树莓派的,它的运行需要通过树莓派来实现。我们可以通过
2023-06-05
自己制作吉他谱app
制作吉他谱app的原理是通过编写程序,实现在移动设备上展示吉他谱的功能。一般而言,可以采用计算机语言进行开发,例如Java、Swift等等。首先,需要考虑设计app的界面和功能。界面应该简洁明了,方便用户使用,同时需要有浏览和编辑吉他谱的功能。用户可以在a
2023-06-05
自己做applewatch
要自己做一个Apple Watch,需要一定的电子知识和技能。以下是一些基本的原理和介绍。首先,Apple Watch是一款集电子设备和智能手表为一体的产品。它包括了许多功能,如心率监测、计步器、电话、短信、音乐播放器等等。因此,要自己制作一个Apple
2023-06-05
制作自我介绍文案模板app
随着社会的快速发展,自我介绍成为了人们日常生活中必不可少的一部分。然而,许多人面临着自我介绍时不知道该如何说的问题。因此,我们可以通过制作自我介绍文案模板的APP来解决这个问题。首先,这个APP的基本原理是通过用户填写一些基本的信息,如姓名、职业、个人简介
2023-06-05
轻松自己制作app
在当今互联网时代,应用软件已经成为人们日常生活的一部分。很多人可能想开发一款自己的应用程序,但对于编程不熟悉的人来说,开发一款应用程序并不是一件轻松的事情。但是,现在的互联网世界有很多的在线应用构建工具,可以帮助人们轻松地制作出自己的应用程序,本文就来介绍
2023-05-30
开发一款自己的商店app
随着移动互联网的快速发展,越来越多的商家开始意识到移动端销售的重要性。开发一款自己的商店App,对于提升商家的品牌形象、增强与消费者的沟通与服务、增加销售额等方面都很有帮助。下面,我将详细介绍开发自己的商店App的原理。首先,开发商店App的核心是从用户的
2023-05-30
经销商自建app
随着移动互联网的快速发展,很多企业开始重视自身在移动端的曝光度和用户体验,其中包括经销商。经销商在移动端自建app的主要目的就是为了提升自身品牌知名度、增加客户量、提供更好的客户服务。下面,我将详细介绍经销商自建app的原理和步骤。一、经销商自建app的原
2023-05-30
公益app自建网站的好处
公益app是近年来不断涌现的一种以信息化方式服务公益事业的新型互联网应用。在服务范围和服务方向上,公益app比传统的慈善机构更加灵活多变。不仅能够为公益机构提供募捐、志愿者招募等服务,也能促进公益组织之间的信息共享和资源整合。而自建网站则是公益app必不可
2023-05-30
app自主开发
移动应用开发是当前互联网领域里非常火热的一个技术领域。许多应用开发者利用移动设备和网络技术,将互联网应用程序移植到手机应用上,这样实现了人们可以随时随地畅享应用和服务。对于像我这样的网站博主而言,一个完善的移动应用程序也许能够帮助我扩大网站流量和用户范围。
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1