网站开发开发大体分为前端和后端,前端主要负责实现视觉和交互效果,以及与服务器通讯,完成业务逻辑。其核心价值在于对用户体验的追求。能够按以下思路学习系统学习:javascript
基础知识:php
对于习惯看视频学习的同窗,以上内容也能够在 慕课网-国内最大的IT技能学习平台 上学习。虽然我没用过,但好几位同窗推荐过了,大概看了下,内容还不错。css
进阶:html
有了以上基础,就能够进行通常的静态网页设计,不过对于复杂的页面还须要进一步学习。前端
a) 框架。推荐 zepto,简单易用,在w3school简单学习js后,直接上手 zepto 便可完成一些简单的项目。zepto 源码简单清晰,也适合新手阅读。补充: 可使用 codecademy 学习 javascript,zepto,用户体验真的很好(感谢 TonyOuyang )。最近比较热门的框架是React, VUE, Angular这些, 根据须要稍做了解便可。随着ie浏览器市场份额的降低,以及移动端的发展,标准原生js已经能够在实际项目中使用(目前还须要借助es5shim、babel等),重点仍是ES5, ES6, ES7。html5
b) javascript语言范式 。这个名字可能并不恰当,只是我找不到能够描述“面向对象”,“函数式”这个两个概念的概念。javascript不彻底是一个面向对象的语言,它的不少设计理念都有函数编程语言的影子,甚至说若是你不用面向对象,彻底能够把它理解成一门函数式编程语言。javascript的不少语言特性,都是由于他具备函数式语言的特色才存在的。这部分推荐先学习面向对象的基本理论,对封装,继承,多态等概念要理解,维基百科,百度百科会是你的帮手,另外推荐《object oriented javascript》,应该有中文版。对与函数式编程能够参考这篇文章:JavaScript 中的函数式编程实践java
c) javascript语言内部机制。必须弄清以下概念:js中变量的做用域,变量传递方式,函数的定义环境与执行环境,闭包,函数的四种调用方式(通常函数,对象的方法,apply,call),以及四种调用方式下,‘this'指向的是谁。这部份内容你会在《javascript语言精粹》中详细了解。node
d) dom编程,这个web前端工程师的核心技能之一。必读《dom编程艺术》,另外《高性能javascript》这本书中关于dom编程的部分讲的也很好。react
e) ajax编程,这是另外一核心技术。ajax建议在网上查些资料,了解这个概念的前因后果,百度百科,维基百科上的内容就足够了。真正编程是很容易的,现在几乎全部框架都对ajax有良好的封装,编程并不复杂。另外,ajax将来几年会被 Fetch Standard 取代,也须要了解。另外关于xhr2,cors(跨站资源共享),formData文件上传,也须要了解。(web前端学习交流群:328058344 禁止闲聊,非喜勿进!) webpack
f) es5, es6。如今开发js大部分基于es5的,ie8如下经过es5-shim。但利用一些工具,如今已经能够直接写es6代码了,尤为在reactjs,nodejs类型的项目中。对于从es5,es6每一个阶段js发生了哪些变化都须要系统学习,学习顺序建议是 JavaScript基础 -> es5 -> es6,越靠前的越重要。一些参考连接:ECMAScript 5 compatibility tableECMAScript 6入门ES5 « 张鑫旭
再进一阶 · 代码层面:
有了以上知识,对于大多数小型网站,你应该已经能够写出可以工做的代码了。但要想成为更专业的前端,你还需继续努力。更高的要求大概还有四方面:1易维护,2可测试,3高性能,4低流量(移动端)。
再进一阶 · 工程层面:
前端项目一样面临软件生命周期的各个环节,首先是代码管理,你必须学会使用svn和git。其次是代码的构建,现在前端代码构建已经不是简单的压缩一下了,须要进行依赖管理、模块合并、各类编译,必需要学会使用grunt、gulp、webpack、rollup等前端构建工具,以及前端模块管理的方式,amd,cmd,es6 module 等等。
而后呢?
以上内容只是简单说了前端学习的顺序。前端工程师应该有的知识结构请参考这里:JacksonTian/fks · GitHub
补充:
对于前段开发,基本内容就这些了,能够根据本身的兴趣爱好选择性学习如下内容。