前端工程师的文化种类

下图是前者工程师图解:

图片 1

7e7ec141gdf7d4810f25f&690

 

前端开发的主导是HTML + CSS +
JavaScript。本质上它们组成2个MVC框架,即HTML作为新闻模型(Model),CSS控制样式(View),JavaScript负责调度数据和兑现某种显示逻辑(Controller)。

HTML


1.标签的分类

  • 标签表示三个要素

  • 按性质划分: Block-Level和Inline-Level

  • 按语义划分:

Headings: h1, h2, h3, h4, h5, h6
Paragraphs: p
Text Formatting: em, strong, sub, del, ins, small
Lists: ul, li, ol, dl, dt, dd
Tables: table, thead, tbody, tr, th, td
Forms and Input: form, input, select, textarea
Others: div, span, a, img,
HTML5: header, footer, article, section

2.XHTML
XHTML 于三千年的7月15日改为 W3C 标准。W3C 将 XHTML
定义为新型的HTML版本。XHTML 将逐步替代 HTML。XHTML是透过把 HTML 和 XML
各自的独到之处加以结合形成的。XHTML 语法规则如下:

  • 属性名和标签名称必须小写

  • 属性值必须加引号

  • 属性无法简写

  • 用 Id 属性代替 name 属性

  • XHTML 成分必须被正确地嵌套

  • XHTML 成分必须被关闭

3.标签的语义化
为表明语义而标记文档,而不是为了样式,结构可以的文档可以向浏览器传达尽或许多的语义,不论是浏览器位于掌上电脑依旧最新的桌面图形浏览器。结构可以的文档都能向用户传达可视化的语义,即便是在老的浏览器,或是在被用户关闭了
CSS 的现世浏览器中。同时结构能够的HTML代码也推进搜索引擎索引你的网站。

  • 不要拔取table布局,table是用来表格显示的。

  • 并非随处滥用div标签,div是用来分块用的

  • 永不接纳样式标签,如font, center, big, small, b,
    i,样式可以用CSS来支配,b和i可以用strong和em来代表。

  • 毫不使用换行标签<br />和空格来决定样式,请用CSS。

  • 尽大概不要接纳内联CSS

CSS

1.基础

  • 层叠和继续

  • 优先级

  • 盒模型

  • 定位

  • 浮动

2.进阶

  • CSS 七喜:CSS
    Pepsi-Cola主要用于前端品质优化的一种技术,原理是透过将多张背景图片合成在一张图纸上就此减弱HTTP请求,加快载入速度。

  • 浏览器包容性:绝大多数情形下大家须要考虑浏览器的包容性,目前正在使用的浏览器版本十三分多,IE6,
    IE7, IE8, IE9, IE10, Chrome, Firefox, Safari。

  • IE HasLayout和Block Format Content:IE HasLayout是五个 Internet
    Explorer for
    Windows的私房概念,它控制了一个因素如何体现以及约束其含有的情节、怎样与任何因素交互和建立联系、怎么样响应和传递应用程序事件、用户事件等。这种渲染本性可以透过一些
    CSS 属性被不可转败为胜地接触。而略带 HTML
    成分则暗中同意就拥有”layout”。如今唯有IE6和IE7有其一可能率。BFC是 W3C CSS
    2.1
    规范中的3个定义,它决定了成分如何对其故事情节举行固化,以及与其它因素的涉及和互相作用。那个实在和浏览器的包容性有关,因为绝大部分的包容性难点都是它们引起的。

  • CSS Frameworks:
    CSS框架是一层层CSS文件的集合体,包括了核心的因素重置,页面排版、网格布局、表单样式、通用规则等代码块,用于简化web前端开发的干活,升高工作功用。近日常见框架有:

960 Grid System
Blueprint CSS
Bluetrip
Minimum Page

抑或3个比较闻明和特有的框架是推特(Twitter)的Bootstrap。Bootstrap是高速支付Web应用程序的前端工具包。它是二个CSS和HTML的集结,它采取了最新的浏览器技术,给你的Web开发提供了前卫的版式,表单,buttons,表格,网格系统等等。它是按照Less开发的。不帮忙IE6,在IE7和IE8里效果也不咋地。

  • CSS3:
    即使如此CSS3还没有专业成为正式,可是包含IE9+, chrome,
    Firefox等现代浏览器都协理CSS3。CSS提供了众多在先需求用JavaScript和切图才能消除的功能,方今重点职能有:

