自己搭建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比较好
自媒体是指个人或组织通过网络、移动终端等新媒体平台,撰写、编辑、发布信息内容,以自我展现、自我推广、自我营销、自我表达、自我传播为目的的一种新型媒体运营模式。目前,自媒体已经成为一种非常受欢迎的媒体形式。随着智能手机、移动互联网的发展,自媒体也开始走向移动
2023-06-05
自己有网站怎么做一个app
如果你拥有自己的网站并且想要开发一个app,你可以选择使用移动应用开发框架或者自己开发一个原生应用。下面将详细介绍两种方法。1. 使用移动应用开发框架如果你没有移动应用开发经验,最好采用现有的框架,例如React Native、Flutter、Ionic等
2023-06-05
自己开发的app安装到苹果手机上
开发一个app对于开发者来说是一项不小的任务,而将这个app成功安装到用户的手机上也是同样的有挑战性。本篇文章将会详情介绍一个app的安装过程,同时探讨在这个过程中的一些技术和方法。1. 开发app并生成ipa文件首先,我们需要开发出一个app,并在本地电
2023-06-05
自己开发一个移动端app
自己开发一个移动端app,需要经过以下几个步骤:1. 需求分析首先,需要明确开发的app是什么类型的,面向哪一部分用户,目的是什么。需要明确使用场景、用户需求,才能确定开发的方向以及基本功能。2. UI设计根据需求分析结果,进行UI设计。UI设计需要遵循用
2023-06-05
自己开发app和外包有什么区别
自己开发app和外包开发app都是实现一个app的目标,但在实际操作中,两者却有很大的不同。首先,自己开发app需要拥有一定的技术能力和资源。如果你有团队的支持,可以自主研发,如有开发者可以直接招人,如果自己没有实力,可以寻找到有经验的开发者来合作开发。但
2023-06-05
自己制作脚本app然后使用
制作脚本 App 可以让你更加高效地完成一些重复性工作,例如自动化测试、自动化数据处理等。下面将介绍如何制作脚本 App 并使用它。一、制作脚本1. 选择脚本语言:根据你的需求选择合适的脚本语言,常见的有 Python、JavaScript、Ruby 等。
2023-06-05
益阳开发自己的app
随着智能手机的普及,APP已经成为了人们日常生活中不可或缺的一部分。益阳作为现代化城市,也不例外。开发自己的APP不仅能够提升城市形象,更可以为市民带来更舒适、便利的生活体验。下面我们来详细介绍如何开发一款适合益阳市的APP。一、 需求调研在开发APP之前
2023-06-05
哪家企业最先开发自己的app
最早开发自己的手机应用程序的企业可以追溯到2008年,当时美国麦当劳公司推出了一款叫做“我的麦当劳”(My McDonald’s)的应用,用于用户快速浏览菜单、营养、推荐以及麦当劳附近的门店信息。这款应用的发布将品牌升级到了数字时代,从此开启了一场移动互联
2023-05-30
哪个app可以做有个性的自我介绍
在现代社会,越来越多的人通过互联网平台展示自己,包括自我介绍。但是,常规的文字形式容易让人感到枯燥乏味,所以很多app为了让用户更好地展现自己,推出了有个性的自我介绍功能。其中,最受欢迎的是视频自我介绍。通过录制自己的声音或者视频,可以更直观化地展示自己,
2023-05-30
公司可以自己开发一个app吗知乎
公司完全可以自己开发一个app,无论是为自己的产品或服务提供支持,还是为了扩大业务范围,提升品牌形象,都可以通过开发一个自己的app进行实现。下面我将从技术、流程、成本等方面来探讨企业自主开发app的原理和详细介绍。一、技术1. 开发语言:Android操
2023-05-30
厂家自己做app
在移动互联网时代,APP已经成为现代社会生活中不可或缺的一部分。很多企业也开始意识到这个趋势,并积极地开始自己制作APP。毕竟,拥有自己的APP可以更好地与客户、用户、粉丝互动,增强企业品牌形象和曝光度。本文将详细介绍企业如何自己制作一个APP。一、确定A
2023-05-30
北京工业自动化app开发
随着智能制造的发展,工业自动化已成为现代制造业的重要一环。为了方便工业自动化系统的操作和管理,北京工业自动化app逐渐崭露头角。本文将详细介绍北京工业自动化app的原理和开发流程。一、什么是北京工业自动化app北京工业自动化app是一款基于移动端的工业自动
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1