APP封装从一门开始
一门提供APP封装底层开发框架,一键在线APP封装,200+原生APP模块,2000+JS映射接口按需自助封装

使用h5进行混合app开发

H5(HTML5)是HTML最新的版本,它加强了在移动端的支援,有更好的体验、优化更适合移动端的Web应用程序。混合开发指的是在一个native的应用容器中,通过嵌入webview,将H5页面作为应用的一部分或者是全部,达到类似native应用的体验。下面为大家详细介绍H5进行混合app开发的原理。

## 1.前言

移动端开发中,App应用成为主流,而对于不依赖于硬件和系统融合的应用(如:社交、新闻、直播等),代码形式非常类似的WebView内嵌页面也成为了越来越多的选项。此时使用H5进行混合开发可以发挥特别的优势。

## 2. H5进行混合app开发原理

混合App开发,就是将Html5应用或网站包装为App可安装的形式,并在应用市场进行发布。在混合App开发中,H5页面是以WebView的方式展现的,WebView是Android系统提供的一个可直接嵌入页面的组件。WebView的好处是,可以通过非常简单的方式将H5页面嵌入到移动应用中并展现给用户,多数情况下实现的是集成HTML+CSS+JS三项技术的功能的包装。在WebView中,可以通过WebChromeClient与Js通信,完成页面功能的事件处理。

三项技术:

- Html5:HyperText Markup Language,也就是大家常听到的HTML。

- CSS:Cascading Style Sheets,是一种用于描述HTML等文档元素外观的语言。

- JS:JavaScript是一种面向对象的、动态的解释型计算机语言。

## 3.实现步骤

### 3.1 构建app内框架

针对Hyrbid App,则需要在Native应用(如IOS)上嵌入一个浏览器界面以调出具备业务逻辑运算能力的Webview。具体如何呷成需要用app框架方案,比如ReactNative,Ionic等。

### 3.2 页面管理

无论使用ReactNative还是其他框架,可以考虑采用单页面的方式进行页面之间的切换。前端也可以自主维护一套类似于路由的方案。

### 3.3 Native API调用

H5需要在Native App内调用某些原生的功能,这就存在一些安全性和可行性的问题。有专门的插件方案和原生桥接库的解决方法。常见的如Phonegap、Cordova、JPush Phonegap plugins,百度等。

举个栗子:

我们现在用的`window.location.replace`是属于JS里面的内部方法,它负责内部的页面跳转,但如果我们要访问到内部的native能力,就需要调用额外定义的API,比如第三方分享调用、拍照上传和调用原生地图等,这就需要调用到原生的能力了。很多案例使用JS将这些API封装到桥接库里面,这样调用的时候只需要执行如下代码:

```js

window.hackUtilsAPI.share({});

```

或者实际项目当中一些各种原生业务 JS 的业务复杂和难度就会大大降低。实现通信连接的方案有很多,主流的有:

1. Cocos2d-x自带的jsb库

2. WebView与native的的通讯方案

3. Phonegap的相关插件:PhoneGap在Javascript API与原生 API之间提供了一个桥接层,让HTML/CSS/JavaScript的应用程序能够访问手机的一些硬件设备和其他原生API的能力,如:Camera、Network、Acceleromete。

### 3.4 总体架构

H5与壳程序,以WebView应用为桥,两端通过协商好的方法进行数据交互,并得到原来的显著跨平台的能力。

## 4. 混合App优缺点

### 4.1 优点

- 跨平台:H5页面只需要编写一次,重新进行封装移植后即可同步在各个平台上面运行。

- 开发效率高:采用简单的html+js开发,不用像原生开发那样熟练掌握各种语言,所以开发效率提高很多。

- 更新方便:H5页面可以分离出去,单独发布,方便修改和发布,节省了重复编译和重新发布整个App的时间和流程。而原生更新完需要等待市场审核,并上线更新。

- 用户变现:使用H5页面进行混合开发时,可以通过增加广告或与项目的合作赚钱,发挥H5页面自身变现的优势。

- 兼容性较好:HTML5 的语法编写很多兼容性的方便处理,而且浏览器普及度也非常的高,可兼容性一般不会有问题。

### 4.2 缺点

- 用户体验和性能不如原生:H5页面在WebView内进行展示,与native程序进行比较出现各种问题,比如滑动卡顿,CPU占用率高,启动速度慢等。

- 编写难度较大:相比原生来说编写难度较大,前期难度很大。

- 安全性差:H5页面的开源和发布过程导致安全性差。

- 打包时开销增加:混合app需要在原生语言的基础上嵌入一些其他库以供使用,造成app包体积增大。

## 5. 总结

H5进行混合app开发,相比原生开发具有一系列的优势和劣势。在实际操作中,我们需要对当前项目需求做出完善的分析和需求,来选择最优的开发方式和工具。H5进行混合app开发虽然整体难度大,但适用范围广,开发效率高,适合一些轻度交互和动画类的应用,可以减小视频体量,同时业务逻辑不复杂的项目。总


相关知识:
专业的h5制作app
随着移动互联网的发展,人们对APP的需求也越来越高。而HTML5在移动互联网中也越来越受欢迎,因为它可以轻松地将Web应用程序转换成可以在移动设备上运行的应用程序。在这篇文章中,我们将详细介绍如何利用HTML5制作APP。首先,HTML5相比以前的HTML
2023-05-26
制作手机h5的app
随着移动互联网的兴起,越来越多的企业、品牌或者个人都在考虑开发一个移动APP来提升用户体验、吸引更多用户。而对于那些小型企业、创业公司,甚至是个人开发者来说,花费大量时间精力和财力来开发一款原生APP无疑是不划算的,因此,移动H5成了他们的优选。下面对如何
2023-05-26
用h5制作app
HTML5 是一种基于 Web 的技术,可以用于创建 Web 应用程序、应用程序、手机应用程序等。HTML5 使用最新的 Web 技术,包括 CSS3、JavaScript 以及新的标记语言,如 canvas 和 video 等,以增强 Web 应用程序和
2023-05-26
苹果手机上可以做h5的app
苹果手机上可以使用WebKit框架中的WebView实现H5应用。WebKit是苹果公司开发的一套开源的浏览器引擎,它被广泛应用于Safari浏览器、iOS和Mac系统等产品中。WebView是基于WebKit的浏览器控件,可以让应用程序显示网页内容。苹果
2023-05-26
雷霆传奇h5能不能封包做app
雷霆传奇H5是一款非常流行的网络游戏,玩家可以通过浏览器直接访问游戏网站进行游戏。对于一些喜欢游戏的用户来说,他们会想将游戏封装成APP,方便他们在手机上随时随地进行游戏。那么,雷霆传奇H5能否被封装成APP?下面将从原理和详细介绍两方面给出答案。首先,我
2023-05-26
h5制作app软件有哪个
随着移动互联网的发展,手机APP越来越受到人们的欢迎。HTML5技术的发展,使得开发者们可以使用HTML5制作手机APP软件,极大地扩展了制作APP的范围。本文就介绍H5制作APP软件的原理及相关的软件工具。一、H5制作APP软件的原理H5制作APP软件可
2023-05-25
h5游戏app咋开发的
H5游戏是一种基于HTML5、CSS3和JavaScript等技术开发的游戏形式,它具有平台兼容性、易于开发发布、客户端无需下载等优点,因此在近年来越来越受到游戏开发者和玩家的欢迎。接下来,将介绍如何开发H5游戏APP。一、技术选型 在开发H5游戏APP之
2023-05-25
h5移动端开发app教程
随着移动互联网的发展,越来越多的企业和个人开始注重移动端应用的开发。而其中,使用HTML5技术进行移动端应用开发的方式,成为了一种相对简单且快速的方式。本文将介绍使用HTML5技术进行移动端应用开发的原理与详细步骤。一、HTML5技术介绍HTML5是最新的
2023-05-25
h5用什么app做
H5,即HTML5,是目前最常用的网页开发技术之一。它具有功能强大,兼容性好,开发效率高等优点。许多人都想学习H5技术并开始自己的H5制作,但往往会遇到一些问题,例如不知道该用哪个软件来完成H5制作。下面我将为大家介绍几种常用的用于H5制作的软件。1. H
2023-05-25
h5框架和vue开发移动app
移动应用开发是当前互联网领域热门的话题之一,很多开发者会利用各种工具和技术来实现。其中,h5框架和vue框架都是比较受欢迎的开发工具。本文将就这两种工具的实现原理和详细介绍作一阐述。一、h5框架的实现原理h5框架是一种针对移动端开发的html5的技术开发框
2023-05-25
h5可以开发那些app
随着移动互联网的快速发展,越来越多的应用开发者开始关注 HTML5 技术。HTML5 是一种标准化的网页设计语言,可用于开发多种类型的应用程序。本文将介绍 HTML5 可以开发的 app 以及其原理。1. 基于 Web 的应用程序HTML5 提供了许多新功
2023-05-25
h5打包app配置支付
随着移动应用的普及,很多网站博主想要将自己的网站打包成一个app供用户下载。同时,很多网站也需要集成支付功能,以便为用户提供更好的服务。本文将介绍如何在H5应用中集成支付功能。一、支付功能的原理支付的实现主要由三部分组成:请求、验证和响应。其中,请求是指用
2023-05-25
©2015-2021 一门APP yimenapp.com  川公网安备 51019002001185号 蜀ICP备17005078号-3