AngularJS前端工程师的学识连串

下图是前者工程师图解:

AngularJS 1

7e7ec141gdf7d4810f25f&690

 

前端开发的为主是HTML + CSS +
JavaScript。本质上它们组成一个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 于2000年的六月26日变成 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 Coca Cola:CSS
    百事可乐重要用来前端性能优化的一种技术,原理是经过将多张背景图片合成在一张图片上之所以减弱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
    规范中的一个定义,它决定了元素怎么着对其情节展开定位,以及与任何因素的关系和互相功能。这多少个实际和浏览器的兼容性有关,因为绝大部分的兼容性问题都是它们引起的。

  • 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 詹姆士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框架重要有以下那个:

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是非阻塞调用的,在特定领域性能是万分强大的。而且这是前端开发人士出动后台开发的好机会,进而前后端统一开支,但又不用去学习其他后台开发语言。

  • 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)编写的网页文件,就可以让此类用户更便于导航,且网页文件中的紧要音讯也更有可能被这多少个用户找到。
  • 前端流程/部署:GruntBowerYeoman最近几乎是前者最风靡的自动化的项目构建工具
  • 正则表达式
  • 浏览器插件开发
  • 浏览器原理

联系能力
优异的前端工程师需要具备不错的关系能力,因为你的劳作与许三人的干活有关。在其他动静下,前端工程师至少都要满意下列四类客户的急需。

  • 产品经营——这多少个是背负策划应用程序的一群人。他们力所能及想像出怎样通过应用程序来满足用户需求,以及怎么样通过她们设计的形式赚到钱(往往白璧微瑕)。一般的话,那一个人追求的是添加的功力。

  • 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
  • 调节工具
  • 正则表达式
  • 响应式设计
  • web前端学习互换群:328058344 禁止闲聊,非喜勿进!
  • 潜出:把握总体前端项目,做任何前端项目标架构师。
  • CSS性能优化
  • LESS and SASS
  • JavaScript单元测试
  • JavaScript设计格局
  • NodeJS
  • ES5
  • Web移动支付
  • 浏览器插件开发
  • 前者安全
  • 跨域处理
  • SEO
  • A/B test
  • 可用性/可访问性
  • 前端流程/部署
  • 浏览器原理
  • 进军:一代宗师。
  • 不停的就学新的技艺
  • 交互设计力量,管理力量

前端的前程

  • 走技术流路线,即深入研究前端相关的各样技术,比如浏览器原理,JavaScript本身的研讨,W3C各类正式等。前端技术提升很快,各个新技巧见怪不怪,这条路走下来是很累的。

  • 往交互设计方向走,前端工程师完成一定程度后互动设计力量也会拿走很大的加强,对全部信息架构的握住能力也会更强。可以很好的弥补视觉设计师在沟通设计上的缺少。这条路实在和第一条是不争持的,甚至可以了解为同一条路。

  • 以后走,即去读书后台开发的技能,比如JAVA/PHP等,其实绝大部分价值观的后台开发人员就是以此场合,即前后台都做。个人认为这样的话其实已经走回老路了,毕竟前端就是从原来的后台开发这里独立出来的。

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

相关文章