Node.js前端工程师的知识系统

  • HTML5:同CSS3好像,即纵然没有成为规范,可是主流的浏览器都支持了。HTML5不是HMTL,即使也提供了有的新标签,可是它的首要用途还是JavaScript。HTML5首要提供以下职能:
  • 层叠和继续

  • 优先级

  • 盒模型

  • 定位

  • 浮动

地面音频录制播放
Canvas/SVG
地理音信
硬件加速
地点运维
地面存款和储蓄
从桌面拖放文件到浏览器上传
语义化标签,Form表单

Node.js 1

  • 数据类型

  • 变量

  • 表明式与运算符

  • 操纵语句

  • 函数

  • 异常

  • OO

  • 事件

  • BOM

  • 闭包

HTML

前端修炼之路

  • 前端MVC:Web应用的遵循进一步强,Javascript代码也越加多,大批量的JS代码要以何种架构来组织就成了一个亟待化解的标题,于是就有人把守旧的MVC架构移植到前者来化解那么些题材。最近主流前端MVC框架主要有以下这个:
  • 模块化开发:特点是“模块化开发,按需加载“。那中间CommonJS组织定义了英特尔的正式用来规范浏览器端的模块定义。RequireJS和SeaJS是完结了英特尔的四个地道的框架。详见:http://www.weakweb.com/articles/341.html

  • JavaScript单元测试:QUnit

  • JavaScript设计形式

  • NodeJS:把JavaScript移植到服务器端了,那样前端和后端就能够使用同一的技能,方便统一支付。而且NodeJS是非阻塞调用的,在特定领域品质是不行强劲的。而且那是前端开发人士出动后台开发的好机会,进而前后端统一支付,但又不用去学习别的后台开发语言。

  • ES5:ECMAScript
    5,也正是流行的JavaScript规范,对在此之前的JavaScript作了重重立异,增添了不可胜举新的表征,比如JSONECMAScript
    5,相当于新型的JavaScript规范,对此前的JavaScript作了诸多更上一层楼,增加了诸多新的特点,比如JSON。

2.XHTML
XHTML 于贰仟年的一月230日改成 W3C 标准。W3C 将 XHTML
定义为流行的HTML版本。XHTML 将逐级替代 HTML。XHTML是通过把 HTML 和 XML
各自的优点加以结合形成的。XHTML 语法规则如下:

  • 可用性指的是:产品是不是不难上手,用户能不可能成功职务,作用怎样,以及那进度中用户的主观感受可好,是从用户的角度来看产品的性能。可用性好意味着产品品质高,是集团的主导竞争力。
  • 可访问性:上网用户中那些视力受损的人,通过显示屏阅读器使用键盘命令将网页的内容读给她们听。以语义化的HTML(结构和展现相分离的HTML)编写的网页文件,就能够让此类用户更易于导航,且网页文件中的首要音信也更有大概被那些用户找到。

要么多少个比较知名和奇特的框架是Facebook的Bootstrap。Bootstrap是神速支付Web应用程序的前端工具包。它是2个CSS和HTML的聚集,它采取了新型的浏览器技术,给您的Web开发提供了洋气的版式,表单,buttons,表格,网格系统等等。它是依据Less开发的。不支持IE6,在IE7和IE8里效果也不咋地。

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

  • 属性值必须加引号

  • 本性不能够简写

  • 用 Id 属性代替 name 属性

  • XHTML 成分必须被科学地嵌套

  • XHTML 成分必须被关门

1.标签的归类

  • Github是叁个了不起的代码托管网站,大家得以在上开创我们个人的门类,同时也是上学的好地点,大家能够关切别的特出的品种。JSFiddle是叁个web开发人员的演习场,八个足以在诸多上面接纳的工具。我们得以用他来在线编辑一些HTML,CSS,javascript片段。你编辑的代码能够与其余人分享,或嵌入你的博客等
  • 读书优异的开源代码
  • 关怀技术发展趋势,了然最新的行业技术,能够经过订阅盛名博客,阅读技术情报获取
  • 写博客/记笔记,能够开始展览文化积累。

