Web App、Hybrid App、Native App介绍与对比

前言

如今我们用的app 到底要什么样的,做个什么样 的比较容易,如果要做一名Android工程师,到底要具备什么样的技能那,我有不知道,只能现在这种自学,照猫画虎,我个人觉的我这次想做的 辅导员助手app 应该属于Hybrid App开发中Android与H5(JS)交互。如果我要写资讯界面,就有了一个好处,就是可以脱离Android 程序,在服务器上 更新url 地址的内容,源码不需要改变什么。这是我目前觉得webview 这个控件对我开发的好处。

目前主流应用程序大体分为三类:Web App、Hybrid App、 Native App。

1. Web APP

例子:京东http://m.jd.com/

Web App 指采用Html5语言写出的App,不需要下载安装。类似于现在所说的轻应用。生存在浏览器中的应用,基本上可以说是触屏版的网页应用。

优点

(1)开发成本低

(2)更新快

(3)更新无需通知用户,不需要手动升级

(4)能够跨多个平台和终端

缺点:

(1)临时性的入口

(2)无法获取系统级别的通知,提醒,动效等等

(3)用户留存率低

(4)设计受限制诸多

(5)体验较差

在设计Web APP时,应当遵循以下几点:

1. 简化

  • 简化不重要的动画/动效
  • 简化复杂的图形文字样式

2. 少用

  • 少用手势,避免与浏览器手势冲突
  • 少用弹窗

3. 减少

  • 减少页面内容
  • 减少控件数量
  • 减少页面跳转次数,尽量在当前页面显示

4. 增强

  • 增强Loading时的趣味性
  • 增强页面主次关系
  • 增强控件复用性

2. Hybrid App

例子:淘宝、饿了么、京东、QQ、微信等等。

Hybrid APP指的是半原生半Web的混合类App。需要下载安装,看上去类似Native App,但只有很少的UI Web View,访问的内容是 Web 。

例如Store里的新闻类APP,视频类APP普遍采取的是Native的框架,Web的内容。

Hybrid App 极力去打造类似于Native App 的体验,但仍受限于技术,网速,等等很多因素。尚不完美。

3. Native App

Native APP 指的是原生程序,一般依托于操作系统,有很强的交互,是一个完整的App,可拓展性强。需要用户下载安装使用。

优点:

(1)打造完美的用户体验

(2)性能稳定

(3)操作速度快,上手流畅

(4)访问本地资源(通讯录,相册)

(5)设计出色的动效,转场,

(6)拥有系统级别的贴心通知或提醒

(7)用户留存率高

缺点:

(1)分发成本高(不同平台有不同的开发语言和界面适配)

(2)维护成本高(例如一款App已更新至V5版本,但仍有用户在使用V2, V3, V4版本,需要更多的开发人员维护之前的版本,不然旧版本出问题了,用户可能就不用了)

(3)更新缓慢,根据不同平台,提交–审核–上线 等等不同的流程,需要经过的流程较复杂

三、Hybrid App开发中AndroidH5JS)交互

 

       既然混合APP现在这么流行,开发成本、体验都是开发技术中的首选,那么我们有必要来学习一下。

 

       Android中使用HTML开发的核心是使用WebView、原生API与JS的交互。

Android与HTML5的交互有2种情况:

 

1.Android原生API 调用HTML页面中的JS代码

2.HTML页面中的JS代码调用Android原生API

 

为什么需要交互?因为HTML说到底只不过是一个静态的Layout,只有与原生API进行交互才能开发我们需要的功能。

 

下面开始介绍主要的核心步骤:

 

1.设置webView允许执行JS脚本:

webSettings.setJavaScriptEnabled(true);

 

2.添加通信接口(注意:InterfaceName要与JS中的名字一致)

webView.addJavascriptInterface(Interface,”InterfaceName”)

 

3. JS调用Android

InterfaceName.MethodName

 

4. Android调用JS(参数可以通过+“”+来拼接)

webView.loadUrl("javascript:functionName()");

 

 

发布了71 篇原创文章 · 获赞 19 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_39131246/article/details/89502463