❶ web前端工程师注意了提高web前端开发技能的技巧有哪些
今天小编要跟大家分享的文章是关于提高web前端开发技能的技巧有哪些?在互联网盛行的今天,越来越多的在线用户希望得到安全可靠并且快速的访问体验。针对Web网页过于膨胀以及第三脚本蚕食流量等问题,提出以下改进建议,希望本篇文章能够对小伙伴们有所帮助。下面我们一起来看一看吧!
1、管理“页面膨胀”
页面大小与性能有着密切的关系。Radware最新电商性能“行业现状”报告显示,100强电商页面大小中位数达到了1492KB,比一年半之前增大了48%。
在研究报告里加载最快的10个页面中,页面包含的资源请求中位数为50个,页面大小中位数为556KB。而加载最慢的10个页面中,页面包含的资源请求中位数为141个,页面大小中位数为3289KB。换句话说,加载最慢的页面的资源中位数几乎是加载最快的页面的三倍,页面大小则是六倍。
仔细研究页面尺寸大小,我们可以得到更多的信息。加载最快的10个页面所包含的资源总数范围比较密集:在15个~72个之间;页面尺寸最小的仅为251KB,最大的2003KB。而加载最慢的10个页面所包含的资源总数范围则比较广泛:在89个~373个之间;页面尺寸最小为2073KB,最大的则超过了10MB。
2、进行图像优化
图像是造成页面膨胀的罪魁祸首之一,通常占据页面字节数的50-60%。在页面中添加图片或是将现有图片放大,是迅速获取用户并提高业务转化率的有效方式。但是这种方法会对性能造成严重的影响。
进行图像优化是提升性能最简单的一种方法,它可以使页面加载更快。为了更有效的完成图像渲染,图像必须经过压缩和整合、图像的尺寸和格式必须经过仔细调整,图像质量也必须经过优化,这样才可以依据图像的重要性进行区别化的加载处理。
3、控制第三方脚本
在典型的页面服务器请求中,来自于第三方脚本的请求占了其中的50%或更多。这些第三方脚本不仅会增加页面的字节数,带来延迟,而且也会成为Web页面中最大的潜在故障点。无响应、未经优化的第三方脚本会降低整个网络的加载速度。
解决办法是延迟第三方脚本的加载,将其放在关键页面内容之后进行加载,更为理想的情况是放在页面onLoad事件之后加载,这样才不会影响企业的搜索排名(谷歌将onLoad事件作为加载时间指标)。对于一些分析工具和第三方广告商而言,如果延迟第三方脚本加载的方法不可行,可以利用脚本的异步版本,与关键内容的加载同步进行。用户必须了解网站中有哪些脚本,删除那些无用的脚本,并对第三方脚本的性能进行持续监控。
4、真正做到移动设备优先
“移动设备优先”并不是一个全新的概念。早在2013年,移动设备的使用量就已经超过了台式机,然而与众多口头承诺的移动性能相比,真正专注于移动设备的开发还是存在一定的差距。例如,2011年11月,移动设备上的平均页面大小为475KB,现在则增长至897
KB。也就是说,在短短三年之间,平均页面大小几乎翻了一番。
尽管移动设备和网络取得了一些进展,但就性能而言,还是无法与大小已接近1MB的服务页面需求保持同步。我们知道,页面大小与加载时间息息相关,移动用户对缓慢的加载速度尤其敏感。如果企业希望网站可以真正做到“移动设备优先”,就必须正确处理这些问题。
5、这在进行响应式web设计时兼顾性能
响应式设计让设计人员和开发人员可以更好地控制Web页面的外观和感觉。它可以使跨多平台和设备上的页面变得更漂亮。但同时也会带来巨大的性能损失,这些性能损失并不能通过更快速的浏览器、网络和小工具得到缓解。而且随着时间的推移,这样影响还将持续恶化。
响应式设计建立在样式表和JavaScript之上。然而,低效的CSS和JS所带来的性能问题远远大于其设计优势给我们带来的好处。样式表应当放在HEAD文档中,用以实现页面的逐步渲染。然而,样式表却经常出现在页面其它位置,这就阻碍了页面的渲染速度。换句话说,JavaScript文件应当放在页面底部或在关键内容加载完成之后再被加载才是合理的处理方式。
6、实时监控性能
大家都知道要解决一个问题就必须先对问题有充分的了解。要解决页面性能问题,企业就必须知道用户在什么时候可以看到主要页面内容并与之进行交互;同时,企业还需了解性能和可用性问题是如何影响业务指标的。企业需要有方法获取实际的性能指标并对其进行分析。实时用户监控(RUM)工具可以从真实用户的角度实时获取、分析并记录网站的性能和可用性。
7、这切勿过分依赖CDN解决所有性能问题
Radware季度电商性能“行业现状”报告中存在一项最具争议性的调查结果,即:使用内容分发网络(CDN)的网站完成主要内容渲染所需的时间比未曾使用CDN的网站要长的多。这是一个相关性问题,而非因果关系:通常情况下,相较于未使用CDN的网站,使用CDN的网站页面更大,也更复杂。页面的大小和复杂程度才是造成性能问题的元兇,而非CDN。但这一结果也表明,仅依靠CDN并不能解决所有的性能难题。
如果部署得当,CDN会是解决延迟问题非常有效的工具:缩短托管服务器接收、处理并响应图像、CSS文件等页面资源请求所需的时间。但是,延迟仅仅只是现代电商网站的关键问题之一。为了实现最佳的加速效果,网站运营人员可以采用组合解决方案:CDN+前端优化(如Radware
FastView解决方案)+应用交付控制器(ADC)和内部管理。
8、在企业内部加强web性能观念的宣传
大量研究证明,提高页面速度可以对所有的关键性能指标产生积极影响:页面访问量、用户粘连度、业务转化率、用户满意度、客户保持、购物车的内容多少和收入。
然而,正如上述7个建议中所表明的那样,许多企业都犯了同样的错误,最终损害了Web性能。目前,企业应该重点解决Web开发目标和在线业务目标之间的差距问题,而且,每个企业都应该至少拥有一个内部性能专家,以便更好的解决Web性能问题。
以上就是小编今天为大家分享的关于提高web前端开发技能的技巧有哪些?的文章,希望本篇文章能够对正在从事web前端工作的小伙伴们有所帮助。想要了解更多web前端知识记得关注北大青鸟web培训官网哦!最后祝愿小伙伴们工作顺利!
来源:Radware
❷ Web前端入门知识之Web前端性能优化
今天小编要跟大家分享的文章是关于Web前端入门知识之Web前端性能优化。性能优化一直以来都是前端工程领域中的一个重要部分。很多资料表明,网站应用的性能优化对于提高用户留存、转化率等都有积极影响。可以理解为,提升你的网站性能,就是提升你的业务数据(甚至是业务收入)。
性能优化广义上包含前端优化和后端优化。后端优化的关注点更多的时候是在增加资源利用率、降低资源成本以及提高稳定性上。相较于后端,前端的性能优化会更直接与用户的体验挂钩。从用户体验侧来说,前端服务
5s的加载时间优化缩减80%(1s)与后端服务50ms的响应优化缩减80%(10ms)
相比,用户的体验提升会更大。因此很多时候,与体验相关的性能的瓶颈会出现在前端。
作为前端工程师,大家其实都具备一定的性能优化意识,同时也有自己的优化“武器库”,例如懒加载、资源合并、避免reflow
等等。虽然大家对性能优化都有自己的思路,不过大多是分散在某几个点,较难形成一个完整的体系。下面来和小编一起看一看web前端性能优化该怎么做。
一、html文档结构标签语义化
1、首先什么是语义化呢?
语义化是指用合理HTML标记以及其特有的属性去格式化文档内容。机器在需要更少的人类干预的情况下能够研究和收集信息,让网页能够被机器理解,最终让人类受益。即用正确的标签做正确的事。
2、语义化的好处或者说存在的意义
①有利于搜索引擎抓取
②结构清晰的HTML在团队合作中的作用:代码可读、便于维护、提高开发效率、快速达成共识、利于二次开发。
③有利于盲人屏幕阅读器
二、css、js文件数量及大小
优化一般对于css、js是建议使用外联式来进行导入。我们可以对css、js做相应的规划也可以减少css、js的个数以减少http请求。同时也要注重减少重复代码,注重代码重复利用,以达到用最少的代码干最多的事。同时当项目要投入上线使用的时候,可以对css、js文件进行压缩,文件的减小可以加速文件的链接导入,以便加速网页的加载渲染。
可通过使用webpack,gulp等工具对Js文件进行合并。
三、图片的数量和大小
多个服务器请求会对站点的性能产生显着的影响。对一张图片进行导入又是一个http请求,因此我们应该减少图片的导入数量以便减少http请求。此处,我们必须提到一个名词“css精灵spirit”。css精灵是指包含多个不同的图标、按钮或图形的单个图像。因此我们可以把多张背景图片合并为一张然后对背景图片进行相应的定位。同时使用PNG8格式的图片相对于GIF来说比较少。而对于内容图片,可以对其进行适当的压缩,可以加快文档内容加载,或者如果是需要用户下载的图片,小的图片可以加快用户下载的速度。
使用较为广泛的web图片格式有:JPEG/JPG、PNG、WEBP、Base64、SVG。
1.JPEG/JPG
特点是有损压缩,体积小,加载快,不支持透明。
使用场景:JPG适合用于呈现热菜丰富的图片,在日常的开发中,JPG图片经常作为大的背景图、轮播图或是Banner图。比如两大电商网站对大图片的处理,就是对JPG图片应用场景的最佳写照。用JPG来呈现大图片,既可以保留图片的质量,又不会担心图片的体积,是一种比较广泛使用的方案。
缺点:在处理一些矢量图形和logo等这些线条感很强、颜色对比强烈的图片时,认为压缩就导致图片模糊非常明显。另外,JPG图像不支持透明度处理,透明图片只能用PNG来呈现了。
2.PNG-8和PNG-24
特点是无损压缩、质量高、体积大、支持透明
优点:无损压缩的高保真图片格式。8和24都是二进制数的位数,8位的PNG支持256中颜色,24位的PNG可以支持1600万种颜色。在不考虑文件大小只在乎最佳的显示效果时,推荐使用PNG-24。但是在适合使用PNG时会优先选择PNG-8
应用场景:主要用PNG来呈现小的LOGO、颜色简单对比强烈的图片或是背景。
3.SVG
特点是文本文件,体积小,不失真,兼容性好
优点:SVG是一种基于XML语法的图像格式。SVG对图像的处理不是基于像素,而是基于对图像的形状描述。
和JPG、PNG相比较,SVG文件体积更小,可压缩性更强。SVG作为矢量图最大的优点在于图片可以无限放大还不失真,一张SVG图片可以适配多种分辨率。另外SVG是文本文件,可以像写代码一样定义SVG,放在HTML中称为DOM的一部分。也可以把对图像的描述写入以.svg为后缀的文件中,在img标签中引入即可。
4.WebP
优点:WebP是一款比JPG、PNG等在压缩方面更加优越的图片格式,同时也不会影响其图片质量,使用该格式时最好将同名文件格式化,当检测浏览器不兼容时自动切换jpg格式
缺点:是一个相对较新的技术,所以对于目前市面上的浏览器能否完美的兼容,其可用和实用性就变得很现实了,再好的东西如果没有好的兼容性,也是非常难以普及和被广泛使用的
5.Base64
优点:减少请求,加快首屏数据显示。对于jpg格式的图片,每一个图片相当于一次http请求,图片多了的话,服务器耗性能比较严重。而将jpg转化成base64格式的图片,则极大地减少了请求数,因为Base是文本格式。
缺点:base64格式图片比原图大,占用更多存储空间,同时,浏览器不会对该资源缓存。
使用方法:background:url(data:image/png;base64,{img_data})
应用场景:一般对于小于10KB大小的图片进行base64转码。
至于动态图有GIF与APNG:后者APNG这东西是mozilla搞出来的,
它是24位的,而且也是动图,可以容纳1680万种颜色,也是为了取代GIF,但是....也就火狐支持,IE10和chrome,safari全部不行,
如果说gif图片是卡片机的话,APNG就是单反
四、有效性验证
除了根据语义加标记之外,HTML文档还需要用有效的代码来编写,如果代码是无效的,浏览器会尝试解释标记本身,有时候会产生错误的结果。更糟的是,如果发送具有正确的MIME类型的XHTML文档,理解XML的浏览器将不显示无效的页面。因为浏览器需要知道要使用什么DTD(文档类型定义)才能正确地处理页面,所以对页面进行有效性验证要求有DOCTYPE声明。
有效性验证工具径:
①
W3C验证器(bookmarklet),这是一小段可以存储在浏览器的书签或收藏夹中的Javascript。单击这个书签就会触发Javascript动作。
②可以访问http://validator.w3.org/,通过输入自己的URL来对自己的站点来进行在线验证。
③使用firefox浏览器的可以下载插件FirefoxWebDeveloperExtension
五、雅虎的Web优化最佳实践
1、内容优化
①尽量减少HTTP请求:常见方法包括合并多个CSS文件和JavaScript文件,利用CSSSprites整合图像,Image
map(图像中不同的区域设置不同的链接),内联图象(使用data:URLscheme在实际的页面嵌入图像数据)等。
②减少DNS查找,一般dns查找需要花费20-120ms,Windows的DNS缓存,可以通过ipconfig/displaydns
这个命令来查看。
③避免重定向
④使Ajax可缓存
⑤延迟加载组件:考虑哪些内容是页面呈现时所必需首先加载的、哪些内容和结构可以稍后再加载,根据这个优先级进行设定。
⑥
预加载组件:预加载是在浏览器空闲时请求将来可能会用到的页面内容(如图像、样式表和脚本)。当用户要访问下一个页面时,页面中的内容大部分已经加载到缓存中了,因此可以大大改善访问速度。
⑦减少DOM元素数量:页面中存在大量DOM元素,会导致JavaScript遍历DOM的效率变慢。
⑧根据域名划分页面内容:把页面内容划分成若干部分可以使你最大限度地实现平行下载。但要确保你使用的域名数量在2个到4个之间(否则与第2条冲突)。
⑨最小化iframe的数量:iframes
提供了一个简单的方式把一个网站的内容嵌入到另一个网站中。但其创建速度比其他包括JavaScript和CSS的DOM元素的创建慢了1-2个数量级。
⑩
避免404:HTTP请求时间消耗是很大的,因此使用HTTP请求来获得一个没有用处的响应(例如404没有找到页面)是完全没有必要的,它只会降低用户体验而不会有一点好处。
2、服务器优化
①使用内容分发网络(CDN):把你的网站内容分散到多个、处于不同地域位置的服务器上可以加快下载速度。
添加Expires或Cache-Control信息头:对于静态内容,可设置文件头过期时间Expires的值为“Never
expire(永不过期)”;对于动态内容,可使用恰当的Cache-Control文件头来帮助浏览器进行有条件的请求。
②Gzip压缩
③设置ETag:ETags(Entity
tags,实体标签)是web服务器和浏览器用于判断浏览器缓存中的内容和服务器中的原始内容是否匹配的一种机制。
④
提前刷新缓冲区:当用户请求一个页面时,服务器会花费200到500毫秒用于后台组织HTML文件。在这期间,浏览器会一直空闲等待数据返回。在PHP中,可以使用flush()方法,它允许你把已经编译的好的部分HTML响应文件先发送给浏览器,这时浏览器就会可以下载文件中的内容(脚本等)而后台同⑤时处理剩余的HTML页面。
⑥
对Ajax请求使用GET方法:当使用XMLHttpRequest时,浏览器中的POST方法会首先发送文件头,然后才发送数据。因此使用GET最为恰当。
⑦避免空的图像src
3、Cookie优化
①减小cookie大小:去除不必要的coockie,并使coockie体积尽量小以减少对用户响应的影响
②
针对Web组件使用域名无关的Cookie:对静态组件的Cookie读取是一种浪费,使用另一个无Cookie的域名来存放静态组件是一个好方法,或者也可以在Cookie中只存放带www的域名。
4、CSS优化
①将CSS代码放在HTML页面的顶部
②避免使用CSS表达式:CSS表达式在执行时候的运算量非常大,会对页面性能产生大的影响
③使用来代替@import
④避免使用Filters:IE独有属性AlphaImageLoader用于修正IE
7以下版本中PNG图片的半透明效果,但它的问题在于浏览器加载图片时它会终止内容的呈现并且冻结浏览器。
5、JavaScript优化
①将JavaScript脚本放在页面的底部
②
将JavaScript和CSS作为外部文件来引用:在实际应用中使用外部文件可以提高页面速度,因为JavaScript和CSS文件都能在浏览器中产生缓存。
③缩小JavaScript和CSS
④删除重复的脚本
⑤最小化DOM的访问:使用JavaScript访问DOM元素比较慢
⑥开发智能的事件处理程序
6、图像优化
①优化图片大小
②通过CSSSprites优化图片
③不要在HTML中使用缩放图片
④favicon.ico要小而且可缓存
7、针对移动优化
①保持组件大小在25KB以下:主要是因为iPhone不能缓存大于25K的文件(注意这里指的是解压缩后的大小)。
②将组件打包成为一个复合文档:把页面内容打包成复合文本就如同带有多附件的Email,它能够使你在一个HTTP请求中获取多个组件。
以上就是小编今天为大家分享的关于Web前端入门知识之Web前端性能优化的文章,希望本篇文章能够对正在从事web前端工作的小伙伴们有所帮助,想要了解更多web前端知识记得关注北大青鸟web培训官网,最后祝愿小伙伴们工作顺利,成为一名优秀的web前端工作顺利。
❸ 艾思软件:前端开发规范文档
开发规范(前端)
版本: v1.0
日期: 2022-01-15
一:命名规范
命名统一使用英文单词,要求简单,通俗易懂。
项目命名
使用小写字母,多单词采用 “ - ” 中划线拼接。
例如:my-world / world
文件夹命名
使用小写字母,多单词采用 “ - ” 中划线拼接。
例如:home-page / home
文件命名
使用小写字母,多单词采用 “ - ” 中划线拼接。
例如:home-page / home
变量命名
使用小驼峰命名。如果单文件中变量过多,可能会出现重名的情况,建议增加前缀来区分不同功能的变量。或者把变量拆分到不同的文件之中。
例如:maxHeight / userMaxHeight / homeMaxHeight
常量命名
全部使用大写字母。多单词采用 “ _ ” 下划线隔开。
例如:const USER_TYPE = “9001”;
函数命名
规范一:使用小驼峰命名。被继承的父类的私有函数需要增加下划线前缀 “ _getPrice() ”。
例如:showToast / _getPrice
规范二:根据函数作用,适当添加动词前缀。
例如:getSize / setSize / hasNumber
前缀请查看文档最底部 “ 附件一:(函数命名动词前缀整合) ”
二:注释规范
简单易懂的变量方法,尽量编写注释。复杂难懂的变量方法,必须编写注释
单行注释 //
在代码上一行编写单行注释,简单介绍下方代码用途、注意事项等内容。
多行注释 /* */ 或 /** */
方法必须使用多行注释。当变量或代码块复杂,单行注释不足以解释清楚的时候,也需要使用多行注释。
例如:
// 商品名称
goodsName: '猕猴桃',
/**
* 传入人员姓名,从数据库中查询该人员的手机号码
* @param {String} userName 姓名
* @return {Number} 手机号
*/
getUserMobile(userName){
......
return mobile;
},
三:CSS规范
1. class类名使用小写字母,多单词采用 “ - ” 中划线拼接。
2. id采用小驼峰命名。
3. scss、less中变量、函数、mixin统一采用小驼峰命名。
4. 缩进整洁有序。
四:项目规范
项目结构建议规范(实际根据具体需求逻辑进行调整)
src
api 所有接口封装
asstes 资源文件
- images 图片
- videos
components 所有组件
router 路由
store 状态管理
styles 公共样式
utils 公共函数库
view 视图
- home 视图文件需要分模块分文件夹存放
home.vue
home-detail.view
- user
五:附件
附件一:(函数命名动词前缀整合)
❹ 怎么做 HTML 帮助文档!
FAR HTML Help v4.1.0.650 汉化版
FAR 不仅具有超强的文本查找和替换功能,它更是目前公认为最好的帮助文件制作软件。它除了能制作目前流行的 HTML 帮助文件(即 CHM 文件)之外,还能制作新一代的、在 Visual Studio .NET 下工作的帮助文件(即 MS 帮助 2.x)。针对不同的目标文件,它不但提供了界面友好、使用方面的方案编辑器、目录和索引编辑器,同时还提供了一系列辅助工具,比如文本查找和替换、文件过滤、链接检查等等。你可以使用向导来一步一步地完成帮助文件的制作。它的特快功能甚至允许你只需一步就能够将一个文件夹转换为一个帮助文件。该软件除了能制作编译和压缩过的帮助文件之外,还能够制作由普通的 HTML 文件组成的帮助文件。而这种未压缩的帮助文件却可以具有和 CHM 文件类似的导航面板(目录、索引和搜索)。
Name : crsky
Mail : [email protected]
Serial: FAR22-CRSKY-00000-14530
下载地址:http://www.crsky.com/soft/598.html
❺ 关于前端开发的20篇文档与指南
英文原文:Another
20
Docs
and
Guides
for
Front-End
Developers
相信在
2015
年很多这个行业的人都会有这样的两种感受:
真的不知所措,这个行业到底有多少东西需要去学习;
渴望更多,并迫不及待的为接下来的学习寻求一些思想方向。
第一个来自于我们的个人感受,而第二个则是纯粹的必要性了。所以本文整理一些有用的信息,希望可以帮助相关领域的前端开发人员。
1.
I
want
to
use
基于
Can
I
use
的数据和功能,这款应用给予你选择一组前端开发特性的能力,并会读取出一个全球性用户能够使用它的百分比。
2.
Regulex
JavaScript
正则表达式的可视化工具,在线输入表达式后,动态生成表达式图片。非常不错的一个可视化
Web
在线正则表达式设计工具。
3.
Mastering
the
:nth-child
一个单页网站,帮助你理解如何去使用各种有用但又复杂的基于选择器组合的
nth-child。
4.
HTML
5
视频事件和
API
这个页面展示了新的
HTML
5
视频元素、媒体
API
和媒体事件。播放、暂停、搜索整个视频、改变音量、静音、改变播放速度(包括进入负值),查看视频和潜在事件与属性上的效果。
5.
Excess
XSS
这可能是所有开发者都应该熟悉的一个话题,并且这可能是一个很好的着手点。它是一个跨站点脚本编制综合教程。
6.
RSCSS
意思为Reasonable
Standard
for
CSS
Stylesheet
Structure(CSS
样式表结构合理的标准),记录一些针对大项目的
Sass/CSS
编写技巧和技术。
7.
CodeFightClub
一个由
Andrew
Hathaway
建立的项目,目的是帮助其他开发者学习如何用最好、最有效以及首选的方法编写代码。
8.
Sass
Guidelines
Hugo
Giraudel
写的
Sass
Guidelines
目前已经被翻译成其他六种语言。
9.
Flexbugs
如果你的目的是使用
flexbox
构建一个网站,而事情却并没有像你所期望的那样进行,你可以在这里找到解决方案。
10.
A
Front
End
Engineers
Manifesto(一个前端工程师的宣言)
没什么深入的东西,只是一些简单的事情提示,所有的前端开发者应该考虑将其结合到开发过程和工作流中。
11.
ES5
中的
ECMAScript
6
等价物
ES6
特性转换到
ES5-compatible
代码的一个很好的参考。
12.
Flexbox
Adventures
来自开发者
Chris
Wright
对
Flexbox
深入、实际看法。
13.
BEM
一个全面推广和培养
BEM
CSS
使用方法的网站。
14.
Sass
Compatibility
记录不同
Sass
引擎之间的不兼容性问题。
15.
HTMLelement.info
一个整洁、逻辑、易使用的指南规范,在不同的
HTML
元素上获得信息。
16.
JSLint
Error
Explanations
你可能跟随过很多
JavaScript
最佳实践,却并不明白所有这些技术背后的原因。本站旨在揭露
JSLint、JSHint、和
ESLint
工具里错误和警告。
❻ 前端开发做一个网页,要交一份需求文档,写什么呢
布局交互,和对ui的要求,控件啥的自己挣
❼ Web前端工程师应该知道的Web前端开发框汇总!
今天小编要跟大家分享的文章是关于Web前端开发框汇总。一个前端开发框架其实就是一系列产品化的HTML/CSS/JavaScript组件的集合,我们可以在设计中使用它们。前端开发框架有很多,其中有一些写得很棒。为了大家的使用便利,下文列举了目前最强大应用最广泛的几款前端开发框架。记住,这些框架并不仅仅是CSS
栅格之类的一些东西,它们包括的是整套的前端开发框架。下面就让我们一起来看一看吧!
一、Bootstrap
Boostrap绝对是目前最流行用得最广泛的一款框架。它是一套优美,直观并且给力的Web设计工具包,可以用来开发跨浏览器兼容并且美观大气的页面。它提供了很多流行的样式简洁的UI组件,栅格系统以及一些常用的JavaScript插件。
Bootstrap是用动态语言LESS写的,主要包括四部分的内容:
脚手架——全局样式,响应式的12列栅格布局系统。记住Bootstrap在默认情况下并不包括响应式布局的功能。因此,如果你的设计需要实现响应式布局,那么你需要手动开启这项功能。
基础CSS——包括基础的HTML页面要素,比如表格(table),表单(form),按钮(button),以及图片(image),基础CSS为这些要素提供了优雅,一致的多种样式。
组件——收集了大量可以重用的组件,如下拉菜单(dropdowns),按钮组(buttongroups),导航面板(navigation
control)——包括:tabs,pills,lists标签,面包屑导航(breadcrumbs)以及页码(pagination),缩略图(thumbnails),进度条(progress
bars),媒体对象(mediaobjects)等等。
JavaScript——包括一系列jQuery的插件,这些插件可以实现组件的动态页面效果。插件主要包括模态窗口(modals),提示效果(tool
tips),“泡芙”效果(popovers),滚动监控(scrollspy),旋转木马(carousel),输入提示(typeahead),等等。
Bootstrap已经足够强大,能够实现各种形式的Web
界面。为了更加方便地利用Bootstrap进行开发,很多工具和资源可以用来配合使用,下面列举了其中的一部分工具和资源。
jQueryUIBootstrap——对于jQuery和Bootstrap爱好者来说这是个非常好的资源,能够把
Bootstrap的清爽界面组件引入到jQueryUI中。
jQueryMobileBootstrapTheme——和上面提到的jQueryUI主题类似,这是一个为jQuery
Mobile建立的主题。如果你想让用Bootstrap开发的网站在手机端也可以优雅访问,那么这个资源对你来说很方便易用。
FuelUX——它为Bootstrap添加了一些轻量的JavaScript控件。FuelUI安装,修改,更新以及优化都很简单方便。
#——
Bootstrap提供了自己的几种界面风格,StyleBootstrap提供了更多的配色选项,并且你可以给每个组件都应用不同的配色。
BootSwatchr——
利用这个工具你可以立刻查看主题修改后的效果。对于每一次变动的效果,这个应用都会生成一个唯一的URL方便你与他人分享,你也可以在任意时刻修改你的主题。
Bootswatch——提供大量免费的Bootstrap主题。
Bootsnipp——在线前端框架交互组件制作工具,是一个供给设计师和开发者的基于BootstrapHTML/CSS/JavaScript
架构的免费元素。
LayoutIt——
通过界面拖放生成器简便快捷地创建基于Bootstrap的前端代码。通过拖放动作将Bootstrap风格的组件加入到你的个人设计里并且可以方便地修改他们的属性,简单便捷。
二、Fbootstrapp
Fbootstrapp基于Bootstrap并且提供了跟Facebookiframe
apps和设计相同的功能。包含用于所有标准组件的基本的CSS和HTML,包括排版、表单、按钮、表格、栅格、导航等等,风格与Facebook类似。
三、BootMetro
BootMetro框架的灵感来自于MetroUICSS,基于Bootstrap框架构建,用于创建Windows8
的Metro风格的网站。它包括所有Bootstrap的功能,并添加了几个额外的功能,比如页面平铺,应用程序栏等等。
四、Kickstrap
Kickstrap是Bootstrap的一个变体。它基于Bootstrap,并在它的基础上添加了许多app,主题以及附加功能。这使得这个框架可以单独地用于构建网站,而不需要额外安装什么。你需要做的仅仅是把它放到你的网站上,然后用就可以了。
App是一些页面加载完成之后加载运行的JavaScript和CSS打包文件。默认加载的app有Knockout.js,Retina.js,
FirebugLite,andUpdater,你也可以自行添加更多的app。
选择不同的主题可以让你的网站在众多Bootstrap构建的类似网站中显得与众不同。
附加功能是一些用来扩展BootstrapUI库的附件,它们的语法基本相同或者相似。
五、Foundation
Foundation
是一款强大的,功能丰富的并且支持响应式布局的前端开发框架,你可以通过Foundation快速创建原型,利用它所包含的大量布局框架,元素以及最优范例快速创建在各种设备上可以正常运行的网站以及app。Foundation在构建的时候秉承移动优先的策略,它拥有大量实用的语义化功能,并且使用Zepto类库来取代jQuery,这样可以带来更好的用户体验,并且提高运行的速度。
Foundation拥有一套12列的灵活可嵌套的网格系统,你可以用它快速创建适应多种浏览设备的布局。它有很多的功能。它定义了很多的样式,比如字体排版,按钮,表单,以及多种多样的导航控件。它也提供了很多的CSS组件,例如操作面板(panels),价格表(price
tables),进度条(progressbars),表格(tables)以及可以适应不同设备的可伸缩视频(flex
video)。与此同时,Foundation还包括了很多的JavaScript插件,如下拉菜单(dropdowns),joyride(网站功能引导插件),magellan(网站固定导航插件),orbit(支持触摸的响应式图片轮播插件),reveal(弹出框插件),sections(强大的tab插件)以及tooltips(工具提示)等。
Foundation框架还提供了很多有用的扩展。
模板(Stencils)——Foundation框架中的所有UI元素都有Omnigraffle
stencils以及矢量PDF两种格式的下载,你可以用它们来方便快捷的绘制线框图和原型图。
HTML模板——HTML模板可以方便地用来快速创建页面布局。你所要做的仅仅是复制得到模板代码,然后丢到页面的标签之间就好了。
图标字体(IconFonts)——包含自定义图标的一种网页字体。
SVG社交网络图标(SocialIcons)——一组不依赖分辨率的社交网络图标(可缩放矢量图标)。
响应式表格——Foundation框架中响应式表格的实现机制是固定表格的左边第一列,然后表格的其他列可以通过滚动条拖拉进行访问。
关闭帆布布局(Off-CanvasLayouts)——
这些布局可以允许一些网页内容或者导航控件在移动端设备上默认隐藏,当浏览屏幕变大或者用户进行相应操作的时候这些内容再出现。当用户进行相关操作的时候,网页内容或者导航控件将会滑动出现。
如你所见,对于Web开发者以及设计师来说,Foundation就像是一个巨大的宝藏。在下载框架的时候,你可以自定义下载框架的内容。
六、GroundworkCSS
GroundworkCSS
是前端框架家族里面新添的一款小清新框架。它是基于Sass和Compass的一个高级响应式的HTML5,CSS以及JavaScript工具包,可以用于快速创建原型并且建立在各种浏览设备上可以正常工作的网站和app。
GroundworkCSS拥有一个灵活,可嵌套的流式网格系统,方便你创建任何布局。这个框架有很多让人印象深刻的功能,比如在平板以及移动端上的网格系统,当屏幕的宽度小于768或者480像素时,页面中原本并列排版的表格列(grid
column)会自动变为独立的行,而不是折叠在一起。另一个很酷的功能是jQuery的响应式文本(ResponsiveText)插件,这个插件可以动态调整页面文字的大小以适应浏览设备的屏幕大小。这个插件对于可伸缩的标题以及创建响应式表格的时候特别有用。
GroundworkCSS包含了大量的UI组件,如tabs、响应式数据表格导航、按钮、表单、响应式导航控件、tiles(一套替代radio按钮以及其他默认表单元素的优雅组件)、工具提示、对话框、Cycle2(一款强大的,响应式的内容滑块)以及其他很多的有用组件。它还提供了很多矢量社交网络图标以及图标字体。
你可以通过切换页面上方的导航按钮选择不同的浏览设备要来查看这款框架的效果。通过这种方式,你可以测试在不同的浏览设备上各种组件的响应式布局情况。
GroundworkCSS的文档写的非常好,并且包含着很多的示例,为了让你更快的上手,他还提供了多种响应式的模板。对于这款框架,唯一我可以想到的缺点就是不能自定义要下载的框架内容。
七、Gumby
Gumby是一款基于Sass和Compass的简单灵活并且稳定的前端开发框架。
它的流式-固定布局(fluid-fixed
layout)可以根据桌面端以及移动设备的分辨率自动优化要呈现的网页内容。它支持多种网格布局,包括多列混杂的嵌套模式。Gumby提供两套PSD的模板,方便你在12列和16列的网格系统上进行设计。
Gumby提供了一个功能丰富的UI工具包,包括按钮,表单,移动端导航,tabs,跳转链接(skiplinks),拨动开关(togglesand
switches,可以方便快捷地切换元素的class,而不需要进行额外的js操作),抽屉功能(drawers),响应式图片以及retina图片等等。为了紧跟最近的设计潮流,Gumby的UI元素中还包括了Metro风格的扁平化设计,你也可以用Pretty风格的渐变设计,或者按照你的想法糅合两种设计风格。该框架还提供了一套出众的响应式,拥有独立分辨率的Entypo图标,你可以在自己的Web项目中尽情使用。
Gumby有一个很好自定义下载选择器,你可以自行配置各个组件的颜色,并且按自己的需求方便地下载。
八、HTMLKickStart
HTMLKickstart
是一款可以用来方便创建任何布局的集合HTML5,CSS和jQuery的工具包。它提供了干净,符合标准以及跨浏览器兼容的代码。
这款框架提供了多种样式表,包括网格,排版,表单,按钮,表格,列表以及一些跨浏览器兼容的Web组件比如JavaScript的幻灯片功能,tabs,面包屑导航,包含子菜单的菜单以及工具提示等等。
你可以使用99LimeUIKIT提供的UI组件来搭建你的产品线框图。
九、IVORY
IVORY
是一款轻量,简单但是强大的前端框架,可以用于320到1200像素宽度的响应式布局。它基于12列的响应式网格布局,包含表格,按钮,表格,分页,拨动开关,工具提示,手风琴,选项卡等网站中常用的组件和样式。
当你需要一款轻量灵活,不需要额外的其他功能,并且适应不同浏览设备的框架时,IVORY是你最好的选择。
十、Kube
最后,如果你的新项目需要一款实在的,不需要复杂的额外功能组件的,足够简单的框架,那么Kube
将会是你正确的选择。Kube是一款最小化的,支持响应式的前端框架,它没有强加的样式设计,因此给了你充分的自由来开发自己的样式表。它提供了一些Web元素的基本样式,比如网格,表单,排版,表格,按钮,导航,链接以及图片等等。
Kube框架包括一个简洁的CSS文件用于方便地创建响应式布局,还包括了两个JS文件来完成tab以及页面的按钮操作。如果你希望得到Kube最大化的灵活性以及个性化定制,那么你可以下载开发者版本(developer
version),这个版本包括了LESS文件(包括各种变量,mixins以及模块)。
如何选择一款优秀的前端开发框架?
将根据以下标准对这些框架进行评估:
·学习曲线
·针对简单任务的开发效率
·针对复杂、特殊任务的开发效率
·依赖管理
·代码性能/安全优化调整的能力
·平台升级/冗余能力
·在企业市场中的认同度
·开发、使用SOAP和REST服务的复杂性
以上就是小编今天为大家分享的关于Web前端工程师应该知道的Web前端开发框汇总的文章希望本篇文章能够对正在从事Web前端工作的小伙伴们有所帮助。想要了解更多Web前端知识记得关注北大青鸟Web前端培训官网。最后祝愿小伙伴们工作顺利哦!
作者:独家记忆0408
❽ 2020年Web前端性能优化需要做哪些
今天小编要跟大家分享的文章是关于2020年Web前端性能优化需要做哪些?性能优化一直以来都是前端工程领域中的一个重要部分。很多资料表明,网站应用的性能优化对于提高用户留存、转化率等都有积极影响。可以理解为,提升你的网站性能,就是提升你的业务数据(甚至是业务收入)。
性能优化广义上包含前端优化和后端优化。后端优化的关注点更多的时候是在增加资源利用率、降低资源成本以及提高稳定性上。相较于后端,前端的性能优化会更直接与用户的体验挂钩。从用户体验侧来说,前端服务
5s的加载时间优化缩减80%(1s)与后端服务50ms的响应优化缩减80%(10ms)
相比,用户的体验提升会更大。因此很多时候,与体验相关的性能的瓶颈会出现在前端。下面就来和小编一起看一看吧!
一、html文档结构标签语义化
1、首先什么是语义化呢?
语义化是指用合理HTML标记以及其特有的属性去格式化文档内容。机器在需要更少的人类干预的情况下能够研究和收集信息,让网页能够被机器理解,最终让人类受益。即用正确的标签做正确的事。
2、语义化的好处或者说存在的意义
①有利于搜索引擎抓取
②结构清晰的HTML在团队合作中的作用:代码可读、便于维护、提高开发效率、快速达成共识、利于二次开发。
③有利于盲人屏幕阅读器
二、css、js文件数量及大小
优化一般对于css、js是建议使用外联式来进行导入。我们可以对css、js做相应的规划也可以减少css、js的个数以减少http请求。同时也要注重减少重复代码,注重代码重复利用,以达到用最少的代码干最多的事。同时当项目要投入上线使用的时候,可以对css、js文件进行压缩,文件的减小可以加速文件的链接导入,以便加速网页的加载渲染。
可通过使用Webpack,gulp等工具对Js文件进行合并。
三、图片的数量和大小
多个服务器请求会对站点的性能产生显着的影响。对一张图片进行导入又是一个http请求,因此我们应该减少图片的导入数量以便减少http请求。此处,我们必须提到一个名词“css精灵spirit”。css精灵是指包含多个不同的图标、按钮或图形的单个图像。因此我们可以把多张背景图片合并为一张然后对背景图片进行相应的定位。同时使用PNG8格式的图片相对于GIF来说比较少。而对于内容图片,可以对其进行适当的压缩,可以加快文档内容加载,或者如果是需要用户下载的图片,小的图片可以加快用户下载的速度。
使用较为广泛的Web图片格式有:JPEG/JPG、PNG、WEBP、Base64、SVG。
1.JPEG/JPG
特点是有损压缩,体积小,加载快,不支持透明。
使用场景:JPG适合用于呈现热菜丰富的图片,在日常的开发中,JPG图片经常作为大的背景图、轮播图或是Banner图。比如两大电商网站对大图片的处理,就是对JPG图片应用场景的最佳写照。用JPG来呈现大图片,既可以保留图片的质量,又不会担心图片的体积,是一种比较广泛使用的方案。
缺点:在处理一些矢量图形和logo等这些线条感很强、颜色对比强烈的图片时,认为压缩就导致图片模糊非常明显。另外,JPG图像不支持透明度处理,透明图片只能用PNG来呈现了。
2.PNG-8和PNG-24
特点是无损压缩、质量高、体积大、支持透明
优点:无损压缩的高保真图片格式。8和24都是二进制数的位数,8位的PNG支持256中颜色,24位的PNG可以支持1600万种颜色。在不考虑文件大小只在乎最佳的显示效果时,推荐使用PNG-24。但是在适合使用PNG时会优先选择PNG-8
应用场景:主要用PNG来呈现小的LOGO、颜色简单对比强烈的图片或是背景。
3.SVG
特点是文本文件,体积小,不失真,兼容性好
优点:SVG是一种基于XML语法的图像格式。SVG对图像的处理不是基于像素,而是基于对图像的形状描述。
和JPG、PNG相比较,SVG文件体积更小,可压缩性更强。SVG作为矢量图最大的优点在于图片可以无限放大还不失真,一张SVG图片可以适配多种分辨率。另外SVG是文本文件,可以像写代码一样定义SVG,放在HTML中称为DOM的一部分。也可以把对图像的描述写入以.svg为后缀的文件中,在img标签中引入即可。
4.WebP
优点:WebP是一款比JPG、PNG等在压缩方面更加优越的图片格式,同时也不会影响其图片质量,使用该格式时最好将同名文件格式化,当检测浏览器不兼容时自动切换jpg格式
缺点:是一个相对较新的技术,所以对于目前市面上的浏览器能否完美的兼容,其可用和实用性就变得很现实了,再好的东西如果没有好的兼容性,也是非常难以普及和被广泛使用的
5.Base64
优点:减少请求,加快首屏数据显示。对于jpg格式的图片,每一个图片相当于一次http请求,图片多了的话,服务器耗性能比较严重。而将jpg转化成base64格式的图片,则极大地减少了请求数,因为Base是文本格式。
缺点:base64格式图片比原图大,占用更多存储空间,同时,浏览器不会对该资源缓存。
使用方法:background:url(data:image/png;base64,{img_data})
应用场景:一般对于小于10KB大小的图片进行base64转码。
至于动态图有GIF与APNG:后者APNG这东西是mozilla搞出来的,
它是24位的,而且也是动图,可以容纳1680万种颜色,也是为了取代GIF,但是....也就火狐支持,IE10和chrome,safari全部不行,
如果说gif图片是卡片机的话,APNG就是单反
四、有效性验证
除了根据语义加标记之外,HTML文档还需要用有效的代码来编写,如果代码是无效的,浏览器会尝试解释标记本身,有时候会产生错误的结果。更糟的是,如果发送具有正确的MIME类型的XHTML文档,理解XML的浏览器将不显示无效的页面。因为浏览器需要知道要使用什么DTD(文档类型定义)才能正确地处理页面,所以对页面进行有效性验证要求有DOCTYPE声明。
有效性验证工具径:
①
W3C验证器(bookmarklet),这是一小段可以存储在浏览器的书签或收藏夹中的Javascript。单击这个书签就会触发Javascript动作。
②可以访问http://validator.w3.org/,通过输入自己的URL来对自己的站点来进行在线验证。
③使用firefox浏览器的可以下载插件FirefoxWebDeveloperExtension
五、雅虎的Web优化最佳实践
1、内容优化
①尽量减少HTTP请求:常见方法包括合并多个CSS文件和JavaScript文件,利用CSSSprites整合图像,Image
map(图像中不同的区域设置不同的链接),内联图象(使用data:URLscheme在实际的页面嵌入图像数据)等。
②减少DNS查找,一般dns查找需要花费20-120ms,Windows的DNS缓存,可以通过ipconfig/displaydns
这个命令来查看。
③避免重定向
④使Ajax可缓存
⑤延迟加载组件:考虑哪些内容是页面呈现时所必需首先加载的、哪些内容和结构可以稍后再加载,根据这个优先级进行设定。
⑥
预加载组件:预加载是在浏览器空闲时请求将来可能会用到的页面内容(如图像、样式表和脚本)。当用户要访问下一个页面时,页面中的内容大部分已经加载到缓存中了,因此可以大大改善访问速度。
⑦减少DOM元素数量:页面中存在大量DOM元素,会导致JavaScript遍历DOM的效率变慢。
⑧根据域名划分页面内容:把页面内容划分成若干部分可以使你最大限度地实现平行下载。但要确保你使用的域名数量在2个到4个之间(否则与第2条冲突)。
⑨最小化iframe的数量:iframes
提供了一个简单的方式把一个网站的内容嵌入到另一个网站中。但其创建速度比其他包括JavaScript和CSS的DOM元素的创建慢了1-2个数量级。
⑩
避免404:HTTP请求时间消耗是很大的,因此使用HTTP请求来获得一个没有用处的响应(例如404没有找到页面)是完全没有必要的,它只会降低用户体验而不会有一点好处。
2、服务器优化
①使用内容分发网络(CDN):把你的网站内容分散到多个、处于不同地域位置的服务器上可以加快下载速度。
添加Expires或Cache-Control信息头:对于静态内容,可设置文件头过期时间Expires的值为“Never
expire(永不过期)”;对于动态内容,可使用恰当的Cache-Control文件头来帮助浏览器进行有条件的请求。
②Gzip压缩
③设置ETag:ETags(Entity
tags,实体标签)是Web服务器和浏览器用于判断浏览器缓存中的内容和服务器中的原始内容是否匹配的一种机制。
④
提前刷新缓冲区:当用户请求一个页面时,服务器会花费200到500毫秒用于后台组织HTML文件。在这期间,浏览器会一直空闲等待数据返回。在PHP中,可以使用flush()方法,它允许你把已经编译的好的部分HTML响应文件先发送给浏览器,这时浏览器就会可以下载文件中的内容(脚本等)而后台同⑤时处理剩余的HTML页面。
⑥
对Ajax请求使用GET方法:当使用XMLHttpRequest时,浏览器中的POST方法会首先发送文件头,然后才发送数据。因此使用GET最为恰当。
⑦避免空的图像src
3、Cookie优化
①减小cookie大小:去除不必要的coockie,并使coockie体积尽量小以减少对用户响应的影响
②
针对Web组件使用域名无关的Cookie:对静态组件的Cookie读取是一种浪费,使用另一个无Cookie的域名来存放静态组件是一个好方法,或者也可以在Cookie中只存放带www的域名。
4、CSS优化
①将CSS代码放在HTML页面的顶部
②避免使用CSS表达式:CSS表达式在执行时候的运算量非常大,会对页面性能产生大的影响
③使用来代替@import
④避免使用Filters:IE独有属性AlphaImageLoader用于修正IE
7以下版本中PNG图片的半透明效果,但它的问题在于浏览器加载图片时它会终止内容的呈现并且冻结浏览器。
5、JavaScript优化
①将JavaScript脚本放在页面的底部
②
将JavaScript和CSS作为外部文件来引用:在实际应用中使用外部文件可以提高页面速度,因为JavaScript和CSS文件都能在浏览器中产生缓存。
③缩小JavaScript和CSS
④删除重复的脚本
⑤最小化DOM的访问:使用JavaScript访问DOM元素比较慢
⑥开发智能的事件处理程序
6、图像优化
①优化图片大小
②通过CSSSprites优化图片
③不要在HTML中使用缩放图片
④favicon.ico要小而且可缓存
7、针对移动优化
①保持组件大小在25KB以下:主要是因为iPhone不能缓存大于25K的文件(注意这里指的是解压缩后的大小)。
②将组件打包成为一个复合文档:把页面内容打包成复合文本就如同带有多附件的Email,它能够使你在一个HTTP请求中获取多个组件。
以上就是小编今天为大家分享的关于2020年Web前端性能优化需要做哪些的文章,希望本篇文章能够对正在从事Web前端工作的小伙伴们有所帮助,想要了解更多Web前端知识记得关注北大青鸟Web培训官网。最后祝愿小伙伴们工作顺利,成为一名优秀的Web前端工程师。
❾ 前端开发的技术文档怎么写
可以从项目背景,功能模块,目录结构,接口列表来写,还可以配合jsdoc自动生成各个js文件的详细文档
❿ 前端开发应该如何写技术文档
一名合格的前端开发工程师,不单单需要掌握前端必须的各种技术,同时还要掌握其它技术,需要掌握一点后台的知识,同时也要对网站构架有一定的了解,这样才可以称之为一个合格的Web前端开发工程师。
如果你想要快速学习Web前端技术,专业全面的学习方式比较好。适合零基础的小白迅速成长,学习曲线先快后慢,也适合有一定基础的学员进阶学习,巩固知识的基础上,稳步进步突破职业瓶颈。