原生app有多少webview_原生app优点

hacker|
94

文章目录:

android webview 有哪些软件应用

转载 本文主要对WebView进行介绍,包括webView 4个可以定制的点、设置WebView back键响应、控制网页的链接仍在webView中跳转、显示页面加载进度、处理https请求、利用addJavascriptInterface实现android程序和javascript交互等等

WebView基于webkit引擎展现web页面的控件,使用前需要在Android Manifest file中配置internet访问权限,否则提示页面无法访问

Xml代码 [url=][/url]

uses-permission

android:name="android.permission.INTERNET"

/

WebView控件功能强大,除了具有一般View的属性和设置外,还可以对url请求、页面加载、渲染、页面交互进行强大的处理。

WebView有几个可以定制的点:

(1)设置WebChromeClient子类,WebChromeClient会在一些影响浏览器ui交互动作发生时被调用,比如WebView关闭和隐藏、页面加载进展、js确认框和警告框、js加载前、js操作超时、webView获得焦点等等,详见WebChromeClient

(2)设置WebViewClient子类,WebViewClient会在一些影响内容喧嚷的动作发生时被调用,比如表单的错误提交需要重新提交、页面开始加载及加载完成、资源加载中、接收到http认证需要处理、页面键盘响应、页面中的url打开处理等等,详见WebViewClient

(3)设置WebSettings类,其中包含多项配置。WebSettings用来对WebView的配置进行配置和管理,比如是否可以进行文件操作、缓存的设置、页面是否支持放大和缩小、是否允许使用数据库api、字体及文字编码设置、是否允许js脚本运行、是否允许图片自动加载、是否允许数据及密码保存等等,详见WebSettings

(4)设置addJavascriptInterface方法,将java对象绑定到webView中,以方便从页面js中控制java对象,实现用本地java代码和html页面进行交互,甚至可以进行页面自动化。但如此做存在安全隐患,所以若设置了此方法,请确保webView的代码都是自己完成,详细使用addJavascriptInterface进行自动化见本文5使用addJavascriptInterface完成和js交互

1、back键控制网页后退

Activity默认的back键处理为结束当前Activity,webView查看了很多网页后,希望按back键返回上一次浏览的页面,这个时候我们就需要覆盖onKeyDown函数,告诉他如何处理,如下:

Java代码 [url=][/url]

public

boolean onKeyDown(int keyCode, KeyEvent event) {

if (webView.canGoBack() event.getKeyCode() == KeyEvent.KEYCODE_BACK event.getRepeatCount() == 0) {

webView.goBack();

return

true;

}

return

super.onKeyDown(keyCode, event);

}

其中webView.canGoBack()在webView含有一个可后退的浏览记录时返回true

webView.goBack();表示返回webView的上次访问页面

2、当前网页的链接仍在webView中跳转

Java代码 [url=][/url]

webView.setWebViewClient(new WebViewClient() {

@Override

public

boolean shouldOverrideUrlLoading(WebView view, String url) {

view.loadUrl(url);

return

true;

}

});

shouldOverrideUrlLoading表示当前webView中的一个新url需要加载时,给当前应用程序一个处理机会,如果没有重写此函数,webView请求ActivityManage选择合适的方式处理请求,就像弹出uc和互联网让用户选择浏览器一样。重写后return true表示让当前程序处理,return false表示让当前webView处理

Xml代码 [url=][/url]

Give the host application a chance to take over the control when a new url is about to be loaded in the current WebView. If WebViewClient is not provided, by default WebView will ask Activity Manager to choose the proper handler for the url. If WebViewClient is provided, return true means the host application handles the url, while return false means the current WebView handles the url.

Android系统 WebView是什么?有什么用?

现在越来越多的APP都内置了Web网页去加载视图,也就是我们常说的Hybrid APP混合应用,市场上很多平台都是这样做的,比如我们经常使用的淘宝、京东等电商平台。这些是如何实现的呢?在我们Android中有一个WebView组件,它就可以实现此类功能。它是Android中的原生UI控件,主要用于在APP应用中方便地访问远程网页或本地HTML资源,同时WebView也在Android中充当Java代码和JS代码之间交互的桥梁,实际上也可以将WebView看做一个功能最小化的浏览器。下面我们一起来看看WebView的一些常用的使用方法。

