(转)前端学习路线

 

  • 不求甚解阶段:
 
  1. 入门阶段:
 
Step 1:  用 HTML + CSS 模仿几个漂亮的静态页面。当你看到如今大部分的网页都以为能大概猜到怎样作,而且花时间真的能作出来的时候,便可进入下一步。注意,这个时候请你不要管浏览器兼容性或者太过注意代码的优雅结构,由于不必。作到能兼容现代浏览器,内容和样式基本彻底分离便可。这大概须要半个月到一个月的学习时间。
 
Step 2:  用 HTML + CSS + JS 写几个有交互的页面。例如,你能够写一个漂亮的注册页面,它可以验证各类输入是否符合条件而且有一个用原生 JS 实现的日期选择器(Date Picker)。或者,写一个漂亮的,有动画的相册。注意, 这个阶段请使用原生 JavaScript。一样的,兼容现代浏览器便可。这大概须要半个月的学习时间。
 
Step 3:  入门一门后端语言。按照你的状况,就 php 吧。有了上面的经验,php 入门以后,相信你可以作一个漂亮的无用户留言版了。请把数据存贮在文件中,由于你尚未学习 SQL 嘛。这大概须要半个月的时间,若是你学习能力强,一个星期也不是没有可能。
 
Step 4:  入门一个关系数据库。好比说 MySQL。DDL 和 CRUD ,请必定要熟练。恩,这个阶段不要谈什么优化,那是扯淡。如今,你大概能够作一个多用户的博客程序了。这大概须要半个月的时间。
 
你看, 两个半月不到你就能够成为一个初级的 Web 开发者了。博客作好以后,你能够尝试造更多的轮子。好比:带简单的用户权限的论坛程序、简单的记帐工具,等等,作你喜欢作的任何小程序都行。在这个过程当中,你会变成一个熟练的初级程序员,或者,你为了偷懒,会 学会 jQuery,Smarty 等框架。
 
 
2.提升:
 
有一天,你发现你靠写小程序提升不了水平了。接下来就要学习真正的干货了。
 
 
学习 C 语言。别问我为何,我就是以为一个程序员应该要学过 C 语言,牛逼不牛逼是另一会事儿,何况不少书都是用的 C 语言描述。别光学语法,弄清编译是什么,连接是什么,指针是又怎么一会事儿。
 
学习 离散数学:主要是给你打下计算机数据模型的理论基础。里面包含集合,数,图,等等,更重要的是若是你之后要搞研究,研究0错误程序,就是彻底没有bug的程序,就须要用它上面的推导理论来对程序经行证实。若是你要经过系统分析员,这个也是要考试的
 
学习数据结构和简单的算法。你看,你学完 C 语言就能学数据结构和算法了,我不可思议用 php 来描述数据结构和算法会有多么地奇怪。若是你以为学了以后仍是不知道数据结构到底是什么,有什么用,那证实你尚未真的学到。
 
学习一门面向对象的静态编程语言推荐 Java。学得有多好,就看你花了多少时间了。请务必仔细阅读各种相关书籍,深入领会面向对象的重要编程思想(不过,切忌迷信面向对象编程)。
 
学习操做系统和计算机网络。至少一些基本的概念须要弄清楚,具体的细节,没有必要过于纠结。
 
  • 求甚解阶段:
 
Okay.. .以上均可划为「不求甚解」的阶段,接下来就能够选一个方向(前端,或者后端)「求甚解」了在「求甚解」的阶段里,我这里就不细说了,也无法儿细说,而且你到了这个阶段,通常是不须要别人告诉你须要学什么了。因此,我只说 在进入这个阶段以前,或者刚刚进入这个阶段时,最好去作的一些事情:
 
看书或文档抛弃中文译本,借助各类工具阅读英文原版。(英语要学好)
 
学习使用 Unix-like 系统。
 
•学会提问[1]。
 
订阅科技博客,了解业界正在发生什么事情。
 
 
----------------------------------------------------------------------------------------------------------
 
 
网站开发开发大体分为前端和后端, 前端主要负责实现视觉和交互效果,以及与服务器通讯,完成业务逻辑。其核心价值在于对用户体验的追求。能够按以下思路学习系统学习:
 
基础知识:
 
