零基础的Web前端初学者应该如何系统地学习?

原文地址链接:http://blog.sina.com.cn/s/blog_8ea46aff0102vrya.html


网站开发开发大致分为前端(客户端)和后端(服务器端),前端主要负责实现视觉和交互效果,以及与服务器通信,完成业务逻辑。它的核心价值在于实现用户体验,大型互联网公司的用户体验部门,一般会包括用户研究、交互设计、前端技术和视觉设计等方面的内容。零基础学习前端知识可以按照如下路径进行系统学习:

基础知识

1. html + css 这部分建议通过HTML的入门书进行学习,例如《Head First HTMLCSS(2)》。背熟各个标记的使用之后,可以模仿一些网站做些页面。在实践中积累了一些经验后。

2. JavaScript要学的内容实在很多,如果没有其他编程语言的基础的话,学起来可能要费些力,建议可以看《JavaScript语言精粹》,JavaScript是一门相对比较复杂的语言,这本书能够帮助你区分哪些是语言的精华,哪些是糟粕,对于语言精华,应该深入学习。糟粕部分能看懂别人写的代码就行,自己就不用尝试了。另外,扎卡斯的《JavaScript高级程序设计》非常全面地讲解了JavaScript的方方面面,值得一读再读。

进阶

有了以上基础,就可以进行一般的静态网页设计,不过对于复杂的页面还需要进一步学习。

1. CSS方面。推荐《精通CSS:高级Web标准解决方案(2)》,看完这本书你应该对:盒子模型,流动,blockinline,层叠,样式优先级,等概念非常了解了。另外,作为手册可以参阅《CSS权威指南(3)》这本书,它对标题,背景,圆角,导航条,table,表单等主题都有详细的介绍。

2. JavaScript方面。上面提到的两本书还不足以让你胜任JavaScript编程工作。在有了基础之后,进一步的学习内容包括:

1)框架。推荐jQuery,简单易用,通过jQuery即可完成一些简单的项目。学习方法也很简单,照着产品文档做几个页面就行了,不用面面俱到,以后遇到问题查文档就行了。框架可以帮你屏蔽浏览器的差异性,让你能更专注与Web开发学习的精髓部分。

2)面向地向的JavaScript JavaScript并不完全是一个面向对象的语言,它的很多设计理念都有函数编程语言的影子,甚至说如果你不用面向对象,完全可以把它理解成一门函数式编程语言。JavaScript的很多语言特性,都是因为他具有函数式语言的特点才存在的。这部分推荐先学习面向对象的基本理论,对封装,继承,多态等概念要理解。这部分推荐《JavaScript面向对象编程指南(第2版)》。

3JavaScript语言的内部机制。必须弄清如下概念:JavaScript中变量的作用域,变量传递方式,函数的定义环境与执行环境,闭包,函数的四种调用方式(一般函数,对象的方法,applycall),以及四种调用方式下,this指向的是谁。这部分内容你会在《JavaScript语言精粹》和《JavaScript高级程序设计》中详细的了解。另外,必须理解json

4 DOM编程,这个Web前端工程师的核心技能之一。必读《JavaScript DOM编程艺术(2)》,另外《高性能javascript》这本书中关于dom编程的部分讲的也很好。还有一本比较老的书:《JavaScript.DOM高级程序设计》,用一个写JavaScript类库的视角来审视JavaScript的实现。

5Ajax编程。Ajax是前端领域的又一个核心技术。推荐O'Reilly的《Ajax权威指南》,主要掌握它的核心思路,真正使用它来编程是很容易的,如今几乎所有框架都对Ajax有良好的封装,编程并不复杂。

6 了解浏览器差异性。这部分包括cssJavaScript两部分,浏览器差异内容很多,建议在实践中多多积累。另外对于浏览器的渲染模式,DOCTYPE等内容应该系统学习。

代码层面

有了以上知识,对于大多数小型网站,你应该已经可以写出能够工作的代码了。但要想成为更专业的前端,你还需继续努力。更高的要求大概还有四方面:1易维护,2可测试,3高性能,4低流量(移动端)。
1. 易维护。对于页面你该理解:样式、数据、行为三者分离。对于JavaScript代码,最好了解设计模式,重构,MVC等内容。

2. 可测性。

3. 高性能。必读《高性能JavaScript

4. 低流量。移动端关注比较多。

工程层面

前端项目同样面临软件生命周期的各个环节,首先是代码管理,你必须学会使用svngit。其次是代码的构建,如今前端代码构建已经不是简单的压缩一下了,需要进行依赖管理、模块合并、各种编译,需要学会使用grunt等前端构建工具,最近gulp比较火,也需要了解。

补充

对于前段开发,基本内容就这些了,可以根据自己的兴趣爱好选择性学习以下内容。

  1. 交互设计。大型互联网公司有专业人士研究该领域,不过不懂交互的前端一定不是好前端。推荐《About Face 3 交互设计精髓》。Alan Cooper大神的杰作,交互设计必读书籍。

  2. 后端。应该说前段工程师必须至少了解一门后端语言,不过如果爱好也可深入学习,入手难度比较低的应该是php了。这部分由可分为基于页面,基于框架两种。大型项目都是基于框架开发的,建议至少了解一个MVC框架,比如phpci, yii, yaf 等,好还框架的设计思想都大同小异。如今Node.js在大公司已经得到普遍的使用,推荐大家使用在Node.js上使用Express框架做一些后端服务的开发。

  3. FlashFlash并不是前端工程师的核心技能之一,不过ActionScriptJavaScript都遵循ECMA-262规范,学习的难度并不是特别高。目前使用Flash平台的领域主要集中于Web Game领域,如果想要进入游戏开发方向,可以详细地了解。

  4. HTML5CSS3 HTML5规范已经于20141028日发布了,移动端HTML5CSS3已经得到了非常广泛的使用,相关的工具和环境也获得飞快地发展,有志于前端的同学必学。

  5. Androidios开发。时至今日,前端的工作领域已经非常广泛,native的界面开发本质上也是前端开发,各大公司都面临着Native环境和Web环境页面同时维护的问题,如果能够在技术上得到统一,将会有巨大的价值。对于学有余力的同学,应该了解Native开发的基本流程,至少了解到界面构建的技术。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值