自己搭建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开发的制作就是基于这种设计理念的应用开发方式。自适应设计的核心原则是灵活性
2023-06-05
自己做的app可以在哪些平台发布
制作自己的应用程序是现代科技世界中的一个重要任务。应用程序开发已经变得越来越重要,因为越来越多的人使用智能手机和平板电脑来处理日常任务。但是,应用程序开发不仅仅是程序代码的编写;在将应用程序推向市场时,需要考虑很多因素。一些最重要的因素之一是发布您的应用程
2023-06-05
自己怎么做一个卖东西的app
要创建一个卖东西的app,需要具备以下几个基本步骤:1. 设计和规划首先,需要设计和规划app的功能、页面、用户体验、数据结构、技术架构和开发流程等。我们可以根据用户需求和市场调查来确定app的主题、定位、人群和差异点,然后制定相应的开发计划和里程碑。2.
2023-06-05
自己开发的app无版本号犯法吗
在移动应用开发中,版本号是非常重要的标识,它可以标明应用的迭代更新过程,让用户以及开发团队更好地了解软件的当前状态和历史记录。因此,缺少版本号可能会造成用户混淆和程序异常等问题,但从法律角度看,开发自己的 App 没有版本号并没有明确的犯法规定。首先,需要
2023-06-05
怎样制作自己的app专题
制作自己的APP专题可以帮助在App Store上提高你的应用在搜索结果中的排名,提高下载量和用户黏性。下面为您介绍怎样制作自己的APP专题。一、确定专题样式和主题首先,确定你要制作的专题的样式和主题。可以考虑如“新上架的应用”、“畅销应用推荐”、“某一特
2023-06-05
我想自己制作手机app
在现代社会,移动应用程序已成为人们生活中的必需品。越来越多的人想要开发自己的应用程序,但往往不知道如何开始。本文将介绍如何制作一个手机应用程序的基本原理,以帮助初学者了解app开发的过程。第一步:确定你的目标和要解决的问题在决定制作一个应用程序之前,首先需
2023-05-31
刷题app自建
刷题App是一种非常流行的应用程序,它帮助用户在手机上刷题,提高他们的技能和知识水平。然而,不是所有的刷题App都适合每个用户的需求。这时,你可以考虑自建一个刷题App,以满足个人或群体的特定需求。以下是刷题App自建的原理和详细介绍。刷题App自建原理
2023-05-31
如何把源代码做成自己的app
把源代码转化为自己的APP的具体步骤大致如下:选定需要的开源代码,下载、安装、配置运行环境,修改代码,编译打包并发布到应用市场。下面将逐步阐述如何实现这些步骤。1.选定需要的开源代码:首先在网上搜索相关领域的开源项目,选定自己需要的项目。GitHub是一个
2023-05-30
企业自建聊天app
随着现代化企业管理的需求和互联网技术的发展,企业自建聊天app成为了一种新的办公工具。相比传统的邮件和电话沟通,聊天app更加高效便捷。此外,企业自建聊天app还有更安全的数据保密性,更强的信息管理、监管和沟通效率等优点。本文将详细介绍企业自建聊天app的
2023-05-30
可以做自己水印的app
自己制作水印有很多好处,首先它可以有效防止自己创作的图片被盗用或滥用,其次它可以在照片上添加个人专属的标识,并提高自己的品牌知名度。下面我将介绍一种做自己水印的 App 原理及步骤。一、App 的原理:制作水印的 App 大致分为两种,一种是在图片上添加文
2023-05-30
开发自助式app
开发自助式App是一种非常便捷的方法,可以让用户在不需要开发人员的帮助下,创建和定制自己的应用程序。这种方法使得普通人也可以创建和设计自己的应用,而不需要对编码或者技术有太多的了解。下面是详细介绍自助式App的原理和开发方法:1. 确定目标和需求在开始开发
2023-05-30
简单免费自建苹果app
自建苹果App的方式有很多,这里将介绍一种简单且免费的方法。需要注意的是,本方法需要下载一些第三方工具,可能会涉及到一些风险,请自行考虑风险并谨慎操作。1. 注册苹果开发者账号首先需要去苹果官网注册一个开发者账号。注册成功后,需要在设置中创建一个APP I
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1