[seo白帽的操作]_以淘宝前端为例剖析HTML5与移动端页面的性能优化

www.百度优化.com 次浏览

摘要:这篇文章主要介绍了以淘宝前端为例剖析HTML5与移动端页面的性能优化,作者谈到了移动端浏览器与PC桌面的性能差距所导致的HTML5体验相异,以及CSS3动画等的使用问题,需要的朋友可以参考下首先,我们这里优化对象为移动站点。移动开发具备了pc开发所有的特点,并且可以使用一些pc端无法使用的一些手段(主要还是为了兼容ie

这篇文章主要介绍了以淘宝前端为例剖析HTML5与移动端页面的性能优化,作者谈到了移动端浏览器与PC桌面的性能差距所导致的HTML5体验相异,以及CSS3动画等的使用问题,需要的朋友可以参考下

首先,我们这里优化对象为移动站点 。
移动开发具备了pc开发所有的特点,并且可以使用一些pc端无法使用的一些手段(主要还是为了兼容ie8及以下浏览器啦),pc端的优化手段都可以在移动端使用。但是移动有些地方就不如pc端了(网络慢,不稳定),尤其2G网络,每秒按10kb来算,下载一个资源要耗很多时间。

HTML5页面优化点主要有以下几点:

1.redirect:重定向耗时
2.APP cache:读取缓存耗时
3.DNS:域名解析耗时
4.TCP:网络连接耗时
5.request和response:发起请求和接受响应时间
6.processing:接受到响应页面渲染时间
7.onload:渲染完毕,加载其他异步静态资源时间
优化思路可以针对以上每个点各个击破。
根据经验,优化重点主要放在静态资源加载和页面渲染,网络连接耗时和服务器响应时间不考虑在内。

随着Html5的正式定稿,移动前端步入APP世界的步伐也随之加速。目前主流的两大手机系统厂商(google、苹果)都是Html5的参与者,所以这两大系统在对html5的支持上基本是没什么问题的。然而对于很多开发者来说,也许仅仅是因为使用前的一番可行性分析便放弃这种方案。因为很多资料都叙述着Html5相比原生App的各种不足。其中最尴尬的一条莫过于“性能”问题。

前端性能问题与优势

因为这个问题,刚开始接触的时候我也有很强的抵触情绪。但后来慢慢的发现,其实很多时候性能本就不是问题。适当的调整Html和Css,我们的网页同样可以无限接近原生程序。而且个人认为,大多数时候程序是否流畅并非取决于某种编程语言,而是取决于写程序的人。相比通过各种代码填充来完成目标任务,我更喜欢把技术当做艺术,写代码也应该有所追求。(扯淡扯远了。)

其实,Html5相比原生App的开发有很多诱人的方面。

其一:可快速迭代。 最简单最直接的一个:IOS程序每次上传都需要通过漫长的审核时间,如果赶时间的话这是个问题,而且耐心等待之后未必就能得到一个我们想要的结果,审核不通也不是不可能。Html5开发完成之后也不用再次上传审核。(若与原生程序有交互变更,此项无效)
其二:跨平台。Html跨平台的特性早已不是一天两天的事了。IOS开发完成的同时,Android也基本完成。开发效率和成本上相比原生应用确实有较明显的优势。
其三:转发率高。现在打开微信朋友圈就能看到各种分享。如:文章分享,产品分享,XX店铺等。通过连接转发可以实现快速分享,提高流量。
谈完优势,再说说自身经历。本是一名老老实实的C#程序员,没事就学习各种程序优化(sql为主)的我在几个月前突然转向移动网页开发。在一个不算小的团队里前端工程师是一枚传统前端工程师。除能完成简单的手机布局外其他一窍不通,于是乎关于JavaScript、前端性能优化等各种重担都落到了我这里。由于前端所完成的仅仅是以html的形式展现出效果图的模样,很少涉及到性能问题。于是漫长的学习之路由此开始了。

究竟什么样的页面是需要优化的页面?

1、页面上下滑动时感觉卡顿不流畅或是基本不动;
2、动画效果卡顿,看上去感觉一帧一帧的跳动;
简单点说,就是感觉卡。也许iphone6不卡但是iphone4上会卡,也许iphone上不卡三星上感觉卡、魅族、小米、华为、联想?国内屌丝机各有个的长相各有各的特色,比如魅族的MX,其他手机都很正常的时候它就卡。Html兼容一直都不是一件容易的事。

上述问题该如何破?

解决问题的关键在于找到问题的所在。砍柴还得有装备,工具很重要。以前用chrome,是因为感觉这货比较好使(直到放弃多年来一直钟爱的IE)。几个月前才发现这是一个调试工具也很好使的浏览器(简直就是神器)。其实关于html性能问题,很多博客上都有解释重绘这个事。下面主要谈谈如何用chrome鉴别重绘元素。

打开chrome,开启开发者工具(F12)。打开模拟器,并选择需要模拟的设备,在Console中选择Rendering 选中第一条(Show paint rectangles)。若打开开发者工具后没看见下方Console这块可以按下Esc。

完成上述操作后,请将视线移动到左侧网页上的绿色矩形框上。

ps:一直都很喜欢淘宝的广告,创意从未间断过。

这个绿色框就是浏览器重绘的部分。这个框越大,说明重绘的区域也就越大。重绘并没什么问题,这很正常,不正常的是大面积重绘,比如上图中的时间跳动,如果仅仅是时间那个区域重绘并没有什么问题,要是整个页面都一直闪着个绿框框那就完蛋了。为何大面积重绘会出现性能问题,这个还得从浏览器渲染上谈起。那是一个很长的故事,有兴趣的朋友可以找些资料看看。简单的举例就是,浏览器把html文档解析成网页展现到我们面前,其中间是一个“漫长”的过程。再载入文档之后需要对html进行分割、读取并计算其样式大小、然后进行图层绘制、合并图层等一系列操作。整个过程其实使用最多的部件是CPU和GPU。

重绘的面积大小和回流(reflows)有关,关于回流其实可以这样理解,当改变一个元素后对其它节点元素产生影响。就如同可石子投入水中引起的波纹一样,波纹所到之处基本都会有所影响。而在Html中子节点的变化会引起祖先的回流,同时也会影响到部分兄弟节点,大部分的回流将导致页面的重新渲染。那么如何降低回流,减小重绘面积呢?淘宝时间不也只更新了一小块么!这里提供两种方法:

1、使用 position 属性的 fixed 值或 absolute 值。
2、创建独立的Layer(层)(为避免和div(层)产生混淆文中尽量同一使用Layer)。
继续看淘宝:

第一种方法已经很明显了就不再赘述。说说第二种方法吧。首先说说在Chrome中如何查看独立的Layer呢。如上图,选择Show composited layer borders后在页面上独立的Layer上回显示一个橘黄色边框。那么又要如何才能建立独立的Layer呢?

在Chrome中创建独立的Layer仅需要符合下述条件之一:

1.有3D元素的属性;
2.video标签并使用加速视频解码;
3.canvas元素并启用3D;
4.插件,比如flash;
5.CSS动画;
6.CSS滤镜;
7.有一个后代元素是独立的layer;
8.元素的相邻元素是独立layer。
看上去挺多挺复杂的,其实最简单、最容易理解、也最容易滥用的是第一条。实现第一条仅需要在元素的样式里加上。transform:translateZ(0);-webkit-transform:translateZ(0); 就可以了。我们将淘宝往下滑动一点,找一个元素试试看。

还是看淘宝:

当加上css样式后对应的元素上出现了橘黄色边框,事实证明这招是有效的。而在Chrome中这样做可以启用GPU硬件加速。初次看到加速两个字让人觉得无比兴奋,仿佛找到了克敌制胜的无敌神招。可是,首先这是在chrome下,其次大量使用真的好吗?

其实就算是在chrome下GPU也未必能排上用场,首先需要确定你的GPU驱动程序不在chromium的黑名单中。因为某些GPU驱动程序存在错误,可能会影响浏览器稳定,所以会被加入到黑名单里。在chrome地址栏里输入 about:gpu 可以查看相关的GPU信息。现在再说说GPU加速的事情吧,简单点解释就是通过GPU渲染的Layer,GPU会将图层信息缓存起来,到下次改变的时候就只需要重新渲染修改过的部分。这样固然是快,但是会加大系统RAM和GPU的内存开销。在配置参差不齐的移动设备上,过多的层不仅不能加速,反而会严重影响性能。很多时候我们在感觉到移动网页较卡的时候不防试试减少页面上的Layer试试。

通过Chrome我们还可以鉴别一些其他影响性能的方面。比如:

上面两幅图,左边一幅是百度.新闻的移动网页版,箭头指向的是这个页面的loading效果(就是一种一直一直转动的感觉)。右边是以前最常用的一种loading。在效果上两种方式都一样,一直不停的转动。而区别在于右边的loading是一个带有背景图片的div,通过css3使其产生转动效果;而右边则是一张Gif动态图片。虽然效果上一样,但在浏览其中我们可以看到右边的loading会有一个不停闪动的绿色框(频率相当高)。gif动画会导致浏览器不断的进行绘制、栅格化、合成,整个过程相当影响性能,所以最好干掉它。

简而言之言而简之:

布局

1、减少重绘,减小重绘面积(改良布局,创建独立的Layer),降低重绘频率。
2、合理使用GPU加速,避免过度依赖GPU而导致性能下降。
动画

说完布局,再简单谈谈动画吧。

常用的JavaScript动画在移动web上很多时候都显得心有余而力不足(不给力啊)。这个原因很多, JavaScript动画通常是通过定时改变元素样式属性的方式来实现,JavaScript的运行是在一个独立线程里完成的,作为单线程程序, JavaScript会因为某个耗时动作而影响下一帧动画的执行。而且,JavaScript的定时也并没有想象中的那么守时,如在setinterval中设置每毫秒输出一个数, 当输出到2000次的时候,当真就只需要2秒钟吗?相比之下更加推荐使用CSS3来完成相关动画效果。首先Css由独立线程完成,它和JavaScript的运行并不冲突, 其次Css3很多属性不会触发重绘(当然JavaScript里也可以是改变的css3的属性)。 从流畅度上来讲的话Css3基本上完胜JavaScript,而且操作较容易。关于Css3相关知识就不再赘述。

然而Css3的动画也并没有想象中那般完美。

首先,在动画控制上不够灵活,整动画过程不太好监控。
其次,其兼容性不太好。仅移动端而言,位移动画通常使用transform,但在某些浏览器中需要使用-webkit-transform(如微信里的浏览器)。
虽然Css3并非完美解决方案,但实际使用中大多数时候是完全可以解决我们所遇到的问题 (遇到复杂问题再解决吧,事在人为嘛,解决问题也是一种乐趣)。 且目前的移动应用上并不推荐过于复杂的效果设计。

辽宁万词推广如何做引流

餐饮加盟品牌推广引流

百度搜索引擎是怎么抓去页面的?

百度搜索引擎是怎么抓去页面的?搜索引擎为用户展现的每一条搜索结果,都对应着互联网上的一个页面。这个页面产生需要通过抓取、过滤、建立索引和输出结果,这就代表网页被收了了,详细的教程请看下文介绍

  从输入关键词,到百度给出搜索结果的过程,往往仅需几毫秒即可完成。百度是如何在浩如烟海的互联网资源中,以如此之快的速度将您的网站内容展现给用户?这背后蕴藏着什么样的工作流程和运算逻辑?事实上,百度搜索引擎的工作并非仅仅如同首页搜索框一样简单。

  搜索引擎为用户展现的每一条搜索结果,都对应着互联网上的一个页面。每一条搜索结果从产生到被搜索引擎展现给用户,都需要经过四个过程:抓取、过滤、建立索引和输出结果。

  抓取

  Baiduspider,或称百度蜘蛛,会通过搜索引擎系统的计算,来决定对哪些网站施行抓取,以及抓取的内容和频率值。搜索引擎的计算过程会参考您的网站在历史中的表现,比如内容是否足够优质,是否存在对用户不友好的设置,是否存在过度的搜索引擎优化行为等等。

  当您的网站产生新内容时,Baiduspider会通过互联网中某个指向该页面的链接进行访问和抓取,如果您没有设置任何外部链接指向网站中的新增内容,则Baiduspider是无法对其进行抓取的。对于已被抓取过的内容,搜索引擎会对抓取的页面进行记录,并依据这些页面对用户的重要程度安排不同频次的抓取更新工作。

  需您要注意的是,有一些抓取软件,为了各种目的,会伪装成Baiduspider对您的网站进行抓取,这可能是不受控制的抓取行为,严重时会影响到网站的正常运作。

  过滤

  互联网中并非所有的网页都对用户有意义,比如一些明显的欺骗用户的网页,死链接,空白内容页面等。这些网页对用户、站长和百度来说,都没有足够的价值,因此百度会自动对这些内容进行过滤,以避免为用户和您的网站带来不必要的麻烦。

  建立索引

  百度对抓取回来的内容会逐一进行标记和识别,并将这些标记进行储存为结构化的数据,比如网页的tagtitle、metadescripiton、网页外链及描述、抓取记录。同时,也会将网页中的关键词信息进行识别和储存,以便与用户搜索的内容进行匹配。

  输出结果

  用户输入的关键词,百度会对其进行一系列复杂的分析,并根据分析的结论在索引库中寻找与之最为匹配的一系列网页,按照用户输入的关键词所体现的需求强弱和网页的优劣进行打分,并按照最终的分数进行排列,展现给用户。

  综上,您若希望通过搜索引擎为用户带来更好的体验,需要您对网站进行严格的内容建设,使之更符合用户的浏览需求。需要您注意的是,网站的内容建设始终需要考虑的一个问题是,这对用户是否有价值。

 家装行业竞价推广引流今天来说说淘宝手机的那些事~(已经得罪很多人了)

怎么样去引流推广呢

我家的机器全都是原装机,如果是假货:飞机票过来吃给你看!

价格看这里://www.douban.com/note/453654570/

机器看这里://www.douban.com/photos/album/138498520/

 

 

我的东西价格高,没有赠品,只有配。您想要低价啊。

上某宝,包邮送赠品哟,翻新机,妖机配,送会爆炸的充电宝等等...

“千万不要在淘宝买手机哦~”

你以为淘宝在网上的卖价比专卖店便宜那么多

差价是天上掉下来的吗??全都是有猫腻的。。。

那些“专业术语”,。你们听都没听过。。。

货机水货机大家都懂。。这是很普及的知识 。。不解释。。

我想说不管是行货还是水货。。只要是手机请大家不要在淘宝入手。。

因为。。这个世界真的太疯狂了。 什么事都有可能发生。。

翻新机:

通常我们出货的最多的是翻新机、

因为翻新机是收来以后整新机卖的。。这样利润空间比卖“真行货机”大。。

然而专业团队翻新出来的机器一般来说是看不出任何破绽的。。

忘记处理一些什么而被客户发现是翻新机的几率是很小的。。一般都是被直接退货。。

淘宝卖的80%都是翻新机。。

重组机:

重组机是很可怕的。。

对于一些已经上市很久的机器。。

在市场内的商家们已经掌握了“制造”它的所有技术。。

这种机器一般是很贵的那种机器。。

比如三星的W589..这种机器电信合约版好像能卖到四五千快。。

然后商家们掌握这种技术后。。

可以肆意的生产制造这种手机。。

(当然,和质量和功能正品是没的比的、)

商家在市场上收来W589手机的主板、转轴(翻盖)、排线、摄像头、

字粒(按键)、后盖。。屏幕。。以及其他小零件。。

之后就可以开始组装了。。

淘宝上面写的。。正品行货!如假包换。。官网可查询。。神马的~

全部!全部都是浮云。。

等我给你们介绍了 克隆机以后。。

你会发现。。。原来世界真的阻止不了奸商了。。。

克隆机啊!!!

在特色社会主义下诞生的神物~~

克隆机—讲简单一点..

克隆机的定义就是“将水货手机变成行货~”

其实克隆的手法和我上面提到的差不多。。

但是我没见到过它被“克隆”的过程。。

大概也就是将水货手机以前写进去的水货的IMEI码洗掉。。

然后写进行货的IMEI码、、

将手机中的各项设置刷机刷的和行货一摸一样。。

别说你们。。就连我都看不出来有什么区别。。

这种手机在官网查也是有效的。。甚至可以进三星的售后服务、维修部。。

这种手机在比较新款的手机上也有可能会用到、、

(前提是你能有能力打进三星内部获得他的手机写码指令和写码软件)

甚至有些三星实体店为了高利润也直接将克隆机上架出售、

(我们上家有一条下线是上海某三星专卖店。。。)

唯一。。不完美的是。。克隆机毕竟是克隆机。。它会出现一码多机的现象。

一个IMEI码N个手机 - - 要是同时出现的话...

想必场面是很尴尬的。

这些事还是很少人知道的。。

不要问我具体都有什么机型、、我也不想多说。。

我只能说。。

“很多很多。。各种品牌..”

“淘宝猛于虎啊。。购买需谨慎。。”

完毕、、

谢谢。。

广告推广引流使用-大将军20

想了解更多关于【掌握seo技术后怎样赚钱?(利用seo技术赚大钱)】和【什么是百度联盟 】的朋友请站内搜索。想做黑帽或者白帽推广的老板请添加客服。 www.百度优化.com 为您24小时服务!
随机内容
[青铜峡行业推广引流]_嵊州搬家引流推广皆到天天软文第一次,百度首次发布愿景 [青铜峡行业推广引流]_嵊州搬家引流推广皆到天天软文第一次,百度首次发布愿景
[金昌推广引流]_有甚么好的推广引流方法呢2017中国企业500强榜单公布,入围门槛为283.11亿元 [金昌推广引流]_有甚么好的推广引流方法呢2017中国企业500强榜单公布,入围门槛为283.11亿元
[教育推广课程引流工作好做吗]_facebook仿品推广引流 [教育推广课程引流工作好做吗]_facebook仿品推广引流
[木材行业广告推广引流]_WZ引流推广渠道闲鱼无货源新手常见问题 [木材行业广告推广引流]_WZ引流推广渠道闲鱼无货源新手常见问题
[红包墙引流推广神器]_制作引流推广名片 [红包墙引流推广神器]_制作引流推广名片
[支付宝引流推广业务的老板]_推广和引流是什么意思 [支付宝引流推广业务的老板]_推广和引流是什么意思
[拼多多新店铺如何引流与推广]_免费抖音微客通达推广引流 [拼多多新店铺如何引流与推广]_免费抖音微客通达推广引流
[seo白帽好不好]_用户体验:五个最常见的产品设计误区 _网站策划 [seo白帽好不好]_用户体验:五个最常见的产品设计误区 _网站策划
[微商引流推广 钅商推吧霸屏下拉]_帮商家做推广引流 [微商引流推广 钅商推吧霸屏下拉]_帮商家做推广引流
[保险行业市场推广引流]_餐饮加盟公众号推广引流 [保险行业市场推广引流]_餐饮加盟公众号推广引流
// // // //