圆角
多背景
@font-face
动画片与渐变
渐变色
Box阴影
PAJEROGBa-参加透明色
文字阴影

  • CSS质量优化:CSS
    代码是控制页面呈现样式与功用的最直接“工具”,可是在品质调优时他们一般被
    Web 开发工程师所忽略,而实在不三不四的 CSS
    会对页面渲染的频率有生死攸关影响,特别是对此结构复杂的 Web 2.0
    页面,那种影响愈来愈不可磨灭。所以,写出正式的、高品质的 CSS
    代码会极大的增高应用程序的成效。

  • LESS and SASS:CSS 预处理器,用来为 CSS
    扩大部分编程的的风味,无需考虑浏览器的包容性难点,例如你可以在 CSS
    中行使变量、不难的程序逻辑、函数等等在编程语言中的一些中央技能,可以让您的
    CSS
    更见简洁,适应性更强,代码更直观等很多益处。SASS基于Ruby开发。LESS既可以在客户端运维,也足以借助Node.js只怕Rhino在服务端运维。

javascript


1.基础

  • 数据类型

  • 变量

  • 表明式与运算符

  • 支配语句

  • 函数

  • 异常

  • OO

  • 事件

  • BOM

  • 闭包

2.进阶

  • DOM:DOM即文档对象模型,HTML DOM
    定义了访问和操作HTML文档的正儿八经措施。大约全数的当代浏览器都能很好的帮忙DOM了。

  • JSON:(JavaScript Object Notation)
    是一种轻量级的数据交流格式,易于人阅读和编辑,同时也不难机器解析和生成。是当前实际数据交换的正儿八经格式,大约全部语言都扶助JSON,比XML强太多了。

  • AJAX:即“Asynchronous JavaScript and XML”(异步JavaScript和-
    XML),AJAX并非缩写词,而是由Jesse JamesGaiiett成立的名词,由谷歌(Google)发扬光大。用于创设更好更快以及交互性更强的
    Web 应用程序的技能。

  • JavaScript
    Frameworks:极大简化大家JavaScript编程的工作量,它首要提供了以下多少个重大职能:
    DOM操作,跨浏览器包容性,以及程序架构。当然像jQuery它本人其实并不是3个框架,它是贰个库(lib)。近日主流的框架或库有如下多少个:

jQuery
YUI
DOJO

  • HTML5:同CSS3看似,即固然并未成为专业,然则主流的浏览器都协理了。HTML5不是HMTL,纵然也提供了部分新标签,可是它的主要用途依旧JavaScript。HTML5主要提供以下职能:

本地音频录像播放
Canvas/SVG
地理新闻
硬件加快
地面运维
本地存储
从桌面拖放文件到浏览器上传
语义化标签,Form表单

  • 前端模板:重假设为了化解复杂的多寡拼接难题,可以将模板语言转换化为HTML结构,可以大大简化工作量,同时代码的可维护性拿到很大的狠抓。近年来可比主流前端模板有:

MustCache
JsRender

  • 前端MVC:Web应用的效率更是强,Javascript代码也愈加多,大批量的JS代码要以何种架构来协会就成了1个急切的题材,于是就有人把古板的MVC架构移植到前端来缓解那一个难题。如今主流前端MVC框架首要有以下那么些:

