本文是写给那些想要入门 web 前端工程的初学者, 高手请路过, 也欢迎高手们拍砖.
先说下 Web 前端工程师的价值, 目前 Web 产品交互越来越复杂, 用户使用体验和网站前端性能优化这些都得靠 Web 前端工程师去做 Web 前端工程师是设计加开发的综合体, Web 前端工程师是在开发人员中最直接面向产品, 面向用户的设计人员, 一个开发团队的成果是要靠 Web 前端工程师去展现, 因为用户不会去关心后台的处理有多么强大 ; 在设计人员中 Web 前端工程师是直接面向开发人员的设计人员, 向开发人员以一种计算机语言的方式传递其设计理念, Web 前端工程师在整个团队中是很关键的.
在我眼中一名合格的 Web 前端工程师必须得掌握 html,CSS 和 JavaScript. 只懂其中一个或两个还不行, 你必须对这三门语言都很熟悉. 也不是说必须对这三门语言都非常精通, 但你至少要能够运用它们完成大多数任务, 而无需地频繁地寻求别人的帮助.
这里还是要推荐下我的 Web 前端学习群: 867726593, 不管你是小白还是大牛, 小编我都欢迎, 不定期分享干货, 包括小编自己整理的一份最新的 Web 前端资料和 0 基础入门教程, 欢迎初学和进阶中的小伙伴. 在不忙的时间我会给大家解惑.
下面说下我眼中 Web 前端工程师要掌握的基础知识和技能:
1 网页的基本结构(HTML + CSS)
HTML 是一种标记语言, 而不是编程语言, 最基本是标签是 < HTML > 和 < body>,CSS 是用来定义如何显示 HTML 元素的. 对 HTML+CSS 很容易入门, 但很多人不够深入, 举几个例子:<meta > 标签是作什么用的? margin-left 与 left 有什么区别, 应该在什么情况下使用? 再出个 DIV+CSS 布局问题: 一个宽度不确定的 DIV 里面放三个水平对齐的 DIV, 左右两个 DIV 宽度固定为 150px, 中间那个 DIV 充满剩余的宽度. 如果这些问题你目前还不知道, 对那个布局问题几分钟内不能解决, 说明你对 HTML+CSS 还不够深入.
2 浏览器是怎么展现网页的
不同内核的浏览器对网页的渲染是不一样的, 目前浏览器都有客户端调试工具, 下图展现一个 google 首页在 IE9 下的加载细节:
在做 Web 性能优化时, 对浏览器渲染及细节要进一步了解. 说个比较有用的知识点: 目前浏览器并行加载的上限是 6, 老版本的浏览器会有所不同.
3 网页的生命周期
不同的 Web 框架下, 页面的生命周期会有所不同, 大体还是一样: 客户端发送 GET 请求, 服务器返回相应页面, 客户端完成操作及数据, 然后 POST 给服务器. 一定要对数据的传递 (前台与后台, 页面之间) 的细节了然于心.
4 DHTML DOM BOM JavaScript Ajax
这是 Web 前端开发的重中之中, 大多数时候我们都在和他们打交道. 说几个注意点: JavaScript 是单线程编程, 所谓的 JavaScript 异步编程只不过是计划在未来的某个时间上执行相应事件而已; 详细了解 DOM 事件机制; 客户端存储 (HTML5 中增加了 localStorage 和 sessionStorage);JavaScript 不像服务器端语言那样严谨, 调试不是很方便, 所以一开始要养成严谨的 JavaScript 编辑习惯; JavaScript 很强大很灵活, 不要幻想短时间内熟练(更别说精通) 它, 并写些框架, 类库, 初始阶段还是先用熟练已成熟的框架 (比如 jQuery) 当入门; 一定要熟练使用客户端调试工具.
5 服务器端语言开发经验, PS 切图技术
Web 前端开发介于设计与开发中间, 所以两端的东西都得懂点. 编辑语言是相通的, 之前编写过服务器语言, 对学习 JavaScript 是十分有益的, 从图片转成静态 HTML 页面, 少不了 PS 切图技术.
6 浏览器的兼容性
由于历史原因 , 浏览器的兼容性一直都折磨 Web 前端工程师的地方, 虽然有 W3 组织, 并制定了一些规范, 虽然浏览器产商都正在努力改进并接近其规范, 但现实网络环境中各种内核, 各种版本的浏览器都有一席之地. 解决浏览器兼容性靠经验积累, 可喜的事这方面资料网上有很多.
7 快速学习能力和主动学习意愿
Web 前端的发展很快, 从事这一行业一定要有快速学习能力和主动学习意愿, 这样才能适应 Web 产品的要求. 在 Web 前端领域没有绝对的是与非, 解决一个问题的方法有很多, 但我们要找到一个更合适的方法, 找到一个更合适的方法需要经验作积累, 总之 Web 前端入门容易, 想熟练很难, 需要更多的主动学习意愿.
8 良好的沟通能力
优秀的前端工程师需要具备良好的沟通能力, 因为你的工作与很多人的工作息息相关, 比如项目经理, 设计师, 最终用户, 开发工程师, 前端工程师位于这几类人的交汇点上, 这些角色的要求你都得照顾好, 平衡这四类人的需求, 拿出一个比较合适的方案. 由此可见沟通能力对前端工程师要求更高.
最后提供一些好的学习资料:
1. 《JavaScript 权威指南》
2. 《JavaScript+DOM 编程艺术》
3. 《JavaScript 高级程序设计》
Web 前端学习群: 867726593
知识分享到这里就结束了, 学习 Web 前端的朋友可以来我的群, 里面每天都有对应资料学习: 680847368, 欢迎初学和进阶中的小伙伴.
来源: http://www.jianshu.com/p/49183888d7d9