web 开发大概分为前台和后端,前台又可以分为美工,交互设计,js 编程。后端了解不多,前端的话,可以按如
下思路系统学习:
基础知识:
1. html + css
。这部分建议在
www.w3school.com.cn 上学习,边学边练,每章后还有小测试。之后可以
模仿一些网站做些页面。在实践中积累了一些经验后,可以系统的读一两本书,推荐《
head first html 与
css 中文版》,不过这本书讲的太细了,我没能拿出耐心细读。
2. javascript
。 要学的内容实在很多,如果没有其他编程语言的基础的话,学起来可能要费些力,还是建议
先在
w3school 上学习。之后建议马上看《javascript 语言精粹》,js 是一门很混乱的语言,这本书能够帮
助你区分哪些是语言的精华,哪些是糟 粕,对于语言精华,应该深入学习。糟粕部分能看懂别人写的代码就行,
自己就不用尝试了。
进阶:
有了以上基础,就可以进行一般的静态网页设计,不过对于复杂的页面还学进一步学习。
CSS。必看《精通 css》,看完这本书你应该对:盒子模型,流动,block,inline,层叠,样式优先级,等概
念非常了解了。作为练习可以看下《
css 艺门之匠》这本书,它对标题,背景,圆角,导航条,table,表单等
主题都有详细的介绍。
Javascript。上面提到内容还不足以让你胜任 js 编程。在有了基础之后,进一步学习内容包括:
框架。推荐 jQuery,简单易用,我的第一 web 项目就是在 w3school 简单学习后,直接上手 jQuery 完成
的,真的很难简单,很好用。但
jQuery 适用环境有限,对于那些对性能要求很高的页面无法胜任。推荐了解一
下
YUI
或百度的
tangram ,都很好用,学习方法也很简单,照着产品文档做几个页面就行了,不用面面俱到,
以后遇到问题查文档就行了。框架可以帮你屏蔽浏览器的差异性,让你能更专注 与
web 开发学习的精髓部分。
javascript
“
” “
”
语言范式 。这个名字可能并不恰当,只是我找不到可以描述 面向对象 , 函数式 这个两个
概念的概念。
javascript
不完全是一个面向对象的语言,它的很多 设计理念都有函数编程语言的影子,甚至说
如果你不用面向对象,完全可以把它理解成一门函数式编程语言。
javascript 的很多语言特性,都是因为他具
有函数是语言的特点才存在的。这部分推荐先学习面向对象的基本理论,对封装,继承,多态等概念要理解,维
基百科,百度百科会是你的帮手,另外推荐 《
object oriented javascript》,应该有中文版。对与函数
式编程我了解的也不系统,不好多说。
javascript 语言内部机制。必须弄清如下概念:js 中变量的作用域,变量传递方式,函数的定义环境与
执行环境,闭包,函数的四种调用方式(一般函数,对象的方 法,
apply,call),以及四种调用方式下,
‘this’指向的是谁。这部分内容你会在《javascript
语言精粹》中详细了解。另外,你必须 理解
json。
dom 编程,这个 web 前端工程师的核心技能之一。必读《Javascript Dom 编程艺术》,另外《高性能
javascript》这本书中关于 dom 编程的部分讲的也很好。
ajax 编程,这是另一核心技术。ajax 建议在网上查些资料,了解这个概念的来龙去脉,百度百科,维基百
科上的内容就足够了。真正编程是很容易的,如今几乎所有框架都对
ajax 有良好的封装,编程并不复杂。
了解浏览器差异性。这部分包括 css 和 js 两部分,浏览器差异内容很多,建议在实践中多多积累。另外对
于浏览器的渲染模式,
DOCTYPE 等内容应该系统学习。
再进一阶:
有了以上知识,对于大多数小型网站,你应该已经可以写出能够工作的代码了。但写出可以运行的代码,只是编
程的最初级阶段。更高要求大概还有三方面:
1 易维护,2 可测试,3 高性能,如果页面流量有要求,那第四个就
是低流量。
‘
’ ‘
’ ‘
’
易维护。对于页面你该理解 样式 , 数据 , 行为 三者分离,对应的当然就是
css,html,js。对于 js 代码,
你最好了解设计模式,重构,
MVC 等内容。
可测性。js 代码可测性的主题,我正在研究,欢迎感兴趣的同学联系我,共同学习。
高性能。必读《高性能 javascript》。
低流量。技巧性太强,非一朝一夕之功,不多说
补充: