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蜜蜂
H5技术在移动端的应用越来越广泛,其中之一就是通过H5技术实现APP开发。在这个领域,蜜蜂(MIP)无疑是一个重要的代表。本文将详细介绍如何做一个基于H5技术的蜜蜂APP,并介绍一些原理和特点。一、蜜蜂(MIP)是什么?MIP是移动网页加速开放平台(Mob
2023-05-26
有没有可以免费制作h5的app
当今互联网环境中,移动端应用越来越被人们所关注,H5也逐渐成为了一种制作移动端应用的选择。很多人认为制作H5页面需要掌握一定的前端技能,但实际上,只要选择正确的工具,就可以非常轻松地制作出优美的H5页面。目前市面上有很多免费制作H5页面的工具和软件,其中比
2023-05-26
h5在线生成app
H5在线生成APP,是指利用一些特定的工具和技术,将HTML5网站或应用快速打包成移动APP,从而可以在各种移动平台上运行。H5在线生成APP工具,一般具备页面编辑、素材管理、代码转换等功能,使得APP的制作变得简单、快速、便捷。H5在线生成APP的原理是
2023-05-25
h5网站免费生成app
近年来,移动应用程序的使用率日益增长,许多公司和个人都开始考虑将自己的网站转化为移动应用程序,以吸引更多的用户。但是,为了开发一个本地应用程序,需要专业的开发技能和大量的时间和资金投入。因此,一些网站开始免费提供将H5网站转化为应用程序的服务,让用户可以轻
2023-05-25
h5开发的app有哪些
HTML5是Web技术的重要组成部分,HTML5应用程序可以跨设备运行,包括PC,平板电脑和智能手机。开发H5应用程序需要熟悉HTML5技术,如HTML,CSS和JavaScript,还需要了解开发框架和工具,以创建高质量的应用程序。下面将介绍几种常见的H
2023-05-25
h5开发手机app
HTML5是一种用于Web内容开发的标准,可以方便的创建并发布跨平台应用程序。与传统应用程序不同,HTML5开发的应用程序可以运行在多个设备上,包括台式机、笔记本电脑、平板电脑和智能手机。开发一个使用HTML5的移动应用程序涉及以下几个方面:1. 设计:首
2023-05-25
h5封装app跳转外部浏览器
H5封装App是现在很流行的开发方式,它能够带来很多便捷的功能,如本地推送、分享、支付等等。但是有时候,在App中无法满足用户的需求,需要跳转到外部浏览器来展示网页内容。本文将介绍这种需求的原理和实现方法。首先,我们需要知道,App是一个封闭的环境,它的沙
2023-05-25
h5封装安卓app源码
在移动应用开发的过程中,为了提高应用的兼容性和运行效率,不少开发者会将web应用封装为原生Android应用。而h5封装安卓app,则是将web应用通过WebView控件封装在Android应用中运行的一种方式。本篇文章将介绍h5封装安卓app的原理和实现
2023-05-25
h5打包网站成app
在移动互联网时代,网站和应用程序已经成为人们生活中不可或缺的一部分。对于企业来说,将网站打包成APP,可以有效提高用户粘性和推广效果,为企业带来更多的商业机会。下面将简单介绍一下如何将网站打包成APP。1. 原理简介将网站打包成APP的技术称为WebApp
2023-05-25
h5打包app和原生app的区别
随着移动互联网的发展,越来越多的企业或个人需要通过移动应用来扩大业务或者提高用户体验。而在开发移动应用的过程中,选择使用H5打包还是原生开发成为了一个热议的话题,这里将会详细介绍这两种开发方式的区别。一、概念介绍H5打包,也称WebApp,是将网页应用嵌入
2023-05-25
h5 app混合开发框架
混合开发是指使用Web技术开发应用,通过在原有的Native壳中集成Webview来呈现应用。混合开发的优点是可以快速迭代,同时又可以利用Native的优势,比如可以调用系统服务、获取硬件信息等。在混合开发中使用H5 App开发框架,在移动端开发中非常常见
2023-05-25
app生成的h5网页满屏
在移动应用开发中,很多应用都会将一些数据或者功能以H5页面的形式进行展示,常见的就是通过WebView加载一个H5页面。但是很多时候,我们希望将H5页面作为应用的一部分展示,而不是在WebView中单独打开。此时,就需要将H5页面嵌入到应用的布局中,并使其
2023-05-25
©2015-2021 一门APP yimenapp.com  川公网安备 51019002001185号 蜀ICP备17005078号-3