自己搭建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,需要了解二维码识别的原理和步骤。二维码识别原理:二维码识别的基本原理是通过手机摄像头获取二维码图像后,对二维码进行解码,使得二维
2023-06-05
自己做饭在网上卖的app
自己做饭在网上卖的app是一种新兴的餐饮服务模式,它利用互联网和移动互联网技术为用户提供方便、新鲜、健康、美味的餐饮服务,同时也为那些喜欢烹饪、热爱健康食品的家庭主妇、年轻人等提供了一个创业的机会。这种服务模式的原理非常简单,用户通过手机应用程序或网页浏览
2023-06-05
自己做个app成本
自己做一个APP成本,包括技术和资源方面的消耗,以下是相应的详细介绍。首先,需要先确定你要开发的APP类型和功能模块。不同的APP类型和功能模块的开发工作量是不一样的,因此对成本也有一定影响。接着考虑技术方面的成本:1. 开发平台和工具这部分成本包括开发环
2023-06-05
自己做app软件步骤知乎
现如今,在移动互联网的时代,app软件已经成为了人们日常生活中必不可少的一部分。很多人有着做自己的app软件的想法,但是又不知道从何开始。今天,笔者将分享一下自己做app软件的步骤和原理,希望能够为大家提供一些参考。一、确定需求和目标在做任何事情之前,我们
2023-06-05
自己怎么做一个签到app
要做一个签到App,需要考虑以下几个方面:功能需求、界面设计、技术实现、数据管理等等。下面就从这几个方面详细介绍如何制作一个签到App。一、功能需求签到App的基本功能是记录用户的签到记录,包括签到时间、地点、天气等信息。建议实现以下功能:1. 用户注册和
2023-06-05
自己开发的app怎么部署到公网
将自己开发的app部署到公网上,一般有两种方式:自行部署和利用云平台。自行部署需要自己搭建服务器、配置环境、开放端口等操作,相对来说较为繁琐。而利用云平台,则需要在云平台上创建虚拟机实例,然后进行相应的配置和部署操作。以下是自行部署的详细介绍:一、准备工作
2023-06-05
自己制作一个手机app
制作一款手机App,需要学习软件开发的相关知识,然后根据需求进行开发设计。在App的制作过程中,需要添加不同的功能,例如用户界面、后台数据管理、数据库管理、UI编程等。下面,我们将详细介绍自己制作一个手机App的原理和步骤。1. 定义需求和目标首先,需要明
2023-06-05
找人制作app怎么确保是自己的
想要制作一个属于自己的App似乎是很多人的梦想。但是在找人制作App的过程中,很多人都会被“我不能拥有这个App”的想法所困扰。毕竟,这个App是别人为你制作的,那么这个App真的不属于你吗?其实不是这样的,只要您在制作App前作好以下几点,就可以确保这个
2023-06-05
可以自己做小说的app
要自己做小说的app,首先需要具备一定的编程能力和知识,也需要有一些相关的工具和软件。以下是大致的步骤和原理介绍:1. 确定开发平台和编程语言。可以选择Android或iOS作为开发平台,常用的编程语言有Java、Kotlin、Swift等。2. 设计ap
2023-05-30
开发app需要自己组建团队吗
开发一个app需要自己组建团队吗?这是一个非常不错的问题,涉及到很多不同的因素,本文将会对这些因素作出一个详细的介绍。首先,让我们考虑一些个人开发者开发app的可能性。对于那些有技术背景,熟悉编程语言等相关技能的人来说,他们可能会自己编写应用程序。这种情况
2023-05-30
app控制自动喷香机开发
自动喷香机是一种能够自主控制喷香的设备,由于方便简单、易于使用,受到了广大用户的喜爱。为了更加方便用户,现在已经有很多手机应用可以用来控制自动喷香机。本文将介绍如何开发这样一个app。简介首先,我们需要了解自动喷香机的工作原理。自动喷香机通常由两个部分组成
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1