Backbone.js
Spine
YUI
Agility.js
Ember.js
Batman.js
Dojo
AngularJS(MVVM)
KnockoutJS(MVVM)
web前端学习交换群:328058344 禁止闲谈,非喜勿进!

  • 模块化开发:特点是“模块化开发,按需加载“。那个中CommonJS社团定义了英特尔的正儿八经用来规范浏览器端的模块定义。RequireJS和SeaJS是已毕了速龙的八个精美的框架。详见:http://www.weakweb.com/articles/341.html

  • JavaScript单元测试:QUnit

  • JavaScript设计形式

  • NodeJS:把JavaScript移植到劳动器端了,那样前端和后端就足以行使同一的技巧,方便统一支付。而且NodeJS是非阻塞调用的,在一定领域品质是12分有力的。而且那是前端开发人士出动后台开发的好机遇,进而前后端统一开发,但又不用去学习其余后台开发语言。

  • ES5:ECMAScript
    5,也等于风靡的JavaScript规范,对以前的JavaScript作了广大更上一层楼,增添了无数新的特点,比如JSONECMAScript
    5,也等于时髦的JavaScript规范,对前面的JavaScript作了累累改进,增加了重重新的风味,比如JSON。

Others


  • 响应式设计:伴随着种种智能设备的风靡,响应式设计今后是这么些炎热。以前做网页只要面向PC机的浏览器,页面一向定位宽度就行,比如960px,而未来透过手机的访问量已经超先生过PC机,并且配备的尺码各类各样,未来会越来越多。在那种背景下,网页帮衬具有装备开展访问是大旨要求了,而响应式设计能很好的消除这一个标题。

  • Http1.1:GET,POST格局,Request/Response 尾部,状态码等。

  • Web移动支付:开发形式一般是native的不二法门依然Web格局,作为前端开发人士的话当然是去上学Web移动支付了。PhoneGap是必学的,前端层面的框架如jQueryMobile,
    Sencha Touch, jQTouch等都是不易的采取。

  • 前者安全:随着前端技术的前进,安全题材早已从服务器悄然来临了每3个用户的的前方,盗取用户数量,
    成立恶意的可以自身复制的蠕虫代码,让病毒在用户间传播,使服务器当掉.
    更有甚者或者会在用户不知觉得景况下,让用户成为攻击者,那纯属不是骇人听新闻说。富客户端的施用特别广,前端的安全难点也随即增多。常见的抨击方法有:

  • XSS,跨站脚本攻击(Cross Site
    Script)。它指的是黑心攻击者往Web页面里安排恶意html代码,当用户浏览该页之时,嵌入的黑心html代码会被实施,从而完结恶意用户的独特目标。
  • CS路虎极光F(Cross Site Request Forgery),跨站点伪造请求。顾名思义就是
    通过伪造连接请求在用户不知情的图景下,让用户以协调的地位来成功攻击者须求高达的有些目的。
  • cookie恫吓,通过获取页面的权杖,在页面中写1个简短的到黑心站点的呼吁,并带走用户的cookie
    获取cookie后透过cookie 就可以直以被盗用户的身份登录站点。
  • 跨域处理:同源策略规定跨域之间的脚本是隔离的,两个域的脚本不或然访问和操作此外二个域的大举性质和方法。所谓的跨域处理就是处于不用域之间的脚步相互调用,近来有众多措施来处理它。
  • 调节工具:前端的调剂工具很多,比如Firebug,Webkit主题的web
    inspector, IE的iedeveloper。HTTP相关的fiddler,
    httpwatch等,还有格式化代码的jsbeatutifier,它促进阅读压缩处理过的JavaScript代码。IETester可以一成不变全体的IE版本,是调剂IE包容性的好工具。
  • SEO:搜索引擎优化
  • A/B
    test:鲜明两个因素或版本(A和B)哪个版本更好,你必要同时实验五个本子。最后,采纳最好的本子接纳。
  • 可用性/可访问性:
  • 可用性指的是:产品是还是不是简单上手,用户能不能完毕职分,作用如何,以及那进度中用户的主观感受可好,是从用户的角度来看产品的身分。可用性好意味着产品品质高,是合营社的主导竞争力。
  • 可访问性:上网用户中那个视力受损的人,通过显示器阅读器使用键盘命令将网页的内容读给她们听。以语义化的HTML(结构和表现相分离的HTML)编写的网页文件,就足以让此类用户更易于导航,且网页文件中的首要音信也更有可能被这个用户找到。
  • 前者流程/布署:GruntBowerYeoman当今大约是前者最流行的自动化的门类营造工具
  • 正则表达式
  • 浏览器插件开发
  • 浏览器原理

