自己搭建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商城需要的花费因不同的公司而异,具体花费因以下因素而定:1. 功能要求:商城功能是否包含用户注册、商品展示、购买付款、订单管理、发货追踪等功能。这些功能都需要定制开发,因此要花费相应的开发费用。2. 设计费用:商城的设计也是必要的,好的设计能吸引
2023-06-05
自己做题库刷题的app
自己做题库刷题的app是一款可以让用户自主创建题目并进行刷题的应用程序。其主要原理是基于数据库、数据结构和算法等技术开发的。首先,建立数据库。一个题库app的核心就是题目数据库,用户需要在此存储题目和答案等相关信息。可以使用开源的MySQL或SQLite等
2023-06-05
自己开发返利app
随着互联网的普及,返利APP越来越受到消费者的欢迎。那么,如何自己开发一款返利APP呢?下面详细介绍一下返利APP的原理和开发过程。一、返利APP的原理返利APP的核心原理就是“佣金返还”。即商家给代理商提供一个返利服务,代理商通过APP平台将商品推荐给消
2023-06-05
自己开发app需要什么专业
开发一个app需要多个专业领域的知识和技能,下面将逐一介绍:1. 编程语言和框架开发app的首要工作是选择开发语言和框架。目前,主流的操作系统如iOS和Android都采用不同的编程语言和框架。iOS主要采用Swift和Objective-C语言,Andr
2023-06-05
怎么安装自己开发的app
如果你是一位开发者,你一定会为自己的应用程序进行测试和调试。而安装自己开发的应用程序,也是必不可少的一部分。在本文中,我们将会介绍安装自己开发的Android应用程序的三种方法:通过USB连接电脑、通过应用商店和通过APK文件进行安装。下面来了解一下它们的
2023-06-05
现在自己做app什么赚钱
自己做app可以通过多种方式赚钱,其中一些利润更大,另一些则适合想要轻松获得收入的人。这里将详细介绍一些可行且可持续的方法。1. 广告广告是一种最受欢迎的应用赚钱方法之一。许多应用中都有广告。几乎每点击广告的应用程序都收取一定的费用,并且这些费用的收入会根
2023-05-31
想自己开发和拥有1个app
现在,移动设备是我们每天生活中的必备品,我们可以用它们来完成各种事情,从购物到社交,从娱乐到工作,无所不包。现如今,开发一款移动应用程序(app)已经变得越来越简单和方便。在本文中,我将向您介绍开发和拥有自己的app的原理和步骤。什么是应用程序?应用程序是
2023-05-31
屏幕自动滚动怎么制作app
屏幕自动滚动在一些应用场合中非常常见,比如股票行情、新闻浏览、广告展示等等,让用户更加方便地获取信息。今天我将介绍一下实现屏幕自动滚动的原理和制作App的方法。一、原理屏幕自动滚动的原理主要是通过控制屏幕上的ScrollView或RecyclerView的
2023-05-30
可以自己在手机上制作app软件吗
随着科技的不断发展,人们对于个性化和定制化需求的不断增加,越来越多的人想通过自己的努力制作出自己的APP软件。在过去,这需要有较为高深的编程技能和开发背景,但是现在,随着一些软件的推出,任何人都可以在手机上制作APP软件。首先,制作APP软件的原理是利用所
2023-05-30
豆芽app是苏宁自己开发的吗
豆芽app是苏宁自主开发的一款移动电商应用软件,主要提供电商购物、支付、物流、积分、会员、优惠券等多种服务。豆芽app在2015年正式上线,目前已经成为苏宁易购的重要营销工具之一。豆芽app的主要服务包括:电商购物、支付、物流、积分、会员、优惠券等多种服务
2023-05-30
b站用户自己开发的app
B站是一家国内领先的视频分享平台,拥有庞大的用户群体和丰富的内容。为了更好地服务用户,一些B站用户利用自己的技术能力,开发了一些与B站相关的应用程序,为B站用户提供更好的使用体验。那么,B站用户是如何开发这些应用程序的呢?我们可以简单地理解为,这些B站用户
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1