Android与H5混合式开发详解

版权声明:本文为博主原创文章,不得随意转载,转载请注明出处!!! https://blog.csdn.net/YuDBL/article/details/87547324

声明:本教程不收取任何费用,欢迎转载,尊重作者劳动成果,不得用于商业用途,侵权必究!!!

目录

一、前言

二、Android与H5简介

1、浅析原生Android与HTML5

2、Native App的优缺点

3、H5的特点

4、web app 和 原生app 的对比,以及使用场景


一、前言

前几天有朋友问到:“Android电商开发有什么难点和技术点吗?你做那个联想商城、万达商城哪些界面用h5了?你们之前做的是内嵌了很多h5吗?”。然后寻思找找以前学习的总结笔记,写成博文分享一下。

二、Android与H5简介

文章内容主要分为5点,而这5点主要目的就是给大家去分析原生App与Web App的各自优缺点,以及两者混合实现的交互功能。

1、浅析原生Android与HTML5

2、什么是Android与H5的交互?

3、如何实现Android与H5之间的交互?

4、Android与H5交互案例演示

5、如何才能达到Android与H5之间的混合式开发?

 

1、浅析原生Android与HTML5

     

首先来去看一下这2张图片,在这张图片当中大家可以看到,有数目众多的各个品牌和型号的手机。其实我们通过这张图片,是想给大家去展示,那么多移动设备加入到了我们的互联网。根最新的一个研究结果显示,我国新的手机数量已经达到12.8亿,那这么多手机,必定会给大家带来,应用程序的一个巨大繁荣。因为我们每个人的手机上,都会装着各种应用程序。

其实所谓的原生app,一种是Android的手机,一种就是IOS的苹果手机。这种app是移动平台所特有的,他依赖手机的种类和型号。Android和IOS手机的软件,他们要分别来进行开发,然后在开发上使用的工具和语言都是不同的。如:Android使用的是java语言,开发工具为eclipse、Android Studio。那么web app呢?当然用的是H5 。

那么web app在实现过程中又有什么特点呢?

它是只编写一次可以到处运行的开发程序,它不依赖手机平台。无论是Android系统手机还是IOS系统手机,它都可以运行。那么我们到底是选择原生app开发,还是选择web app开发呢?他们有各自的优缺点,那么如果我们能把他们的优点结合起来就更好了,我们把这种开发模式称之为Android与H5混合式开发。我们可以看看下面的图片,Native、Hybrid、Web即对应原生开发、混合式开发、Web app开发

2、Native App的优缺点

优势

(1)优秀的用户体验和华丽的交互操作。

这个主要体现在我们使用手机的流畅性上

(2)可不受网络速度限制,节省带宽成本。

我们原生开发一般都是抓取接口得到json字符串、xml等数据,然后在本地进行解析,所以网络速度我们可能单纯就字符串来说,没有特别大的限制。但是对于web app的实现上来说对速度有一定的要求。

(3)可访问本地硬件设备和资源。

主要指的是调用手机本身的硬件,比如说:摄像头、传感器等

(4)盈利模式明朗

劣势

(1)不同平台之间移植麻烦。

它是针对Android手机、苹果手机开发的,不能相互跨平台

(2)维持多个版本的成本比较高。

后期会不断收到升级优化的对话框。如:各种节假日活动,这个时候就会安装提示需要你升级才能参加这个活动。

(3)需要通过第三方审核。

如果你想app上线,需要接受第三方审核,因为你可能要上传到商店上,而商店就要进行审核才能通过。如:小米商城、华为商城、vivo商城等

(4)盈利需要与第三方分成。

因为你可能要上传商店上,而用户下载app大部分都是从商店上下载的,那么商店可能就要收取你一部分费用或要对你的利润进行分成

3、H5的特点

(1)h5可以让你摆脱对平台的依赖,用户打开浏览器,直接就可以访问你的应用,而不需要经过各种store的审核。

(2)h5支持音频、视频等多媒体,无需任何插件即可可观看收听。

(3)用户可以离线使用,更新下载量极少,可以全部更新,也可以选择替换部分文件。

(4)使用h5,代码更加安全,众所周知Web应用有一个很大的开发问题就是代码安全的问题,但现在Android Html5可以将Web代码全部加密,本地应用解密后再运行,大大的提供了代码的安全性。

(5)Html5可以做到跨平台,多数核心代码不用重写,在许多地方都可以用到,包括移动应用、移动网站、手机网站、各种浏览器。

4、web app 和 原生app 的对比,以及使用场景

 1、如果APP中出现大段文字。(h5)

如:新闻类、攻略类等一些软件,那他的格式就比较丰富了。

比如说:你的文字下面可能穿插着图片或者音频、视频等等,或者字体样式更加丰富,比如说要加粗等效果

这个时候我们可能就要使用H5来完成了。

2、如果讲究APP的反应速度。(原生)

那反应速度就包括页面的流畅性,那如何看这个页面的流畅性?

比如说:我们去滑动这个页面,没有卡顿的情况下,这个时候我们要使用原生的应用程序了。

因为我们要想使用Web App的时候,我们要知道它在滑动的时候,是需要加载整个页面的,就是说当页面再去切换的时候

由A页面到B页面,那它页面要重新加载,加载过程中会比较慢。

3、如果APP对有无网络、网络优劣敏感。(原生)

比如:离线操作、在线操作等比较敏感,这里推荐使用原生APP

虽然h5也可以实现,但是实现起来相对比较复杂。

4、如果APP需要频繁调用硬件(原生)

推荐使用原生APP,比如:摄像头、麦克风、传感器等等

5、如果APP用户常见页面频换(h5)

比如:最近淘宝、京东等一些活动,它的页面会不断的去更换,需要不断去做新的页面,就要花费大量时间和成本。

这里推荐使用H5,成本比较低、效率比较快。

6、如果预算有限(h5)

也就是说开发成本。那我们可以开发一个跨平台的,既可以在Android手机上又可以在苹果手机上去使用,

那我们就考虑使用h5,如果用户体验要求不是很高的话,那么H5就是我们的最佳选择。

 

那么通过以下6点,我们会发现在开发原生APP和Web APP,他们有各自的优缺点,

能不能采取一种方式,把两者的优点集于一身进行开发呢?

这时候我们就出现了一种新的开发方式:H5 + 原生 = 混合开发(Hybird APP)

 

后面我将会写余下几点的内容文章

2、什么是Android与H5的交互?

3、如何实现Android与H5之间的交互?

4、Android与H5交互案例演示

5、如何才能达到Android与H5之间的混合式开发?

6、原生app如何与h5框架交互?

敬请关注!!!

 

 

 

 

 

 

 

猜你喜欢

转载自blog.csdn.net/YuDBL/article/details/87547324