3.标签的语义化
为发挥语义而标记文书档案,而不是为着样式,结构能够的文书档案能够向浏览器传达尽也许多的语义,不论是浏览器位于掌上电脑照旧风行的桌面图形浏览器。结构能够的文书档案都能向用户传达可视化的语义,固然是在老的浏览器,或是在被用户关闭了
CSS 的当代浏览器中。同时组织能够的HTML代码也拉动搜索引擎索引你的网站。

  • 进军:一代宗师。
  • 响应式设计:伴随着各类智能设备的流行,响应式设计未来是万分炎热。从前做网页只要面向PC机的浏览器,页面平昔固定宽度就行,比如960px,而明天因此手提式有线话机的访问量已经超(Jing Chao)越PC机,并且配备的尺码多样两种,今后会更多。在那种背景下,网页协理具备设备进行访问是主旨要求了,而响应式设计能很好的消除那么些难题。

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

  • Web移动支付:开发格局一般是native的方法恐怕Web情势,作为前端开发人士的话当然是去学学Web移动支付了。PhoneGap是必学的,前端层面包车型大巴框架如jQueryMobile,
    Sencha Touch, jQTouch等都是不利的抉择。

  • 前端安全:随着前端技术的发展,安全难题早已从服务器悄然来临了每3个用户的的前头,盗取用户数据,
    创立恶意的能够自小编复制的蠕虫代码,让病毒在用户间传播,使服务器当掉.
    更有甚者或许会在用户不知觉得境况下,让用户成为攻击者,那相对不是骇人听他们说。富客户端的使用尤其广,前端的平安难点也跟着大增。常见的口诛笔伐方法有:


  • CSS质量优化:CSS
    代码是决定页面显示样式与功用的最直白“工具”,然则在质量调优时他们一般被
    Web 开发工程师所忽视,而实在不专业的 CSS
    会对页面渲染的频率有严重影响,尤其是对于结构复杂的 Web 2.0
    页面,那种影响尤为不可磨灭。所以,写出正规的、高质量的 CSS
    代码会相当大的坚实应用程序的功用。

  • LESS and SASS:CSS 预处理器,用来为 CSS
    扩充部分编制程序的的性子,无需考虑浏览器的包容性难点,例如你能够在 CSS
    中利用变量、简单的程序逻辑、函数等等在编制程序语言中的一些主导技能,能够让你的
    CSS
    更见简洁,适应性更强,代码更直观等许多好处。SASS基于Ruby开发。LESS既能够在客户端运转,也足以凭借Node.js恐怕Rhino在服务端运维。


2.进阶

  • 并非选用table布局,table是用来表格展现的。

  • 决不四处滥用div标签,div是用来分块用的

  • 并非使用样式标签,如font, center, big, small, b,
    i,样式能够用CSS来决定,b和i能够用strong和em来代表。

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

  • 尽只怕不要选拔内联CSS

  • XSS,跨站脚本攻击(Cross Site
    Script)。它指的是恶意攻击者往Web页面里安顿恶意html代码,当用户浏览该页之时,嵌入的黑心html代码会被实施,从而实现恶意用户的独特指标。
  • CSLacrosseF(克罗丝 Site Request Forgery),跨站点伪造请求。顾名思义正是通过伪造连接请求在用户不知情的状态下,让用户以协调的地位来形成攻击者需求达到的有个别目标。
  • cookie劫持,通过获取页面包车型地铁权力,在页面中写七个大约的到黑心站点的呼吁,并指引用户的cookie
    获取cookie后通过cookie 就足以直以被盗用户的身价登录站点。

CSS

MustCache
JsRender

1.基础

  • 潜出:把握总体前端项目,做百分百前端项指标框架结构师。
  • 跨域处理:同源策略规定跨域之间的脚本是与世隔膜的,三个域的台本不可能访问和操作别的1个域的多头属性和艺术。所谓的跨域处理就是地处不用域之间的步子相互调用,近日有广大方法来拍卖它。
  • 调节工具:前端的调剂工具很多,比如Firebug,Webkit大旨的web
    inspector, IE的iedeveloper。HTTP相关的fiddler,
    httpwatch等,还有格式化代码的jsbeatutifier,它促进阅读压缩处理过的JavaScript代码。IETester能够照猫画虎全数的IE版本,是调节IE包容性的好工具。
  • SEO:搜索引擎优化
  • A/B
    test:分明两个成分或版本(A和B)哪个版本更好,你供给同时实验四个版本。最终,采纳最佳的本子选拔。
  • 可用性/可访问性:
  • HMTL & XHTML
  • CSS基础知识
  • JavaScript基础知识
  • DOM
  • JSON
  • AJAX
  • JavaScript Frameworks

javascript

  • 前者模板:首假使为着缓解复杂的多寡拼接难题,能够将模板语言转换化为HTML结构,能够大大简化学工业作量,同时期码的可维护性获得极大的做实。近来可比主流前端模板有:

牵连能力
了不起的前端工程师须要拥有杰出的牵连能力,因为您的做事与许多人的行事相关。在别的景况下,前端工程师至少都要知足下列四类客户的供给。

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

  • 往交互设计方向走,前端工程师完毕一定水准后相互设计力量也会获取非常大的增高,对所有消息架构的把握能力也会更强。可以很好的弥补视觉设计师在沟通设计上的阙如。那条路实在和第贰条是不争辨的,甚至足以精通为同样条路。

  • 以后走,即去学习后台开发的技能,比如JAVA/PHP等,其实绝超过三分之一观念的后台开发职员就是以此景况,即前后台都做。个人觉得那样的话其实早就走回老路了,究竟前端正是从原来的后台开发那里独立出来的。

  • 往管理方向,比如项目CEO,或许索性转行,比如公务员等。

