我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Web前端技术有哪些

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Web前端技术有哪些

本篇内容介绍了“Web前端技术有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

Web前端技术的范围

1. 编程语言/技术(HTML,JavaScript,CSS等)

2. 跨浏览器兼容性/支持(JS Framework,CSS Library)

3. 网络传输性能(并行下载,带宽利用率)

4. 浏览器渲染时间/性能(TTI即用户可交互前等待时间,JS执行性能)

个人感觉,Facebook无疑又成为了技术上的明星,在大家还在感慨其对于PHP的重大改进HipHop(Blocked inside China mainland)的时候,今年Facebook又在前端技术方面给大家带来了惊喜。

Facebook面临的问题

500M(Million)注册用户,50%每天至少访问一次,用户平均每日在线时间为5小时25分钟。带宽及服务器压力均很大。

Facebook的解决方案

Quickling

Facebook提出了一个新名词Ajaxify,顾名思义,就是将传统的POST/GET转换为Ajax请求。优点显而易见,首先减少了不必要的HTML传输,只请求和渲染页面需要更新的部分,这就相应减少了所需传输的内容加快了内容送达至用户的时间。并且也减少了服务端对HTML的不必要的渲染。Facebook也提到了可以减少session的重复load/unload。

使用Ajax也许不是什么新鲜的新闻,大家拒绝这项技术的原因可能很大程度基于SEO的需求。解决方案也很简单,将Ajax只是作为提高用户体验的手段,而不是浏览网站必须的方法,即可解决SEO的问题(P.S. Facebook不需要SEO)。

整套方案包括:Link Controller, HistoryManager, BootLoader, Busy Indicator, CSS Unloading, Permanent link support, Resetting timer functions。这些方案本身没有什么特殊的,大部分都可以顾名思义,需要解释一下的可能是link controller,其含义是将标准的HTML LINK请求转换为Ajax请求(通过绑定click事件)。Facebook的可贵之处是提供了这一整套完整的解决方案,***程度上保证了网站的可用性。

效果:

提高了10%-30%的网站传输时间,并提高了20%-30%的服务端页面渲染速度。

使用范围:

45%的Facebook页面使用了此项技术。

PageCache

简单的说,就是将访问过的页面缓存在客户端。但我们知道,作为Facebook这样交互性很强的网站,需要保障用户能尽早的获得更新后的信息,而不是给用户展示一个毫无意义的过期页面。

Facebook设计了一个框架来识别一个页面是否来自于缓存(猜测:页面***加载完毕后将所有Ajax的Callback和Result缓存在本地。Facebook页面是基于Ajax获取页面内容),若来自于缓存,通过Ajax来更新所需更新的模块(猜测:通过JavaScript预先定义本页面所需更新的div Id及对应的callback handler,并在页面下载时同时下载下来)。

其提到了三种更新类型:增量更新,用户复写(例如用户在页面上回复了一则评论)及跨页更新(例如在消息详细页面将一则消息标识为已读,需将首页的未读消息数进行更新)。核心思路还是依据Ajax进行更新。具体思路为:

增量更新:只要页面来自于缓存,即更新所有预定义的需增量更新的模块。

用户复写:通过HistoryManager记录用户操作并在cache页面读取后重放所有被标记为“replayable”的操作。

跨页更新:通过服务端Database API发送信号至客户端将过期缓存标识为invalid(不清楚如何实现。也许是DB端提供一个开放的webservice,客户端通过Ajax持续访问此API来获得此信息)。获得了缓存过期信号后,通过Ajax更新需要更新的信息。

Facebook顺带提到了一个更新Ajax内容避免页面变化/闪烁的小技巧,就是先将需更新的地方设置为blank,而非直接更新其内容。

效果:

加速了10倍的网站响应时间并节约了20%的服务端页面渲染成本。

BigPipe

此项技术通过将页面分割为各个Pagelets的方式,将整张页面的获取/渲染变成了并行的方式(感觉非常像iframe sets,但Facebook使用Ajax实现。)。此项技术是Quickling和PageCache的基石。此技术包含了服务端/客户端两方面,在前后端均打破了以往页面的渲染形式。

实现细节:

Pagelet的Response为JSON格式,包括id,css,js,content,onload等属性及相应内容,收到后会通过预定义好的JS function来进行渲染。

Pagelet提供的高级功能:Pagelet的继承,Phased Rendering(猜测:依据规则渲染,也就是依据Pagelet的Response进行渲染),跨Pagelet依赖(数据依赖,显示依赖,JS依赖)。

BigPipe的三种模式:

◆一次渲染模式:即普通模式,支持搜索引擎,用来支持那些不支持JS的客户端。

◆管线模式:即并行模式,并行请求,并即时渲染。

◆并行模式:并行请求,但在获得所有请求的结果后再渲染。

效果:

提高了2倍的页面响应时间。

扩展阅读:世界***的PHP站点 Facebook后台技术探秘

YouTube面临的问题