关联能力
理想的前端工程师必要有所卓绝的关联能力,因为你的做事与广大人的做事有关。在别的动静下,前端工程师至少都要满意下列四类客户的须要。

  • 出品总监——那么些是肩负策划应用程序的一群人。他们力所能及想像出怎么着通过应用程序来满意用户要求,以及怎么样通过她们设计的形式赚到钱(往往不尽如人意)。一般的话,这一个人追求的是添加的效应。

  • UI设计师——那一个人负担应用程序的视觉设计和互相模拟。他们关注的是用户对什么样敏感、交互的平昔性以及完整的好用性。他们喜爱于流畅靓丽但并不简单已毕的用户界面,但考虑难题屡屡不周密。

  • 项目老总——那几个人肩负实际地运行和保险应用程序。项目管理的紧要性关切点,无外乎正常运行时刻(uptime)——应用程序始终健康可用的时刻、品质和了结日期。项目老总追求的靶子往往是尽大概保证业务的简单化,以及不在升级翻新时引入新题材。

  • 最终用户——当然是应用程序的要害消费者。即便我们不会时不时与最后用户打交道,但他们的报告意见主要;没人想用的应用程序毫无价值。最后用户须求最多的就是对个人有效的机能,以及竞争性产品所独具的功能。

从某种意义上说,杰出的前端工程师就好像1人大使,要求时刻抱着外交官的感情来应对每日的干活。

怎么提升前端技术

  • Github是三个美妙的代码托管网站,大家可以在上创办大家个人的类型,同时也是读书的好地方,大家得以关心其余出色的品种。JSFiddle是多少个web开发人士的磨炼场,一个得以在诸多下边接纳的工具。大家可以用她来在线编辑一些HTML,CSS,javascript片段。你编辑的代码可以与其余人分享,或嵌入你的博客等
  • 阅读出色的开源代码
  • 关爱技术发展趋势,驾驭最新的行业技术,可以经过订阅知名博客,阅读技术情报获取
  • 写博客/记笔记,能够开展文化积累。

前者修炼之路

  • 入门:打基础同时能插手到品种中去。
  • HMTL & XHTML
  • CSS基础知识
  • JavaScript基础知识
  • DOM
  • JSON
  • AJAX
  • JavaScript Frameworks
  • 深深:通晓前端主题技术,可以单独工作。
  • HTML5标签,TML标签语义化
  • CSS Sprite
  • 浏览器包容性
  • IE HasLayout和Block Format Content
  • CSS3
  • 精通JavaScript Frameworks
  • HTML5
  • 前者模板
  • 前端MVC
  • 模块化开发
  • Http1.1
  • 调剂工具
  • 正则表明式
  • 响应式设计
  • web前端学习沟通群:328058344 禁止闲聊,非喜勿进!
  • 潜出:把握总体前端项目,做任何前端项目的架构师。
  • CSS品质优化
  • LESS and SASS
  • JavaScript单元测试
  • JavaScript设计形式
  • NodeJS
  • ES5
  • Web移动支付
  • 浏览器插件开发
  • 前者安全
  • 跨域处理
  • SEO
  • A/B test
  • 可用性/可访问性
  • 前者流程/安排
  • 浏览器原理
  • 出征:一代宗师。
  • 不停的求学新的技巧
  • 交互设计能力,管理能力

前端的前程

  • 走技术流路线,即深远钻研前端相关的各项技能,比如浏览器原理,JavaScript自个儿的钻研,W3C各个专业等。前端技术发展高效,各类新技巧习以为常,那条路走下去是很累的。

  • 往交互设计方向走,前端工程师完毕一定程度后相互设计能力也会博得很大的滋长,对全体消息架构的把握能力也会更强。可以很好的弥补视觉设计师在交换设计上的紧缺。那条路实在和第①条是不冲突的,甚至可以清楚为同一条路。

  • 今后走,即去上学后台开发的技艺,比如JAVA/PHP等,其实绝半数以上价值观的后台开发人员就是这些地方,即前后台都做。个人觉得那样的话其实已经走回老路了,毕竟前端就是从原来的后台开发那里独立出来的。

  • 往管理方向,比如项目经理,可能索性转行,比如公务员等。