前者工程师的学问系统

图片 1

前端开发的骨干是HTML + CSS +
JavaScript。本质上它构成一个MVC框架,即HTML作为信息模型(Model),CSS控制样式(View),JavaScript负责调度数据和实现某种展现逻辑(Controller)。

HTML


1.签的分类

  • 标签表示一个因素

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

  • 按部就班语义划分:

Headings: h1, h2, h3, h4, h5, h6Paragraphs: pText Formatting: em,
strong, sub, del, ins, smallLists: ul, li, ol, dl, dt, ddTables:
table, thead, tbody, tr, th, tdForms and Input: form, input, select,
textareaOthers: div, span, a, img, HTML5: header, footer, article,
section

2.XHTML

XHTML 于2000年之1月26日改成 W3C 标准。W3C 将 XHTML
定义也流行的HTML版本。XHTML 将慢慢取代 HTML。XHTML是透过把 HTML 和 XML
各自的长处加以结合形成的。XHTML 语法规则如下:

  • 属于性名和标签号必须小写

  • 属性值必须加引号

  • 特性不克简写

  • 故此 Id 属性代替 name 属性

  • XHTML 元素必须吃科学地嵌套

  • XHTML 元素必须于关

3.标签的语义化为达语义而标记文档,而非是为样式,结构可以的文档可以望浏览器传达尽可能多之语义,不论是浏览器在掌上电脑还是风行的桌面图形浏览器。结构可以的文档都能够通往用户传达可视化的语义,即使是在一味的浏览器,或是在让用户关闭了
CSS
的现世浏览器中。同时结构可以的HTML代码也推进搜索引擎索引而的网站。(web前端上交流群:328058344
禁止闲聊,非喜不进!)

  • 不用使table布局,table是为此来表格显示的。

  • 并非到处滥用div标签,div是为此来分块用底

  • 绝不以样式标签,如font, center, big, small, b,
    i,样式可以用CSS来决定,b和i可以据此strong和em来代替。

  • 并非用换行标签以及空格来控制样式,请用CSS。

  • 尽可能不要动内联CSS

CSS

1.基础

  • 层叠和后续

  • 优先级

  • 盒模型

  • 定位

  • 浮动

2.进阶

  • CSS Sprite:CSS
    Sprite主要用以前端性能优化的同一种植技术,原理是经以多张背景图片合成在同摆放图上用减少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
    规范着的一个定义,它控制了元素如何对那情进行固定,以及跟其它因素的关系与相互作用。这个实际与浏览器的兼容性有关,因为绝大部分之兼容性问题都是她引起的。(web前端上交流群:328058344
    禁止闲聊,非喜不进!)

  • CSS
    Frameworks:CSS框架是相同文山会海CSS文件之集合体,包含了骨干的元素重置,页面排版、网格布局、表单样式、通用规则等代码块,用于简化web前端开发的做事,提高工作效率。目前大框架来:

960 Grid System
Blueprint CSS
Bluetrip
Minimum Page

要么一个比出名和新鲜之框架是Twitter的Bootstrap。Bootstrap是很快开Web应用程序的前端工具包。它是一个CSS和HTML的聚集,它用了行的浏览器技术,给你的Web开发提供了时尚的版式,表单,buttons,表格,网格系统等等。它是依据Less开发之。不支持IE6,在IE7和IE8里效果呢非咋地。

CSS3:

虽然CSS3还未曾正规成专业,但是连IE9+, chrome,
Firefox等现代浏览器都支持CSS3。CSS提供了过多先用为此JavaScript和切图才能够搞定的法力,目前第一意义来:

圆角
多背景

@font-face
动画以及渐变
渐变色
Box阴影
RGBa-加入透明色
文字阴影

  • 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 James
    Gaiiett创造的名词,由Google发扬光大。用于创造更好还快和交互性更胜似之
    Web 应用程序的技能。

  • JavaScript
    Frameworks:极大简化我们JavaScript编程的工作量,它主要提供了以下几独至关重要成效:
    DOM操作,跨浏览器兼容性,以及程序架构。当然像jQuery它本身其实并无是一个框架,它是一个库房(lib)。目前主流的框架或库有如下几独:

jQuery
YUI
DOJO

  • HTML5:同CSS3近乎,即虽然从未成规范,但是主流的浏览器还支持了。HTML5休是HMTL,虽然为提供了一部分初标签,但是它的主要用途还是JavaScript。HTML5主要提供以下功能:

地方音频视频播放
Canvas/SVG
地理信息
硬件加速
本地运行
本地存储
自桌面拖放文件及浏览器上污染
语义化标签,Form表单

  • 前端模板:主要是为化解复杂的数额拼接问题,可以用模板语言转换化为HTML结构,可以大大简化工作量,同时代码的可维护性得到好十分的加强。目前于主流前端模板来:

MustCache
JsRender

  • 前端MVC:Web应用之法力尤为强,Javascript代码也更加多,大量之JS代码要为何种架构来集团便变成了一个急功近利的题目,于是便有人拿传统的MVC架构移植到前端来化解这些题目。目前主流前端MVC框架主要发生以下这些:
    (web前端上交流群:328058344 禁止闲聊,非喜不进!)