1.  html + css 这部分建议在 w3school 在线教程 上学习,边学边练,每章后还有小测试。 以后能够模仿一些网站作些页面。在实践中积累了一些经验后,能够系统的读一两本书,推荐《head first html 与 css 中文版》,这本书讲的太细了,我没能拿出耐心细读。你能够根据状况斟酌。 
 
2. javascript 要学的内容实在不少,若是没有其余编程语言的基础的话,学起来可能要费些力,仍是建议先在 w3school上学习。以后建议 立刻看《javascript语言精粹》,js是一门很混乱的语言,这本书可以帮助你区分哪些是语言的精华,哪些是糟粕,对于语言精华,应该深刻学习。糟粕部分能看懂别人写的代码就行,本身就不用尝试了。
 
进阶:
 
有了以上基础,就能够进行通常的静态网页设计,不过对于复杂的页面还须要进一步学习。
 
1. css。必看《精通css》,看完这本书你应该对:盒子模型,流动,block,inline,层叠,样式优先级,等概念很是了解了。做为练习能够看下《css艺门之匠》这本书,它对标题,背景,圆角,导航条,table,表单等主题都有详细的介绍。
 
2. javascript。上面提到内容还不足以让你胜任js编程。在有了基础以后,进一步学习内容包括:
 
a) 框架。推荐jQuery,简单易用,在w3school简单学习js后,直接上手jQuery便可完成一些简单的项目。学习方法也很简单,照着产品文档作几个页面就好了,不用面面俱到,之后遇到问题查文档就好了。框架能够帮你屏蔽浏览器的差别性,让你能更专一与web开发学习的精髓部分。
 
补充: 可使用 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等内容应该系统学习。
 
再进一阶 · 代码层面:
 
有了以上知识,对于大多数小型网站,你应该已经能够写出可以工做的代码了。但要想成为更专业的前端,你还需继续努力。更高的要求大概还有四方面:1易维护,2可测试,3高性能,4低流量(移动端)。
 
1. 易维护。对于页面你该理解‘样式’,‘数据’,‘行为’三者分离,对应的固然就是css,html,js。对于js代码,你最好了解设计模式,重构,MVC等内容。
 
2. 可测性。
 
3. 高性能。必读《高性能javascript》
 
4. 低流量。移动端关注比较多。
 
再进一阶 · 工程层面:
 
前端项目一样面临软件生命周期的各个环节,首先是代码管理, 你必须学会使用svn和git。其次是代码的构建,现在前端代码构建已经不是简单的压缩一下了,须要进行依赖管理、模块合并、各类编译, 必需要学会使用grunt等前端构建工具,最近gulp比较火,也须要了解。
 
补充:
 
对于前端开发,基本内容就这些了,能够根据本身的兴趣爱好选择性学习如下内容。
 
1. 交互设计。大公司依然有专业人士搞这些,不过不懂交互的前端必定不是好前端。推荐《简约至上》。
 
2. 后端。应该说前段工程师必须至少了解一门后端语言,不过若是爱好也可深刻学习, 入手难度比较低的应该是php了。这部分由可分为基于页面,基于框架两种。大型项目都是基于框架开发的, 建议至少了解一个MVC框架,好比php的ci, yii, yaf 等,好还框架的设计思想都大同小异。现在NodeJs在大公司已经获得广泛的使用,推荐你们使用在Node上使用Express框架作一些后端服务的开发。
 
3. flash。我并无吧flash做为前端工程的核心技能之一,由于我不会,不过ActionScript应该和js大同小异,能够根据工做须要学习。不过个人原则是能不用就尽可能不用,其实不少效果经过js,css均可以实现,彻底不须要flash。并且随着html5的发展flash迟早会淘汰。
 
4. html5和css3 。HTML5规范已经于2014年10月28日发布了,移动端html5和css3已经获得了很是普遍的使用,相关的工具和环境也比过去好不少,有志前端必学。
 
5. Android和ios开发。时至今日,前端的工做领域已经很是普遍,native的界面开发本质上也是前端开发,个大公司都面临着Native环境和web环境页面同时维护的问题,若是可以在技术上获得统一,将会有巨大的价值。对于学有余力的同窗,应该了解Native开发的基本流程,至少了解到界面构建的技术。
相关文章
相关标签/搜索