前端学习过程

基础知识
1、HTML + CSS 
    推荐《Head First HTML 与 CSS 中文版》,这本书讲的太细了 
2、Javascript 
    建议《Javascript语言精粹》,
    JS是一门很混乱的语言,这本书能够帮助你区分哪些是语言的精华,哪些是糟粕,对于语言精华,应该深入学习。 
    
进阶有了以上基础,就可以进行一般的静态网页设计,不过对于复杂的页面还需要进一步学习。 
1、CSS。
    必看《精通CSS》,看完这本书你应该对:【盒子模型】,【流动】,Block,inline,层叠,样式优先级,等概念非常了解了。
    练习《CSS艺门之匠》这本书,它对标题,背景,圆角,导航条,table,表单等主题都有详细的介绍。 
2、Javascript。上面提到内容还不足以让你胜任JS编程。在有了基础之后,进一步学习内容包括: 
    a)框架
        推荐jQuery,简单易用,框架可以帮你屏蔽浏览器的差异性
        补充: 可以使用Codecademy学习 Javascript,jQuery,用户体验真的很好(感谢 TonyOuyang )。
        
    b)Javascript 语言范式 
        这个名字可能并不恰当,只是我找不到可以描述“面向对象”,“函数式”这个两个概念的概念。
        Javascript不完全是一个面向对象的语言,它的很多设计理念都有函数编程语言的影子,甚至说如果你不用面向对象,完全可以把它理解成一门函数式编程语言。 
        Javascript的很多语言特性,都是因为他具有函数式语言的特点才存在的。这部分推荐先学习面向对象的基本理论,对封装,继承,多态等概念要理解,维基百科,百度百科会是你的帮手,
        另外推荐《Object Oriented Javascript》,应该有中文版。
        对与【函数式编程】我了解的也不系统,不好多说,可以自己百度一下。
        
    c)Javascript 语言内部机制
        弄清如下概念:JS 中变量的作用域,变量传递方式,函数的定义环境与执行环境,闭包,函数的四种调用方式(一般函数,对象的方法,apply,call),以及四种调用方式下,‘this’指向的是谁。
        这部分内容你会在《Javascript语言精粹》中详细了解。
        另外,你必须理解 json。
        
    d)DOM编程,
        这个Web前端工程师的核心技能之一。
        必读《Dom编程艺术》,另外《高性能 Javascript》这本书中关于dom编程的部分讲的也很好。 
        
    e)Ajax编程
        另一核心技术。Ajax建议在网上查些资料,了解这个概念的来龙去脉,百度百科,维基百科上的内容就足够了。真正编程是很容易的,如今几乎所有框架都对Ajax有良好的封装,编程并不复杂。 
        
    f)浏览器差异性
        这部分包括CSS和js两部分,浏览器差异内容很多,建议在实践中多多积累。
        浏览器的渲染模式, DOCTYPE等内容应该系统学习。 
        
3、HTML5和CSS3 HTML5规范已经于2014年10月28日发布了,移动端HTML5和CSS3已经得到了非常广泛的使用,必知必会呀。 
    代码层面有了以上知识,对于大多数小型网站,你应该已经可以写出能够工作的代码了。但要想成为更专业的前端,你还需继续努力。更高的要求大概还有四方面:
    1)易维护。
        对于页面你该理解‘样式’,‘数据’,‘行为’三者分离,对应的当然就是CSS,HTML,js。对于js代码,你最好了解设计模式,重构,MVC等内容。 
    2)可测性。 
    3)高性能。
        必读《高性能Javascript》 
    4)低流量。
        移动端关注比较多。
4、工程层面前端项目
    同样面临软件生命周期的各个环节,
    1)代码管理,
        你必须学会使用【Svn】和【Git】。
    2)代码的构建,
        如今前端代码构建已经不是简单的压缩一下了,需要进行依赖管理、模块合并、各种编译,比需要学会使用【Grunt】、【Gulp】、【webpack】等前端构建工具。 
    3)然后呢? 以上内容只是简单说了前端学习的顺序。 对于前段开发,基本内容就这些了,可以根据自己的兴趣爱好选择性学习以下内容。 
        1、交互设计。
            不过不懂交互的前端一定不是好前端。推荐《简约至上》。 
        2、后端。 
            必须至少了解一门后端语言,入手难度比较低的应该是PHP了。这部分由可分为基于页面,基于框架两种。大型项目都是基于框架开发的,
        3、建议至少了解一个MVC框架,
            比如PHP的Ci、Yii、Yaf 等,好还框架的设计思想都大同小异。推荐大家使用在【Node】上使用【Express】框架做一些后端服务的开发。
5、Android和IOS开发。 
    【native】的界面开发本质上也是前端开发,个大公司都面临着Native环境和web环境页面同时维护的问题,如果能够在技术上得到统一,将会有巨大的价值。
    应该了解Native开发的基本流程,至少了解到界面构建的技术。 
原文地址:https://www.cnblogs.com/slightFly/p/10671645.html