App内的网页和浏览器上的网页

一:熟知的浏览器

Safari浏览器, Mac,iphone,ipad上等平台使用的浏览器, 使用内核为 WebKit。
IE浏览器, Windows系统上使用的浏览器, 使用内核为 Trident。
FireFox浏览器, Windows系统上使用的浏览器,使用内容为Gecko。
Chrome浏览器,windows,MacOS等多平台,使用内核WebKit。
360极速,搜狗,QQ浏览器等,Windows平台,trident/webkit双核

二:App中的控件(浏览器)

这里不应该说是浏览器,因为App加载网页使用的都是控件,但他们的功能和浏览器是差不多的,只不过没有他们那么强大。但这些系统提供的框架,也是基于各自平台的内核的。

iOS平台,UIWebView,WKWebView控件,使用框架为WebKit(浏览器中叫内核,手机中叫框架)。只不过UIWebView使用的是阉割版的WebKit框架。所以从这点就可以看出,WKWebView要比UIWebView更好更强大。WKWebView是苹果在iOS9以后推出的APP内部使用的新的控件,并且在iOS12中,苹果明确标识,UIWebView已经被废弃,在使用UIWebView的时候,会提示被废弃请使用WKWebView。
Android平台,WebView控件,使用框架为WebKit。

三:控件和浏览器加载的网页都是一样的东西

网页是由三部分组成,Html文本文件,CSS文件,JS文件。html文件展示图片,文本,视频等资源。CSS文件,处理图片,文本等样式。js处理数据和用户交互等。
App内和浏览器中,加载同一个网页,加载的资源等都是一样的。

四:App内控件和浏览器的区别

1,App内部控件

App内容控件,不管是UIWebView,WKWebView还是安卓的WebView,都是为开发者提供使用的,其作用只是为了在手机App端能够独立显示自己公司开发的网页。比如在特定的地方,用户点击跳转指定的网页。但是这些控件仅仅是只有展示功能的,当然这些控件也提供了很多的功能型的API,但是这些是用户不能直接去使用的,因此开发者往往在使用这些控件的时候,往往还需要做一些大量的额外的操作。比如网页的刷新,返回,Cookie的处理,js交互,网页和原生页面来回切换等等等等。

2,浏览器

浏览器则可以理解为一个工具了,其实也是一个App,一个软件,其提供了完整的对网页的操作。想Cookie,刷新,返回等,用户都可以直接在浏览器中操作。但它也有局限性,就是它只能显示网页。可以说它是为了加载网页而生的。

五:影响网页加载速度的原因

参考文章 https://blog.csdn.net/WebDestiny/article/details/100119649
首先要明确一点,拿网页在浏览器中的加载速度和手机上的加载速度做对比,是件很愚蠢的事,虽然控件和浏览器使用的内核都是一样的,但是其作用和功能是有本质的区别的。
1,HTTP请求
网页中80%~90%时间花在了下载页面中的所有组件进行的HTTP请求上。因此,改善响应时间最简单的途径就是减少HTTP请求的数量
2,CSS Sprites
CSS Sprites直译过来就是CSS精灵,即页面上有许多重复的图片,可以选择用精灵图的的方式还有压缩图片和更改图片格式,使用CSS Sprites还有可能降低下载量,可能大家会认为合并后的图片会比分离图片的总和要大,因为还有可能会附加空白区域。实际上,合并后的图片会比分离的图片总和要小,因为它降低了图片自身的开销,譬如颜色表、格式信息等。还有一些小图片尽量用字体图标替代,
3,图片和js
大图片会使用大量的资源,因此网页中的图片都是要经过压缩处理,达到一个合理的大小。
js的滥用和不合理使用,也是会造成网页加载速度缓慢,比如一个网页中,没有使用的js,也被引用了,那就会耗费资源去加载它,也就影响了加载速度。还一种情况是,当js比较多的时候,那就需要考虑将其压缩,并优化其引用方式了。
在实际的网页优化过程中,将js进行压缩,是对资源的一种优化,从而优化了其加载速度。引入方式的优化,是指对其进行懒加载,其在不影响功能的情况下,对js的引入时机进行了合理的处理。
这些影响在浏览器中往往不太明显,但对App中的影响则比较大。
4,接口响应速度
这个是指资源的响应速度,这点举个例子,比如1M带宽的服务器和10M带宽的服务器,其网页的加载速度可想而知。当然影响接口响应速度的不仅仅是带宽,更多的是开发者自己使用的框架和编写的代码。
5,网络环境
这点我想不用多解释,2G和4G的区别,2G能看小说,3G能看图片,4G能看视频。
以上可以说是一些通用的影响,下面是在手机中的影响
6,手机品牌的配置
这个比如两核的和四核的区别。
还有各厂商对自己手机网络环境的优化处理,不同品牌的也有不同。
7,App内开发者的处理
比如苹果,使用UIWebView控件和WKWebView控件,也有的差异,WKWebView要更好更快。但其坑也多,工作量也大。
还有整个App对资源的使用,因为App不单纯的是去加载网页,其只是一部分资源去加载网页,这点就比不过浏览器,浏览器所有的资源都是为了加载网页。

总结:一个流畅的网络页面,需要考虑各种因素,对其的优化,要多个平台同时努力,才能发生质的变化。

你可能感兴趣的:(App内的网页和浏览器上的网页)