web前端开发返回键 Web前端工程师要掌握的工作经验相关内容,小编在这里做了整理,希望能对大家有所帮助,关于web前端开发返回键 Web前端工程师要掌握的工作经验信息,一起来了解一下吧!
Web前端工程师要掌握的工作经验
今天小编要跟大家分享的文章是关于Web前端工程师要掌握的工作经验。设计师与工程师的交流经常是鸡同鸭讲,牛头对不上马嘴,为了帮同学们搞定这个难题,小编整理了一个列表,帮同学们能跟工程师无障碍沟通,全是非常实用的知识点。
开发者一般不是令人惊艳的设计师,设计师也通常不是出色的开发者。虽然有很多例外,但这两行的门道对对方而言都是难以言说的谜,然而双方却要在这种情况下合作完成项目。作为在两个领域都工作过的人,北大青鸟web前端培训专家整理了一个列表,使设计师能够更好地辅助开发者开发应用和网站。下面来和小编一起看一看吧!
一、Photoshop
开发者经常需要处理设计师制作的Photoshop
PSD文件,因此任何对设计师有益的事情也会对开发者有益,包括绘制易于维护、易于理解的PSD文件。
1、有效地进行版本控制
设计师经常会面对各种装满了一堆没有清晰版本命名的PSD的文件夹。为了解决这个问题,设计师可以事先确定一种合适的版本命名格式(理想的格式应该使文件在字顺排序下自动有意义地排列)。
2、保持图层
不要轻易合并图层。需要导出时,通过组合,隐藏/显示图层的方式来进行,导出后再把文件恢复到原来的状态。不要轻易破坏有用的数据。电脑性能更不是合并图层的理由——若被此限制,你应该做的是买内存更大,性能更好的电脑。
3、对图层进行有意义的命名
虽然对图层命名比较繁琐,但这样做确实能够帮助理解,尤其是在重用文件元素的时候。命名时应确保文字图层的名称反应其内容。重复的图层也要进行有意义的命名,而不是简单的“副件”。
4、合理地对图层编组
应该把分散在不同图层的视觉元素编为一组。对单一设计的文件来说,编组整体上应该一致按照从左到右,从上到下的顺序。层次和顺序比按颜色编码图层更好,因为图层移动时,颜色还需要保持。
5、去掉不需要的图层
不再需要的旧版本、模版和参考材料以及临时复件应该从图层中及时删除。间歇性地浏览一下你的所有图层,及时删除不需要的东西。
6、使用图层复合
Photoshop的图层复合功能可以让你制作多组图层状态,如可见性,位置甚至图层风格。你可以用图层复合功能来灵活地在一份文件中整合设计中不同部分(比如网站的多个标签、应用的多个页面)。这样做可以不必保留重复的图层编组,从而减小文件大小。
7、保存矢量文件和可伸缩效果
在设计应用时,很可能会需要原设计两倍尺寸的图片来适应有双倍像素的新设备。确保在这种情况下你不需要重新绘制所有的图标。
二、助力开发者
还有一些特别与应用及网页设计相关的建议,每项都有相应的要求和限制。
8、学会在缩放时保存圆角
操作系统经常会统一圆角的角半径(iOS通常为12像素)。Adobe
Fireworks会保持圆角矩形的角半径,但Photoshop不会。因此确保你用直接选择工具来选取圆角的点并且以传统的方式缩放图像。
9、在72ppi下进行设计
一个像素就是一个像素,更多的像素只会生成更大的文件。不要通过改分辨率来蒙混过关。
10、对齐像素
确保相关的形状工具设置成对齐像素。根据你的需要使用像素网格等工具。一贯使用偶数尺寸来方便裁剪。
11、使用RGB模式
这点不仅对颜色显示重要,对开发者将颜色正确地写入代码也同样关键。
12、资源准备是你工作的一部分
很多(大多数)开发者除了基本的编辑功能外对Photoshop一窍不通。设计师需要适时地导出可能会在应用或网站上用到的裁剪图,因为毕竟他们是对文件和Photoshop最熟悉的人。这项工作虽然很痛苦,而且很耗时,但这是除“设计”外90%的工作。
13、谨慎地使用字体
不同的设备和操作系统的预设字体有所不同,因此不能确保这些设备都有你进行设计的电脑上的字体(事实上,你比一般人的设备上的字体都多)。基本上,将应用或网站上的文字以实际文本的格式呈现会有更好的效果,但这也使对字体的选择不仅基于视觉,还有可行性上的考虑。
还有一点值得注意,允许个人设计使用的许可也许不允许你将该字体完全使用在应用或网页上。在选定设计中使用的字体之前,确保和你的开发者或客户进行有效沟通。
14、确定设计尺寸
对移动设备应用来说,屏幕尺寸不是全部信息,你还需要考虑系统状态栏等的存在,以及他们如何在屏幕横排和竖排时影响尺寸(比如iOS设备的顶端状态栏会在横排的时候减小较小边的尺寸,在竖排的时候减小大边的尺寸)。和你的开发者确认一下应用是否为完整的全屏很必要。
15、使用平台风格
每个平台(操作系统)都有其独特的用户界面元素和交互风格(也会根据不同的设备有所不同)。在设计时注意这些风格,并且除了有特殊原因,不要进行与平台本身风格差别太大的设计。例如,在iPad上,你会发现这些需要注意的地方:
1、支持两种屏幕方向的强烈需求
2、双栏设计在两种屏幕方向上都可接受
3、将弹出框作为一种界面元素和分组机制
4、确定的文件浏览器的风格
5、在级别较高的导航栏中,返回按钮是向左指的图标
因此,在设计时要熟悉平台,因为你的设计要适应它。没有哪一种单一的设计可以适应所有的平台。。
16、对横排和竖排分别进行设计
不同的屏幕方向需要不同的交互设计风格,这不仅是因为屏幕宽高比,还因为用户以不同方向手持设备时外形、重量和平衡上的区别。只针对适应屏幕宽高比进行设计顶多是一个糟糕的妥协策略。
17、针对每种主流尺寸和情景进行设计
同一应用在手机、平板和电脑上的内容和交互都应有所不同。对移动设备而言,我们也需要考虑注意力持续时间、注意力分散、使用设备时的身体协调性减弱,以及用户在移动或危险情境下使用设备的可能性(例如走路时的障碍物、过马路时的交通情况以及驾驶安全性)。这些使用情景与设备的尺寸和本质有不可否认的关系,有效的设计应该充分考虑这些因素。
18、使用纯正的,至少实际的示例内容
好的示例内容标准有以下几条:
1、示例内容涵盖应用可能的长度,而不是仅仅为了原型设计的方便。
2、设计必需的数据缺省时的显示方案,尤其如用户照片等。
3、考虑不合需要的输入示例,比如需要进行裁剪的过宽或过长的图片。
4、包含极端或少见的名字示例,包括超长或不间断的姓和名。
5、地址不限制为当地的地址形式,而包括各种可能的长度和格式。
6、在设计的任何角落都找不到“Loremipsum”。
19、本地化考虑
当大多数人考虑支持其它语言时,他们想的是文本。而当设计师或开发者考虑本地化时,他们应该考虑的是布局。为了实现本地化,你的设计应该使所有文本支持与英文50%的宽度差异。在显示同等内容时,亚洲语言需要的空间比英语少接近50%,而欧洲语言会比英语多接近50%。这个问题在设计按钮和帮助文本时尤其重要。
20、考虑屏幕全局光源
作为设计师,你应该早就了解每个平台都有其不可改变的屏幕全局光源(例如在iOS上,是在中心的正上方,或90度)。所有高光和阴影效果都应该和平台的光源相协调。
21、明确导航和组织控件设计
向你的开发者明确展示你的设计中包含的标签、下拉菜单或者其它闭合机制。在进行这种控件设计时,要尊重平台的设计惯例。开发者在进行开发时需要明确了解信息层次,因此你要确保你的设计清晰地展示你的意图。图层复合在这种情况下非常有用。
22、导出图形时不进行压缩
在导出时以PNG
alpha通道格式保存,除非被明确告知其它保存方式。除非被明确要求,否则不要使用JPEG格式。不要考虑图像文件大小,因为开发者或他们的开发环境会对图像进行最优化。以透明背景导出每个元素,而不是纯色,即便你设计中的一部分背景确实是纯色的。
23、询问阴影的处理
和你的开发者沟通是否要将阴影效果包含在导出图中。通常情况下,开发者会用CSS或写代码来应用阴影,这样做事实上会比直接使用预先保存的阴影位图更方便容易。不要假定阴影效果应该包含在图像中,虽然在设计原型时用图层展示阴影效果。
24、理解按钮的构建方法
应用或网页上的按钮几乎都不是用单一的图片创建的,而通常是下面两种情况:
a:3部分图像,左端图像,右端图像,重复的单像素宽的中间部分(允许图像的横向扩展)
b:9部分图像,上中下-左端图像,上中下-右端图像,以及3个重复的上中下中间部分(允许按钮的横向和纵向扩展)
最后想法
任何软件都应该是平面设计、交互设计和开发三者合作的结果,这三部分都同等重要。知道另外领域的需求对我们自己的工作非常有帮助。
以上就是小编今天为大家分享的关于Web前端工程师要掌握的工作经验的文章,希望本篇文章能够对正在从事web前端工作的小伙伴们有所帮助,想要了解更多web前端知识的小伙伴们记得关注北大青鸟web培训官网。最后祝愿小伙伴们工作顺利!
Web前端新手应该了解的Cookie知识!
今天小编要跟大家分享的文章是关于Web前端新手应该了解的Cookie知识。正准备学习Web前端知识和准备从事Web
前端工作的小伙伴怎么能不了解Cookie。今天小编就为大家带来了这篇文章,让我们一起来看一看Web前端新手应该了解的Cookie知识。
一、Cookie的出现
浏览器和服务器之间的通信少不了HTTP协议,但是因为HTTP协议是无状态的,所以服务器并不知道上一次浏览器做了什么样的操作,这样严重阻碍了交互式Web
应用程序的实现。
针对上述的问题,网景公司的程序员创造了Cookie。
二、Cookie的传输
服务器端在实现Cookie标准的过程中,需要对任意HTTP请求发送Set-CookieHTTP头作为响应的一部分:
1.Set-Cookie:name=value;expires=Tue,03-Sep-201914:10:21GMT;path=/;
domain=.#;
浏览器端会存储这样的Cookie,并且为之后的每个请求添加CookieHTTP请求头发送回服务器:
1.Cookie:name=value
服务器通过验证Cookie值,来判断浏览器发送请求属于哪一个用户。
三、浏览器中的Cookie
浏览器中的Cookie主要由以下几部分组成:
·名称:Cookie唯一的名称,必须经过URL编码处理。(同名会出现覆盖的情况)
·值:必须经过URL编码处理。
·域(domain):默认情况下cookie在当前域下有效,你也可以设置该值来确保对其子域是否有效。
·路径(path):指定Cookie在哪些路径下有效,默认是当前路径下。
·
失效时间(expires):默认情况下,浏览器会话结束时会自动删除Cookie;也可以设置一个GMT格式的日期,指定具体的删除日期;如果设置的日期为以前的日期,那么Cookie会立即删除。
·安全标志(secure):指定之后只允许Cookie发送给https协议。
浏览器在发送请求时,只会将名称与值添加到请求头的Cookie字段中,发送给服务端。
浏览器提供了一个非常蹩脚的API来操作Cookie:
1.document.cookie
通过上述方法可以对该Cookie进行写操作,每一次只能写入一条Cookie字符串:
1.document.cookie='a=1;secure;path=/'
通过该方法还可以进行Cookie的读操作:
1.document.cookie//"a=1"
由于上述方法操作Cookie非常的不直观,一般都会写一些函数来简化Cookie读取、设置和删除操作。
对于Cookie的设置操作中,需要以下几点:
对于名称和值进行URL编码处理,也就是采用JavaScript中的encodeURIComponent()方法;
expires要求传入GMT格式的日期,需要处理为更易书写的方式,比如:设置秒数的方式;注意只有的属性名的secure;
每一段信息需要采用分号加空格。
1.functionsetCookie(key,value,attributes){
2.if(typeofdocument==='undefined'){
3.return
4.}
5.attributes=Object.assign({},{
6.path:'/'
7.},attributes)
8.
9.let{domain,path,expires,secure}=attributes
10.
11.if(typeofexpires==='number'){
12.expires=newDate(Date.now()+expires*1000)
13.}
14.if(expiresinstanceofDate){
15.expires=expires.toUTCString()
16.}else{
17.expires=''
18.}
19.
20.key=encodeURIComponent(key)
21.value=encodeURIComponent(value)
22.
23.letcookieStr=`${key}=${value}`
24.
25.if(domain){
26.cookieStr+=`;domain=${domain}`
27.}
28.
29.if(path){
30.cookieStr+=`;path=${path}`
31.}
32.
33.if(expires){
34.cookieStr+=`;expires=${expires}`
35.}
36.
37.if(secure){
38.cookieStr+=`;secure`
39.}
40.
41.return(document.cookie=cookieStr)
42.}
Cookie的读操作需要注意的是将名称与值进行URL解码处理,也就是调用JavaScript中的decodeURIComponent()方法:
1.functiongetCookie(name){
2.if(typeofdocument==='undefined'){
3.return
4.}
5.letcookies=[]
6.letjar={}
7.document.cookie&&(cookies=document.cookie.split(';'))
8.
9.for(leti=0,max=cookies.length;i
10.let[key,value]=cookies[i].split('=')
11.key=decodeURIComponent(key)
12.value=decodeURIComponent(value)
13.jar[key]=value
14.if(key===name){
15.break
16.}
17.}
18.
19.returnname?jar[name]:jar
20.}
最后一个清除的方法就更加简单了,只要将失效日期(expires)设置为过去的日期即可:
1.functionremoveCookie(key){
2.setCookie(key,'',{expires:-1})
3.}
介绍Cookie基本操作的封装之后,还需要了解浏览器为了限制Cookie不会被恶意使用,规定了Cookie所占磁盘空间的大小以及每个域名下Cookie的个数。
四、服务端的Cookie
相比较浏览器端,服务端执行Cookie的写操作时,是将拼接好的Cookie字符串放入响应头的Set-Cookie字段中;执行Cookie的读操作时,则是解析HTTP请求头字段Cookie中的键值对。
与浏览器最大的不同,在于服务端对于Cookie的安全性操碎了心
signed
当设置signed=true时,服务端会对该条Cookie字符串生成两个Set-Cookie响应头字段:
1.Set-Cookie:lastTime=2019-03-05T14:31:05.543Z;path=/;httponly
2.Set-Cookie:lastTime.sig=URXREOYTtMnGm0b7qCYFJ2Db400;path=/;
httponly
这里通过再发送一条以.sig为后缀的名称以及对值进行加密的Cookie,来验证该条Cookie是否在传输的过程中被篡改。
httpOnly
服务端Set-Cookie字段中新增httpOnly属性,当服务端在返回的Cookie信息中含有httpOnly字段时,开发者是不能通过JavaScript来操纵该条Cookie字符串的。
这样做的好处主要在于面对XSS(Cross-sitescripting)攻击时,黑客无法拿到设置httpOnly字段的Cookie信息。
此时,你会发现localStorage相比较Cookie,在XSS攻击的防御上就略逊一筹了。sameSite
在介绍这个新属性之前,首先你需要明白:当用户从#发起#的请求也会携带上Cookie,而从#携带过来的Cookie称为第三方Cookie。
虽然第三方Cookie有一些好处,但是给CSRF(Cross-siterequestforgrey)攻击的机会。
为了从根源上解决CSRF攻击,sameSite属性便闪亮登场了,它的取值有以下几种:
·
strict:浏览器在任何跨域请求中都不会携带Cookie,这样可以有效的防御CSRF攻击,但是对于有多个子域名的网站采用主域名存储用户登录信息的场景,每个子域名都需要用户重新登录,造成用户体验非常的差。
·lax:相比较strict,它允许从三方网站跳转过来的时候使用Cookie。
为了方便大家理解sameSite的实际效果,可以看这个例子:
1.//#服务端会在访问页面时返回如下Cookie
2.cookies.set('foo','aaaaa')
3.cookies.set('bar','bbbbb')
4.cookies.set('name','cccccc')
5.
6.//#服务端会在访问页面时返回如下Cookie
7.cookies.set('foo','a',{sameSite:'strict'})
8.cookies.set('bar','b',{sameSite:'lax'})
9.cookies.set('baz','c')
如何现在用户在#中点击链接跳转到#,它的请求头是这样的:
1.RequestHeaders
2.
3.Cookie:bar=b;baz=c
五、网站性能优化
Cookie在服务端和浏览器的通信中,主要依靠HTTP的响应头和请求头传输的,所以Cookie会占据一定的带宽。
前面提到浏览器会为每一次HTPP请求自动携带上Cookie信息,但是对于同站内的静态资源,服务器并不需要处理其携带的Cookie,这无形中便浪费了带宽。
在最佳实践中,一般都会将静态资源部署到独立的域名上,从而可以避免无效Cookie的影响。
以上就是小编今天为大家分享的关于Web前端新手应该了解的Cookie知识,希望本篇文章能够对正在从事Web前端工作和准备从事Web
前端学习的小伙伴们有所帮助。想要了解更多Web前端相关知识记得关注北大青鸟Web培训官网!
作者|descire
来源|#/article/286535
*声明:内容与图片均来源于网络(部分内容有修改),版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜
适合初学者学习Web前端技术的学习路线汇总
今天小编要跟大家分享的文章是关于适合初学者学习Web前端技术的学习路线汇总。在当下来说Web前端开发工程师可谓是高福利、高薪水的职业了。所以现在学习Web前端开发的技术人员也是日益增多了,但是在学习Web前端开发中盲目的去学习而没有一个完整的思路和学习路线也是不行的。
那么想学好Web前端,该从哪里入手学习呢?零基础学习Web前端学习路线图从哪里可以找到呢?在此为大家整理完整的适合零基础学员的Web前端学习路线分享给大家,来和小编一起看一看吧!
1.HTML5介绍
内容包括:(互联网发展趋势、H5语言的优势、简单易学人人都能编程、H5就业和薪资情况、H5常见的项目与产品、H5的未来与方向)
2.HTML基础
内容包括:(HTML简介与历史版本、常用开发软件、常见标签与属性、表格与表单、标签规范与标签语义化、实战:网页结构布局)
3.CSS基础
内容包括:(css简介与基本语法、常见的各种样式属性、CSS选择器与标签类型、理解盒子模型与CSS重置、浮动与定位、利用photoshop工具测量样式、HTML+CSS开发网页、实战:高仿电商首页效果)
4.CSS3基础
内容包括:(css3常见样式、css3选择器、变形与动画、3D效果与关键帧、弹性盒模型)
5.移动端布局
移动端基本概念、viewport窗口设置、移动端布局方案、rem、vh、vw等单位、响应式布局、bootstrap框架
6.JavaScript基础
内容包括:(JS简介、JS变量、数据类型与类型转换、运算符与优先级、流程控制-if..else流程控制-switch...case、流程控制-while、do..while、for循环、break、continue语法、函数定义与调用、全局变量与局部变量、函数传参与返回值、函数作用域与变量作用域。
而且还有DOM的基本操作、定时器使用、this指向与修改指向、数组、字符串等方法操作、时间对象与正则对象、掌握常见BOM操作、常见事件与事件细节、JSON与AJAX、JSONP跨域操作、前端cookie的使用、实战:JS配合HTML与CSS完成电商项目)
7.jquery框架
内容包括:(jquery框架介绍及优势介绍、jquery核心思想、jquery常见方法、jquery动画操作、jqueryAJAX操作、jquery工具方法、利用jquery快速开发网页)
8.PHP基础
内容包括:(PHP简介与基本语法、mysql数据库及sql语法、apache服务器与集成开发工具、PHP链接数据库、PHP与AJAX交互、实战:留言板、登录、注册等)
9.H5基础项目
内容包括:(项目简介、项目功能演示、项目划分及框架、编写HTML页面结构、设置CSS样式、添加JS交互、可选框架:bootstrap、jquery、PHP等、项目调试及兼容、项目验收)
如何成为合格的Web前端开发工程师(Web前端职业规划+各阶段薪资待遇)
原来是需要熟练的掌握HTML、CSS、JS、JQ等最基本的技术。
现在,只掌握这些已经远远不够了。无论是开发难度上,还是开发方式上,Web前端开发不比从前,现在的功能非常强大。
而前端开发为什么现在这么火,在于互联网高速发展,和HTML5技术的不断成熟,各大浏览器的不断兼容,让Web前端开发成为最热的职业。
WEB前端初级开发工程师需要掌握的具体知识点包含:
HTML5基础、CSS基础、jquery框架、PHP基础
此阶段可达成学习效果:
可胜任Web前端开发工程师前端页面布局与重构工程师。
薪资可以达到:4K-6K。
WEB前端中高级开发工程师所需要掌握的知识点包含:
面向对象、javascript、Nodejs、微信端开发
此阶段可达成效果:
可胜任Web前端工程师、高级Web前端工程师、网站开发工程师、移动前端开发工程师等职位。
薪资可达到:6K-10K。
WEB前端大神级开发工程师需要掌握的知识点包含:
VueJS框架、ReactJS框架、AngularJS框架、HybridApp开发、前端架构
此阶段可达成效果:
可胜任高级Web前端工程师、全栈工程师、移动前端App开发工程师、微信开发工程师、小程序开发工程师、数据可视化开发工程师等职位。
薪资可达到:10K-15K+。
以上就是小编今天为大家分享的关于适合初学者学习Web前端技术的学习路线汇总的文章,希望本篇文章能够对正想要学习Web前端知识的小伙伴们有所帮助,想要了解更多Web前端相关知识记得关注北大青鸟Web培训官网。最后祝愿小伙伴们工作顺利,成为一名优秀的Web前端工程师。
我爱编程网以上就是web前端开发返回键 Web前端工程师要掌握的工作经验全部内容了,了解更多相关信息,关注我爱编程网。