WebView是Android系统提供的一个能显示网页的系统控件,它是一个特殊的View,同时也是一个ViewGroup,可以有很多其他子View。在Android 4.4以下(不包含4.4)系统WebView底层实现是采用WebKit内核,而在Android 4.4及其以上Google采用了Chromium内核作为系统WebView的底层内核支持。在这一变化中Android提供的WebView相关API并没有发生较大变化,在4.4上也兼容低版本的API并且引进了少部分API。这里简单介绍下基于Chromium的WebView和基于WebKit的WebView之间的差异,基于Chromium的Webview提供了更广的HTML5、CSS3、JavaScript支持,在Android系统版本5.0上基于Chromium 37,WebView提供了绝大多数的HTML5特性支持,除此之外Chromium也支持远程调试(Chrome DevTools)。WebKit JavaScript引起采用WebCore JavaScript在Android 4.4上换成了V8能直接提升JavaScript性能。

二、作用

1、显示和渲染Web页面

2、使用html文件(网络上或本地assets中)作为布局

3、可与JavaScript交互调用

注: WebView控件功能强大,除了具有一般View的属性和设置外,还可以对Url请求、页面加载、渲染、页面交互进行强大的处理。

APP开发中SuperWebView是什么?有什么特点?

SuperWebView是APICloud在2016年开年推出的,那么这个东西它具体是什么?在APP开发有何要用处和那些特点呢?

一、什么是SuperWebView

SuperWebView是APICloud在2016年开年推出的全新产品,还是APICloud一款重要的端引擎产品,致力于解决系统WebView功能弱、体验差等问题,加速HTML5与Native的融合。SuperWebView 以SDK的方式提供,原生应用嵌入SuperWebView替代系统WebView,即可在HTML5代码中使用APICloud 平台的所有端API和云服务。

二、有何用处?

为了方便在原生App中应用APICloud技术,APICloud 提供了SuperWebView,它用于替换系统原生的WebView!并且通过APICloud平台,native工程师可以和web工程师共同使用SuperWebview;更好的发挥出自己的优势,轻松共同完成APP开发。

三、有哪些特点:

1、以SDK的方式提供,嵌入到原生工程中使用;

2、可以为每个应用动态编译生成专属的SuperWebView;

3、可以调用平台所有端API, 通过应用控制台进行配置;

4、可以使用平台所有的云服务,如版本管理、云修复、数据云等。

求大神指点,原生app、web app、混合app要怎么判断?

原生app,WEBAPP,混合app的差异

原生应用、Web应用、混合应用优缺点分析

原生App vs 移动Web App :定义

什么叫做原生App?

原生App是专门针对某一类移动设备而生的,它们都是被直接安装到设备里,而用户一般也是通过网络商店或者卖场来获取例如 The App Store 与 Android Apps on Google Play .

随便说几个原生App的例子,比如iOS 的 Camera+ 以及Android 的 KeePassDroid

什么叫做移动Web App?

一般说来,移动Web App都是都是需要用到网络的,它们利用设备上的浏览器(比如iPhone的Safari)来运行,而且它们不需要在设备上下载后安装。

什么是混合app?

Hybrid App是指介于web-app、native-app这两者之间的app,它虽然看上去是一个Native App,但只有一个UI WebView,里面访问的是一个Web App,比如街旁网最开始的应用就是包了个客户端的壳,其实里面是HTML5的网页,后来才推出真正的原生应用。再彻底一点的,如掌上百度和淘宝客户端 Android版,走的也是Hybrid App的路线,不过掌上百度里面封装的不是WebView,而是自己的浏览内核,所以体验上更像客户端,更高效。

汽车有混合动力Hybrid,移动应用同样也有混合模式。Hybrid App(混合模式移动应用)兼具“Native App良好用户交互体验的优势”和“Web App跨平台开发的优势”。很多人不知道市场上一些主流移动应用都是基于Hybrid App的方式开发,比如国外有Facebook、国内有百度搜索等。

综合一下就是:“Hybrid App同时使用网页语言与程序语言开发,通过应用商店区分移动操作系统分发,用户需要安装使用的移动应用”。总体特性更接近Native App但是和Web App区别较大。只是因为同时使用了网页语言编码,所以开发成本和难度比Native App要小很多。因此说,Hybrid App兼具了Native App的所有优势,也兼具了Web App使用HTML5跨平台开发低成本的优势

---------------------------------------------------------------------------------------------------------------------

2012移动开发调查显示Hybrid App开发占据一半以上

最近原生应用、Web应用、混合应用的名字让我们听得比较熟悉了,现在我们就通过评析各种应用的优缺点来更进一步看看这三者的区别。

