H5 混合开发(更新中)

article/2025/10/8 18:01:54

1 流行的混合开发方案

基于 WebView UI (JSBridge)

基于 Native UI(ReactNative、weex)

小程序方案(微信、支付宝小程序)

JS通过JSBridge来调用native api,如拍照/扫一扫

2 H5和原生互相调用

2.1 注册全局api

异步情况导致卡顿

传递数据格式不同:面向 Android 只能接受 基本数据 类型数据。面向 IOS 可以接受任意类型数据。

返回值不同:面向 Android 可以直接接收返回值。面向 IOS 没有办法直接获取返回值。

        // H5 调用 Android 方法function onAndroidFunction1 (str) {window.AndroidJSBridge.androidTestFunction1(str);}// Android 调用 H5 方法window.onFunction = function (str) {alert(str);return 'onFunction 方法已经调用完成';}// H5 调用 IOS 方法function onIOSFunction1 (str) {window.webkit.messageHandlers.IOSTestFunction1.postMessage({msg: str});}// IOS 回调 H5 方法window.onFunctionIOS = function (str) {alert(str);return 'onFunctionIOS 方法已经调用完成';}

2.2 url scheme

APP中转返回网页

const iframe1 = document.getElementById('iframe1')iframe1.onload = () => {const content = iframe1.contentWindow.document.body.innerHTMLconsole.info('content', content)}iframe1.src = 'my-app-name://api/getVersion'// // URL scheme// 封装 JS-bridge:自造协议标准,不用发请求:fn1代表各种功能const sdk = {invoke(url, data = {}, onSuccess, onError) {const iframe = document.createElement('iframe')iframe.style.visibility = 'hidden'document.body.appendChild(iframe)iframe.onload = () => {const content = iframe1.contentWindow.document.body.innerHTMLonSuccess(JSON.parse(content))iframe.remove()}iframe.onerror = () => {onError()iframe.remove()}iframe.src = `my-app-name://${url}?data=${JSON.stringify(data)}`},fn1(data, onSuccess, onError) {this.invoke('api/fn1', data, onSuccess, onError)},fn2(data, onSuccess, onError) {this.invoke('api/fn2', data, onSuccess, onError)},fn3(data, onSuccess, onError) {this.invoke('api/fn3', data, onSuccess, onError)},}


http://chatgpt.dhexx.cn/article/8VgWknlb.shtml

相关文章

MATLAB+JAVA的混合开发

近期项目中需要使用matlab跟java做混合开发。主要记录一下,此次开发遇到的问题点。 环境:使用的matlab版本是 R2018b。 当前状况:MATLAB代码已经编写好,且运行成功。需要打成jar包才可以被java调用。 步骤一: 按照…

Unity和Android混合开发

Unity和Android混合开发 通用的流程 https://blog.csdn.net/zhangdi2017/article/details/65629589 应用场景 Unity游戏中一些功能需要安卓系统的支持,如搜索wifi等。而且想接入SDK时,很多都是针对安卓的SDK,很少有针对Unity的&#xff0c…

Android App混合开发

混合开发的App(Hybrid App)就是在一个App中内嵌一个轻量级的浏览器,一部分原生的功能改为Html 5来开发,这部分功能不仅能够在不升级App的情况下动态更新,而且可以在Android或iOS的App上同时运行,让用户的体…

混合开发Hybrid App有哪些优势和不足?

从当前移动开发的实际情况来看,移动端的开发方式三分天下:纯原生(Native App)、混合开发(Hybird App)、网页应用(Web App)。 纯原生(Native App)&#xff1…

前端混合开发

gitbook完整版集合 混合开发 混合开发 一部分原生一部分js内嵌浏览器壳web手机端网页:手机操作比较困难,一般没有手机操作权限 混合开发框架 weex:采用vue框架,可打包成appreact-native:采用react框架 react语法加…

什么是混合移动App开发?

这里写目录标题 什么是混合移动App开发【重点】关于移动App开发,需要知道的几个概念: 为什么要学混合App开发从程序员的角度分析:从企业的角度分析:(选择合适自身的移动App开发方式)【重点】 企业如何选择合适自己的App开发方式企业中项目开发…

Flutter 混合开发

