自己搭建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具体是如何实现的呢?一、需求分析在自建APP之前,需要先明确需要建立的
2023-06-05
自己做自由行攻略的app
自由行旅游已经成为越来越多人的选择,由于它可以让旅游行程更加自由,避免了团队旅游的紧张和条条框框的限制。但是,自由行旅游需要更多的准备工作和前期策划,而制作一款自由行攻略的App可以帮助旅行者快速而准确地完成旅游前期策划和行程安排。下面是如何制作一款自由行
2023-06-05
自己做一个app知乎
做一个类似知乎的app需要掌握以下技能:前端开发技能、后端开发技能、数据库设计和管理技能、APP UI设计技能以及APP产品运营技能等,可以先从需求调研和产品设计开始。需求调研和产品设计作为一个知乎风格的app,我们需要先确定它的核心业务,比如用户注册、登
2023-06-05
自学app开发课程
APP开发是互联网领域中比较热门的技能之一,越来越多的人开始学习如何制作自己的APP,而自学APP开发显然是一种经济实惠的方式。本文将为您介绍一些自学APP开发的课程,包括原理或详细介绍,希望对您有所帮助。一、学习前的准备工作在学习APP开发前,您需要先掌
2023-06-05
自己亲自开发app要多少钱
自己亲手开发app并不是一个简单的任务,需要具备丰富的技术知识和编程经验。在开发的过程中,需要考虑到各个方面的问题和细节,其中最为重要的就是资金的问题。那么,自己亲自开发app要多少钱呢?本文将从不同的角度介绍这个问题。 一、需求分析阶段在进行app开发时
2023-06-05
制作自己的app都有什么费用
制作自己的App需要考虑多个方面的费用,这篇文章将从技术、人力、市场等多个角度介绍这些费用的明细和原理。一、技术费用制作App的技术费用是制作App必不可少的一部分。这包括在编程语言、开发工具等方面所用的费用。在制作App的过程中,几乎所有的技术操作都需要
2023-06-05
怎么把自己做的app上传软件商店
想把自己做的app上传软件商店,需要了解一些基本的原理和步骤。1. 注册开发者账号首先需要注册一个开发者账号。不同的软件商店要求的管理要求不同,如苹果的 App Store 需要开发者注册苹果开发者账号,Google Play 需要开发者注册 Google
2023-06-05
想开发一款app但自己不会怎么办
开发一款APP需要掌握多种技术,包括编程语言、UI设计、数据库、用户认证、数据存储、服务器架设、网络通信等等,对于没有相关背景知识的人来说会是一个巨大的挑战。以下是一些建议,可以帮助你入门并了解开发一款APP的流程。1.确定APP功能及目标用户在开发APP
2023-05-31
为啥app开发者不自己开发
App开发者不自己开发的原因主要有两个:时间和资源成本。首先,开发一个App需要非常多的时间和精力。一款成功的App需要经过多次的测试、修改和迭代。开发者需要不断地进行测试、优化和更新,以保证用户能够获得最好的体验。这对于一个独立的开发者来说,能花费数月甚
2023-05-31
大学毕业能自己开发app
大学毕业后想要开发自己的APP,首先需要具备一定的编程基础,掌握一门或多门编程语言。一般来说,移动端APP开发主要使用Java、Swift等编程语言。如果您之前没有编程基础,那么可以考虑报名相关培训机构进行学习。以下简要介绍APP开发的步骤及其原理:1.
2023-05-30
大公司的app都是自己开发的吗安全吗
大公司的App通常是由其自己开发的。一些大公司,如谷歌、苹果、微软等,不仅拥有雄厚的技术和人力资源,也为其App开发提供了相应的资金和设备支持。这些公司的App一般来说都是经过充分测试和审核,并且遵循安全原则和最佳实践开发,从而保证其安全性。在开发一个Ap
2023-05-30
app自学开发书籍推荐
随着智能手机和移动互联网的普及,APP(应用程序)已经成为了人们日常生活中必不可少的一部分。而APP开发也成为了一个热门的领域。但是,对于没有编程基础的人来说,自学APP开发可能会变得非常困难。因此,选择一本好的APP开发书籍非常重要。这里为大家推荐几本值
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1