Backbone.js
Spine
YUI
Agility.js
Ember.js
Batman.js
Dojo
AngularJS(MVVM)
KnockoutJS(MVVM)

  • 模块化开发:特点是“模块化开发,按需加载“。这其中CommonJS组织定义了AMD的标准用来规范浏览器端的模块定义。RequireJS和SeaJS是实现了AMD的简单只精彩的框架。详见:http://www.weakweb.com/articles/341.html

  • JavaScript单元测试:QUnit

  • JavaScript设计模式

  • NodeJS:把JavaScript移植到劳动器端了,这样前端和后端就可应用同一的技术,方便统一开发。而且NodeJS是非阻塞调用的,在一定领域性能是可怜强的。而且就是前端开发人员出动后台开发之好机遇,进而前后端统一开,但同时不用去读书其他后台开发语言。

  • 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等都是不利的取舍。

  • 前者安全:随着前端技术的上扬,安全问题曾由服务器悄然来临了各国一个用户之的前面,盗取用户数量,
    制造恶意之可以自我复制的蠕虫代码,让病毒在用户中传播,使服务器当掉.
    更有甚者可能会见当用户不知觉得情况下,让用户成为攻击者,这绝对免是骇人听闻。富客户端的施用更加广,前端的安康问题啊随着增加。常见的口诛笔伐方式来:

  • XSS,跨站脚论攻击(Cross Site
    Script)。它依靠的凡黑心攻击者往Web页面里安插恶意html代码,当用户浏览该页之常,嵌入的恶心html代码会给实践,从而达成恶意用户之突出目的。
  • CSRF(Cross Site Request Forgery),跨站点伪造请求。顾名思义就是
    通过伪造连接要于用户不知情的图景下,让用户以相好的地位来就攻击者需要达成的片目的。
  • cookie劫持,通过获取页面的权能,在页面被写一个大概的至黑心站点的请求,并携带用户之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)编写的网页文件,就得给此类用户更易于导航,且网页文件中之首要消息为再度发生或吃这些用户找到。
  • 前端流程/部署:Grunt,Bower和Yeoman本几乎是前者最盛的自动化的色构建工具

  • 正则表达式

  • 浏览器插件开发

  • 浏览器原理

沟通能力

十全十美之前端工程师需要有优异的联系能力,因为你的劳作与广大丁之干活有关。在其它情况下,前端工程师至少都使满足下列四类客户之求。
(web前端上交流群:328058344 禁止闲聊,非喜不进!)

  • 产品经营——这些是肩负策划应用程序的同群人数。他们会想像发生什么样通过应用程序来满足用户需求,以及怎样通过她们设计之模式赚到钱(往往从以及愿违)。一般的话,这些人口追求的是增长的力量。

  • UI设计师——这些口承受应用程序的视觉设计及互相模拟。他们关注的凡用户对呀敏感、交互的一贯性以及完整的好用性。他们喜爱让流畅靓丽可并无容易实现的用户界面,但考虑问题频不周全。

  • 项目经理——这些人口顶实际地运行与掩护应用程序。项目管理的主要关注点,无外乎正常运转时刻(uptime)——应用程序始终健康可用之时日、性能和终结日期。项目经理追求的目标往往是竭尽保持工作的简单化,以及未在升级翻新时引入新题材。

  • 最终用户——当然是应用程序的最主要消费者。尽管我们不见面时跟最终用户打交道,但她俩的上报意见主要;没人思念就此底应用程序毫无价值。最终用户要求最好多之尽管是本着民用有效的效益,以及竞争性产品所具备的法力。

由某种意义上说,优秀之前端工程师就如是如出一辙各项大使,需要天天获得在外交官的心怀来应本着各国一样天的行事。

怎增强前端技术

  • 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
  • 调剂工具
  • 正则表达式
  • 响应式设计

潜出:把握总体前端项目,做满前端项目的架构师。

  • CSS性能优化
  • LESS and SASS
  • JavaScript单元测试
  • JavaScript设计模式
  • NodeJS
  • ES5
  • Web移动支付
  • 浏览器插件开发
  • 前者安全
  • 跨域处理
  • SEO
  • A/B test
  • 可用性/可访问性
  • 前者流程/部署
  • 浏览器原理

出征:一代宗师。

  • 莫歇的念新的技巧
  • 互设计能力,管理力量

前者的前景

  • 活动技术流路线,即深入研讨前端相关的各项技术,比如浏览器原理,JavaScript本身的研究,W3C各种正式等。前端技术发展迅速,各种新技巧层出不穷,这长长的总长移动下是死麻烦的。

  • 通往交互设计方向动,前端工程师完成一定程度后互动设计力量为会见赢得特别要命之增强,对全信息架构的把握能力呢会重新强。可以好好之弥补视觉设计师在交换设计上之供不应求。这漫长总长实在和率先长是匪冲突之,甚至好知道为平修总长。

  • 通往后移动,即夺学学后台开发的艺,比如JAVA/PHP等,其实绝大部分风的后台开发人员就是是状态,即前后台都举行。个人认为这样的话其实早已倒回老路了,毕竟前端就是自原本的后台开发那里独立出来的。

  • 向阳管理方向,比如项目经理,或者干脆转行,比如公务员等。

相关文章