网站开发开发大致分为前端和后端, 前端主要负责实现视觉和交互效果, 以及与服务器通信, 完成业务逻辑. 其核心价值在于对用户体验的追求. 如果你现在是零基础学员, 大致可以按如下思路学习系统学习:
基础部分
1,html + CSS 这部分学习, 可以模仿一些网站做些页面. 在实践中积累了一些经验后, 可以系统的读一两本书, 推荐《Head First HTML 与 CSS 中文版》, 这本书讲的太细了, 我没能拿出耐心细读. 你可以根据情况斟酌.
2,JavaScript 要学的内容实在很多, 如果没有其他编程语言的基础的话, 学起来可能要费些力, 建议马上看《JavaScript 语言精粹》,JS 是一门很混乱的语言, 这本书能够帮助你区分哪些是语言的精华, 哪些是糟粕, 对于语言精华, 应该深入学习. 糟粕部分能看懂别人写的代码就行, 自己就不用尝试了.
进阶部分
有了以上基础, 就可以进行一般的静态网页设计, 不过对于复杂的页面还需要进一步学习.
1,CSS. 必看《精通 CSS》, 看完这本书你应该对: 盒子模型, 流动, Block,inline, 层叠, 样式优先级, 等概念非常了解了. 作为练习可以看下《CSS 艺门之匠》这本书, 它对标题, 背景, 圆角, 导航条, table, 表单等主题都有详细的介绍.
2,JavaScript. 上面提到内容还不足以让你胜任 JS 编程. 在有了基础之后, 进一步学习内容包括:
a) 框架.
推荐 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 等内容应该系统学习.
3,HTML5 和 CSS3. 移动端 HTML5 和 CSS3 已经得到了非常广泛的使用, 必知必会呀.
升级部分
有了以上知识, 对于大多数小型网站, 你应该已经可以写出能够工作的代码了. 但要想成为更专业的前端, 你还需继续努力. 更高的要求大概还有四方面: 1) 易维护, 2) 可测试, 3) 高性能, 4) 低流量 (移动端).
易维护. 对于页面你该理解'样式','数据','行为'三者分离, 对应的当然就是 CSS,HTML,JS. 对于 JS 代码, 你最好了解设计模式, 重构, MVC 等内容.
可测性.
高性能. 必读《高性能 JavaScript》
低流量. 移动端关注比较多.
额外补充部分
前端项目同样面临软件生命周期的各个环节, 首先是代码管理, 你必须学会使用 SVN 和 Git. 其次是代码的构建, 如今前端代码构建已经不是简单的压缩一下了, 需要进行依赖管理, 模块合并, 各种编译, 比需要学会使用 Grunt,Gulp 等前端构建工具.
以上内容只是简单说了前端学习的顺序. 对于前段开发, 基本内容就这些了, 可以根据自己的兴趣爱好选择性学习以下内容.
1, 交互设计. 大公司依然有专业人士搞这些, 不过不懂交互的前端一定不是好前端. 推荐《简约至上》.
2, 后端.
应该说前段工程师必须至少了解一门后端语言, 不过如果爱好也可深入学习, 入手难度比较低的应该是 PHP 了. 这部分由可分为基于页面, 基于框架两种. 大型项目都是基于框架开发的, 建议至少了解一个 MVC 框架, 比如 PHP 的 Ci,Yii,Yaf 等, 好还框架的设计思想都大同小异. 如今 Node.JS 在大公司已经得到普遍的使用, 推荐大家使用在 Node 上使用 Express 框架做一些后端服务的开发.
3,Android 和 iOS 开发.
时至今日, 前端的工作领域已经非常广泛, native 的界面开发本质上也是前端开发, 个大公司都面临着 Native 环境和 Web 环境页面同时维护的问题, 如果能够在技术上得到统一, 将会有巨大的价值. 对于学有余力的同学, 应该了解 Native 开发的基本流程, 至少了解到界面构建的技术.
up 是一个从事前端开发 6 年的程序员, 在前端领域混了这几年, 总结了一套前端学习的精讲视频和学习路线, 如果有对前端开发感兴趣的伙伴, 不管你是想转行, 或是大学生, 还有工作中想提升自己能力的 Web 前端党, 欢迎大家的加入我的前端开发交流群: 603985993 希望大家诚心交流!, 与企业需求同步. 好友都在里面学习交流, 每天都会有大牛定时讲解前端技术!
来源: http://www.jianshu.com/p/89a6769eb91d