一、原生应用

你使用过微软PowerPoint 或者Word吧?这些可直接在你电脑上运行或者在智能手机上运行,简单来说,原生应用是特别为某种操作系统开发的,比如iOS、Android、黑莓等等,它们是在各自的移动设备上运行的。

优点:

可访问手机所有功能(GPS、摄像头);

速度更快、性能高、整体用户体验不错;

可线下使用(因为是在跟Web相对地平台上使用的);

支持大量图形和动画; 容易发现(在App Store里面)和重新发现(应用图标会一直在主页上);

应用下载能创造盈利(当然App Store抽取20-30% 的营收)。

缺点:

开发成本高;

支持设备非常有限(一般是哪个系统就在哪个平台专属设备上用);

上线时间不确定(App Store审核过程不一);

内容限制(App Store限制);

获得新版本时需重新下载应用更新。

举例:Yellow Pages Group 就开发了是几个版本(iOS、黑莓、Android),他们在每一个原生应用市场都有上架。

二、Web 应用

Web应用本质上是为移动浏览器设计的基于Web的应用,它们是用普通Web开发语言开发的,可以在各种智能手机浏览器上运行。

优点:

支持设备广泛;

较低的开发成本;

可即时上线;

无内容限制

用户可以直接使用最新版本(自动更新,不需用户手动更新)。

缺点:

表现略差(对联网的要求比较大);

用户体验没那么炫;

图片和动画支持性不高;

没法在App Store中下载、无法通过应用下载获得盈利机会;

要求联网;

对手机特点有限制(摄像头、GPS等)。

对于这些缺点,如果能把HTML 5的优点用到Web上的话就会得到很大改善,尽管技术在提高,目前它还不能做原生应用可以做的每件事。

有些公司,比如金融时报继原生应用后也开发了Web应用,用户通过浏览器来访问他们的应用,因为他们的应用要采取应用内购买,而App Store是不允许应用内购买的,不然它们就无法拿到那20%-30% 的抽成了。

三、混合应用

混合应用大家都知道是原生应用和Web应用的结合体,采用了原生应用的一部分、Web应用的一部分,所以必须在部分在设备上运行、部分在Web上运行。

不过混合应用中比例很自由,比如Web 占90%,原生占10%;或者各占50%。

优点:

兼容多平台;

顺利访问手机的多种功能;

App Store中可下载(Wen应用套用原生应用的外壳);

可线下使用。

缺点:

不确定上线时间;

用户体验不如本地应用;

性能稍慢(需要连接网络);

技术还不是很成熟。

比如Facebook现在的应用属于混合应用它可以在许多App Store畅通无阻,但是掺杂了大量Web特性,所以它运行速度比较慢,而现在为了提高性能FB又决定采用原生应用。

结论

现在如果你在想哪种应用是最好的,那答案就是,看情况而定:

比如,你的预算是多少?预算充足的话可以开发几个本地应用加一个Web应用。

你的应用需要什么时候面市?Web应用可以很快地开发然后直接推出来。

你的应用需要包含什么特点和功能?如果跟手机的某些功能深度整合了,比如摄像头,需要呈现大量图形和动画就选原生应用好点。

用户界面

有些公司为同样的产品制作了原生App与移动Web App,

注意这两者的不同地方会产生不同的用户体验结果。

原生App vs 移动Web App : 你如何选择?

所以在你准备做移动App时,你应该先问问自己以下几个问题:

你的应用是否需要使用某些设备的特殊功能,比如摄像头,摄像头闪光灯或者重力加速器

你的开发预算

你的应用是否一定需要网络

你的应用的目标硬件设备是所有的移动设备还是仅仅只是一部分而已

你自己已经熟悉的开发语言

这个应用对于性能要求是否苛刻

如何靠这个应用赢利

我想这几个问题应该能让你做出明智的选择。

使用WebView嵌套自适应的网页来仿制APP,可以包装成原生APP一样么?比如桌面图标等?

可以的

通过phongGap或者extjs jquery mobile等等的移动开发平台开发

其原理就是将一个用HTML5开发的程序通过各种平台打包成apk ios winPhone等等的平台的应用

1条大神的评论

  • avatar
    访客 2022-07-08 下午 03:09:09

    b app、混合app要怎么判断?5、使用WebView嵌套自适应的网页来仿制APP,可以包装成原生APP一样么?比如桌面图标等?android webview 有哪些软件应用转载 本文主要对WebView进

发表评论