每天2Billion的访问。每分钟上传35小时的内容。可YouTube需要即时播放视频!越快越好。

YouTube解决方案

1. 将JavaScript引用位置从页首移至页尾。

2. 直接嵌入Flash Player(YouTube之前使用JS来加载Flash Player)。通过页尾的JS来判断客户端的Flash版本(或不支持Flash),来替换预先嵌入的Flash Player或内容(如果需要的话),用来支持特定的客户群。

效果:页面渲染时间从~400ms降低为~200ms。Flash播放时间从~1200ms降低为~1100ms。

3. 预加载视频连接: 通过使用JavaScript创建Image引用视频内容来与解析DNS并预开启一个connection供之后使用。

效果:建立视频连接的总时间从~260ms降低为~180ms。

4. 提供简化版:这个很无聊,就是提供一个简版。

效果:页面加载时间从~1750ms降低为~1100ms。

5. UIX Widget系统:延迟加载非关键内容。其实整段没什么新意,大部分省略,无非是通过Ajax在页面渲染完后再来动态加载非关键内容。比较特别的是利用JS的事件冒泡,在最上层用一个handler来处理各种事件(优点不详。。也许只是代码比较简洁集中吧),通过CSS来标识和识别对应的handler。

Yahoo Mail

Yahoo如何构建下一代的Mail系统?答案就是通过YUI3。Yahoo的技术绝对是***的,其已经将Web前端技术发展到一个非常成熟的地步,照顾到Web的方方面面(数据压缩,模块化,高效CSS,非阻碍式JavaScript加载,静态内容提供,利用浏览器Cache等等),所以也鲜有创新了。某种程度上来说,Facebook的一些所谓创新也不过是后知后觉,Yahoo早已考虑并实现了这些方案,只是也许不是那么有针对性而已。

Baidu

感觉整体倾向于组织结构介绍及一些比较过时的内容。

Taobao

还在讨论一些何时使用Ajax,何时不使用的问题。

相反的,淘宝的精益测试倒是引起了我的兴趣,出自微软的淘宝员工鹤云讲述了淘宝是如何进行CI(持续集成)的。有一些经验例如代码覆盖率测试也给人一些启发。

“Web前端技术有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Web前端技术有哪些

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

前端web框架技术有哪些

前端web框架技术有很多,以下是一些常见的:1. React2. Angular3. Vue.js4. Ember.js5. Backbone.js6. Knockout.js7. Meteor.js8. Polymer9. Aurelia
2023-06-13

常用的web前端技术有哪些

常用的Web前端技术包括:1. HTML:网页结构标记语言,用于定义网页的结构和内容。2. CSS:层叠样式表,用于定义网页的样式和布局。3. JavaScript:脚本语言,用于实现网页的交互和动态效果。4. jQuery:JavaScr
2023-06-12

web前端技术有哪些Vue面试题

这篇文章主要介绍“web前端技术有哪些Vue面试题”,在日常操作中,相信很多人在web前端技术有哪些Vue面试题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”web前端技术有哪些Vue面试题”的疑惑有所帮助!
2023-06-02

web前端常用的技术框架有哪些

本篇内容介绍了“web前端常用的技术框架有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. BootstrapBootstrap 是一
2023-06-27

web前端有哪些布局技巧

本篇内容介绍了“web前端有哪些布局技巧”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.今天在做一个页面的时候碰到了箭头居中的效果:由于想
2023-06-08

有用的web前端技巧有哪些

这篇文章主要介绍“有用的web前端技巧有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“有用的web前端技巧有哪些”文章能帮助大家解决问题。伪元素动态改变其样式我们都用过伪元素,什么::befor
2023-07-05

Web前端开发小技巧有哪些

这篇文章主要介绍了Web前端开发小技巧有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。xml文件尽量以utf-8编码,gb2312有些字是存储不了的,如?,就算能存也需要
2023-06-08

web前端与前端有哪些区别

这篇文章主要介绍“web前端与前端有哪些区别”,在日常操作中,相信很多人在web前端与前端有哪些区别问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”web前端与前端有哪些区别”的疑惑有所帮助!接下来,请跟着小编
2023-07-05

Web版Photoshop来了,用到了哪些前端技术?

本文就来看看 Photoshop 所使用的 Web 能力、进行的性能优化以及未来可能的发展方向。Adobe 的愿景就是将 Photoshop 带到浏览器中,让更多的用户能够方便地使用它进行图像编辑和平面设计。过去几十年,Photoshop一
WebPhotoshop2024-11-30

web前端框架有哪些

今天小编给大家分享一下web前端框架有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。  Ant Design  蚂蚁金服
2023-06-04

web前端有哪些优势

这篇文章主要介绍“web前端有哪些优势”,在日常操作中,相信很多人在web前端有哪些优势问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”web前端有哪些优势”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!一、
2023-07-05

Web的技术有哪些

本篇内容介绍了“Web的技术有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!16、P —;PHPPHP(Hypertext;Prepro
2023-06-04

编程热搜

目录