圆角
多背景
@font-face
动画片与渐变
渐变色
Box阴影
TucsonGBa-插手透明色
文字阴影

1.基础

下图是前者工程师图解:

何以升高前端技术

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

  • 前者流程/安顿:GruntBowerYeoman于今差不多是前者最流行的自动化的门类营造筑工程具
  • 正则表明式
  • 浏览器插件开发
  • 浏览器原理

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

  • CSS3:
    就算CSS3还尚无正规成为行业内部,不过包罗IE9+, chrome,
    Firefox等现代浏览器都援助CSS3。CSS提供了好多在先必要用JavaScript和切图才能化解的成效,近来重要功能有:

Others

前者的以后

2.进阶

960 Grid System
Blueprint CSS
Bluetrip
Minimum Page

  • 长远:精晓前端大旨技术,能够单独工作。
  • 不停的学习新的技术
  • 互相设计能力,管理能力
  • CSS品质优化
  • LESS and SASS
  • JavaScript单元测试
  • JavaScript设计格局
  • NodeJS
  • ES5
  • Web移动支付
  • 浏览器插件开发
  • 前端安全
  • 跨域处理
  • SEO
  • A/B test
  • 可用性/可访问性
  • 前者流程/布署
  • 浏览器原理

 

从某种意义上说,卓越的前端工程师就像一人民代表大会使,须要随时抱着外交官的心理来应对每一日的行事。

7e7ec141gdf7d4810f25f&690

  • 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它本人其实并不是叁个框架,它是贰个库(lib)。近年来主流的框架或库有如下多少个:

  • HTML5标签,TML标签语义化
  • CSS Sprite
  • 浏览器兼容性
  • IE HasLayout和Block Format Content
  • CSS3
  • 精通JavaScript Frameworks
  • HTML5
  • 前端模板
  • 前端MVC
  • 模块化开发
  • Http1.1
  • 调节工具
  • 正则表达式
  • 响应式设计
  • web前端学习调换群:328058344 禁止闲聊,非喜勿进!

jQuery
Node.js,YUI
DOJO

  • 出品老总——那么些是负责策划应用程序的一群人。他们能够想像出哪些通过应用程序来满意用户需要,以及哪些通过她们安插的情势赚到钱(往往救经引足)。一般的话,那些人追求的是加上的效能。

  • UI设计师——那个人负担应用程序的视觉设计和互相模拟。他们关怀的是用户对怎样敏感、交互的一向性以及完整的好用性。他们喜爱于流畅靓丽但并不简单达成的用户界面,但考虑难点屡屡不周到。

  • 项目老总——那个人负责实际地运营和掩护应用程序。项目管理的根本关切点,无外乎常常运作时刻(uptime)——应用程序始终健康可用的时刻、品质和终结日期。项目老板追求的目的往往是硬着头皮保险业务的简单化,以及不在升级立异时引入新题材。

  • 最终用户——当然是应用程序的显要消费者。就算大家不会时常与最后用户打交道,但她俩的反映意见重要;没人想用的应用程序毫无价值。最终用户须求最多的就是对民用有效的作用,以及竞争性产品所负有的效率。

  • CSS 7-Up:CSS
    Coca Cola主要用来前端品质优化的一种技术,原理是经过将多张背景图片合成在一张图片上之所以缩小HTTP请求,加速载入速度。

  • 浏览器兼容性:绝大多数状态下我们须求考虑浏览器的包容性,近日正值利用的浏览器版本万分多,IE6,
    IE7, IE8, IE9, IE10, Chrome, Firefox, Safari。

  • IE HasLayout和Block Format Content:IE HasLayout是1个 Internet
    Explorer for
    Windows的私家概念,它决定了一个因素怎样显示以及约束其蕴藉的情节、如何与任何因素交互和建立联系、怎样响应和传递应用程序事件、用户事件等。那种渲染特性能够透过一些
    CSS 属性被不可逆袭地接触。而有些 HTML
    成分则暗中同意就拥有”layout”。近日只有IE6和IE7有其一可能率。BFC是 W3C CSS
    2.1
    规范中的三个概念,它决定了成分如何对其内容展开定位,以及与其余因素的涉嫌和互相成效。那些其实和浏览器的包容性有关,因为绝超过55%的包容性难点都是它们引起的。

  • CSS Frameworks:
    CSS框架是一与日俱增CSS文件的集合体,包括了骨干的要素重置,页面排版、网格布局、表单样式、通用规则等代码块,用于简化web前端开发的工作,进步级工程师作成效。近期广泛框架有:

  • 标签表示叁个要素

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

  • 按语义划分:

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

  • 入门:打基础同时能参与到品种中去。