自己搭建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开发的基础知识和开发步骤。
2023-06-05
自建云app
在当今的互联网领域中,云平台已经成为了一个非常流行的概念。然而,由于各种原因,许多人希望自建云平台以满足他们特定的需求。自建云平台与公共云有一些重要的区别,其中最重要的是它能够提供更加安全的存储和更加灵活的管理。现在我们来讨论一下如何自建云平台。首先,自建
2023-06-05
自己咋样做app
要想做一个APP,需要掌握编程、设计等技能,对非专业人士来说有一定的难度。但是现在有很多工具和平台可以帮助非专业人士完成APP的制作。下面我将介绍几种可以使用的制作APP的方法:1. Codeless App制作Codeless App主要是指无需编码就可
2023-06-05
自己制作送货上门app
随着生活节奏的加快,大家对于送货上门的需求越来越高,快递和外卖行业也在不断发展。因此,自己制作一款送货上门的app是非常有市场前景的。下面,我将介绍一些关于此app的原理和制作过程。首先,我们需要考虑app的功能。一般来说,一个送货上门的app需要包含以下
2023-06-05
自己制作小组件的app
在当前的移动互联网时代,每个人的手机里都会装满各种各样的应用程序。移动应用程序已经成为人们生活和工作不可或缺的一部分。自己制作小组件的app是一个非常有趣和实用的项目,特别是对于那些想深入学习移动应用开发的人来说。自己制作小组件的app需要用到移动应用程序
2023-06-05
怎么自做app
自做APP需要掌握一些基本的编程知识,了解APP的开发流程和技术要求。本文将从以下几个方面介绍自做APP的原理和详细步骤。一、了解APP基本原理APP就是应用程序,是为手机、平板电脑等移动终端设备开发的应用程序。APP的开发需要使用到各种编程语言和开发平台
2023-06-05
手机自己制作书的app
随着手机功能的不断实现和普及,自制书的手机应用也成为了越来越多人关注的话题。下面将简要介绍一个手机自己制作书的app的原理和实现方法。首先,这个app要做到可以让用户自行创建自己的书籍,包括书名、作者、封面等基本信息,并能够自由编辑内容,以达到满足个性化需
2023-05-31
企业app是自建还是外包
企业 app 可以通过自建或外包的方式来实现。两种实现方式各有优劣,企业可以根据自身情况选择合适方式来实现。自建企业 app 的原理是基于企业资源与技术实力。企业需要拥有自己的开发团队和技术人员,并且需要具备一定的开发基础和经验,才能够顺利实现自建企业 a
2023-05-30
可以开发自己公司的app吗安全吗
随着智能手机的广泛普及,越来越多的公司都开始关注并投入开发自己的移动应用程序(App),以便为用户提供更好的产品和服务。但是,许多公司都会担心在内部开发移动应用程序时可能会带来安全风险。本文将详细介绍如何开发自己的公司App并确保其安全性。首先,需要明确开
2023-05-30
传统媒体自建app转型
近年来,随着移动互联网的不断发展,越来越多的传统媒体开始意识到自建app对于转型的重要性。自建app可以满足年轻用户在移动端获取信息的需求,增加媒体品牌的曝光度,提高品牌的忠诚度。下面是关于自建app转型的原理和详细介绍。一、自建app转型的原理1. 消费
2023-05-30
python自学开发一个app难吗
Python是一种高级编程语言,因其易学、易用和强大的功能而备受欢迎。Python生态系统非常强大,它提供了许多模块和框架,可以帮助开发人员更快地构建出高品质的应用程序。因此,Python自学开发一个app并不难,只需要有一定的编程基础和耐心,就可以开始学
2023-05-30
app充场兼职怎么自己做
App充场兼职广泛存在于各大招聘平台上,是目前比较受欢迎和流行的一项兼职。大家可以在空闲时间里,通过兼职平台搜索相关充场兼职信息,以此来实现自己的赚钱计划。1.什么是充场兼职?充场,是指在互联网平台上充当一个虚假的角色,来模拟真实情况下某种场景的流量,例如
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1