在Flutter 开发中混合的形式主要有两种 作为独立的页面 进行维护可以相互嵌套 原生集成 Flutte 混合开发的步骤: 创建 Flutter module添加 Flutter module 依赖(为原生项目添加 Flutter 依赖)在 Java/Object-c 中调用 Flutter module编写 Dar…

谈谈App混合开发

混合开发的App(Hybrid App)就是在一个App中内嵌一个轻量级的浏览器,一部分原生的功能改为Html 5来开发,这部分功能不仅能够在不升级App的情况下动态更新,而且可以在Android或iOS的App上同时运行,让用户的体…

原生开发、H5开发与混合开发的区别

文章目录 前言三种方式分别的优缺点原生开发Web APP (HTML5)开发混合(原生H5)开发 三种方式对比 前言 移动应用开发的方式,目前主要有三种: Native App: 本地应用程序(原生App) Web…

Android Hybrid混合开发

关于混合开发常问道的问题: Android如何嵌套h5页面?h5页面如何调用Android接口?Android如何调用网页(js)方法?h5页面 判断 移动端是ios、或者Android 问题1.android如何嵌套h5页面: 当我们用vue开发完项…

混合开发(Hybrid App)有哪些优劣点?

从当前移动开发的实际情况来看,移动端的开发方式三分天下:纯原生(Native App)、混合开发(Hybird App)、网页应用(Web App)。 那么,混合式开发与其他的两种开发模式相比&…

原生开发、H5开发和混合开发的区别

目前市场上主流的APP分为三种:原生APP、Web APP(即HTML5)和混合APP三种,相对应的定 制开发就是原生开发、H5开发和混合开发。那么这三种开发模式究竟有何不同呢?下面我们就分别从这三者各自的优劣势来区分比较吧&#…

混合开发

一、原生语言: 苹果手机:ios系统,由swift和c/object-c语言编写,后缀名为 ipa(ios开发的安装包的后缀名) swift语言是一种开源的语言 安卓手机:android系统,由java(andr…

Android : 混合开发整理指南

混合开发: 是一种开发模式Hybrid App. 混合开发 Native Web. 另一篇博文:Kotlin与H5通信 场景应用: 例如: 微信公众号通过JSSDK连接Native端和Web端 微信小程序通过内置框架连接Native端和Web端 混合开发的核心技术: JS…

Hybrid APP混合开发的一些经验和总结

Hybrid APP混合开发的一些经验和总结 写在前面: 由于业务需要,接触到一个Hybrid APP混合开发的项目。当时是第一次接触混合开发,有一些经验和总结,欢迎各位一起交流学习~ 1、混合开发概述 Hybrid App主要以JSNative两者相互调用为…

【Python编程入门】引言

What is Python? Python 是由 Guido van Rossum 工程师于1991年所开发,是一种高级的、解释性的、交互式的通用型编程语言。它被设计成具有高度可读性,是一门动态编程语言,并且具备自动垃圾回收机制。Python支持多种编程范式,其中…

python编程入门到实践pdf,python编程入门课 视频

初学者学Python编程如何快速入门? 谷歌人工智能写作项目:小发猫 初学python入门都需要具备那些条件? Python相对比较简单,零基础也能学typescript在npm安装后检测不到。系统学习的话,一般4-6个月左右能学好。python是一门语法优…

Python编程:从入门到实践(基础知识)

第一章 起步 计算机执行源程序的两种方式: 编译:一次性执行源代码,生成目标代码解释:随时需要执行源代码 源代码:采用某种编程语言编写的计算机程序 目标代码:计算机可执行,101010 编程语言…

Python从入门到实践电子书,python编程入门到实践pdf

《Python编程从入门到实践》txt下载在线阅读,求百度网盘云资源 《Python编程》([美]埃里克马瑟斯(Eric Matthes))电子书网盘下载免费在线阅读资源链接:链接: 提取码:6vcz 书名&a…

《我的世界》Python编程入门(1)Minecraft(我的世界)Python编程环境搭建

一、Minecraft环境搭建(手动模式) 环境搭建分为三个部分: 1.1、Java环境 Minecraft原始版本是用Java开发的,因此,想运行Minecraft需要安装jdk。安装Java jdk8相对来说兼容性比较好。 (1)安装…