前端工程师, 也叫 web 前端开发工程师. 他是随着 Web 发展, 细分出来的行业.
Web 前端开发技术主要包括三个要素: html,CSS 和 JavaScript!
如何学习前端知识?
我们生活在一个充满规则的宇宙里面. 社会秩序按照规则运行, 计算机语言几乎全部是规则的集合. 计算机前辈们定义规则, 规则约束我们, 我们用规则控制数据. 大部分时候, 对数据的合理控制, 来自于你对规则的掌握.
学习 HTML,CSS 应该先跟着书仔细, 扎实的学一遍. 然后就需要做大量的练习, 做各种常规的, 奇怪的, 大量的布局练习来捆固, 理解自己的知识.
而学习 JavaScript 首先要知道这门语言可以做什么, 不能做什么, 擅长做什么, 不擅长做什么!
如果你只想当一个普通的前端程序员, 你只需要记住大部分 JavaScript 函数, 做一些练习就可以了.
如果你想当深入了解 JavaScript, 你需要了解 JavaScript 的原理, 机制. 需要知道他们的本源, 需要深刻了解 JavaScript 基于对象的本质.
还需要 深刻了解 浏览器宿主 下 的 JavaScript 的行为, 特性.
因为历史原因, JavaScript 一直不被重视, 有点像被收养的一般! 所以他有很多缺点, 各个宿主环境下的行为不统一, 内存溢出问题, 执行效率低下等问题.
作为一个优秀的前端工程师还需要深入了解, 以及学会处理 JavaScript 的这些缺陷.
优秀的前端开发工程师应该具备什么条件?
首先, 优秀的 Web 前端开发工程师要在知识体系上既要有广度和深度! 做到这两点, 其实很难. 所以很多大公司即使出高薪也很难招聘到理想的前端开发工程师. 技术非黑即白, 只有对和错, 而技巧则见仁见智.
在以前, 会一点 Photoshop 和 Dreamweaver 的操作, 就可以制作网页.
现在, 只掌握这些已经远远不够了. 无论是开发难度上, 还是开发方式上, 现在的网页制作都更接近传统的网站后台开发, 所以现在不再叫网页制作, 而是叫 Web 前端开发.
Web 前端开发在产品开发环节中的作用变得越来越重要, 而且需要专业的前端工程师才能做好.
Web 前端开发是一项很特殊的工作, 涵盖的知识面非常广, 既有具体的技术, 又有抽象的理念. 简单地说, 它的主要职能就是把网站的界面更好地呈现给用户.
其次, 优秀的 Web 前端开发工程师应该具备快速学习能力.
Web 发展的很快, 甚至可以说这些技术几乎每天都在变化! 如果没有快速学习能力, 就跟不上 Web 发展的步伐.
前端工程师必须不断提升自己, 不断学习新技术, 新模式; 仅仅依靠今天的知识无法适应未来. Web 的明天与今天必将有天壤之别, 而前端工程师的工作就是要搞清楚如何通过自己的 Web 应用程序来体现这种翻天覆地的变化.
说到这里, 我想起了一个大师说过的一句话: 对于新手来说, 新技术就是新技术.
对于一个高手来说, 新技术不过是就技术的延伸.
再者, 优秀的前端工程师需要具备良好的沟通能力, 因为前端工程师至少都要满足四类客户的需求.
1, 产品经理. 这些是负责策划应用程序的一群人. 他们会想出很多新鲜的, 奇怪的, 甚至是不可是实现的应用. 一般来说, 产品经理都追求丰富的功能.
2,UI 设计师. 这些人负责应用程序的视觉设计和交互模拟. 他们关心的是用户对什么敏感, 交互的一贯性以及整体的好用性. 一般来说, UI 设计师于流畅靓丽, 但并不容易实现的用户界面, 而且他们经常不满前端工程师造成 1px 的误差.
3, 项目经理. 这些人负责实际地运行和维护应用程序. 项目管理的主要关注点, 无外乎正常运行时间, 应用程序始终正常可用的时间, 性能和截止日期. 项目经理追求的目标往往是尽量保持事情的简单化, 以及不在升级更新时引入新问题.
4, 最终用户. 指的是应用程序的主要消费者. 尽管前端工程师不会经常与最终用户打交道, 但他们的反馈意见至关重要. 最终用户要求最多的就是对个人有用的功能, 以及竞争性产品所具备的功能.
前端工程师如何才能变得优秀?
Yahoo 公司 ,YUI 的开发工程师 Nicholas C. Zakas 认为:
前端工程师是计算机科学职业领域中最复杂的一个工种. 绝大多数传统的编程思想已经不适用了, 为了在多种平台中使用, 多种技术都借鉴了大量软科学的知识和理念.
成为优秀前端工程师所要具备的专业技术, 涉及到广阔而复杂的领域, 这些领域又会因为你最终必须服务的各方的介入而变得更加复杂.
专业技术可能会引领你进入成为前端工程师的大门, 但只有运用该技术创造的应用程序以及你跟他人并肩协同的能力, 才会真正让你变得优秀.
万事开头难! 如果你能到这个境界, 剩下的路自己就可以走下去了.
人们常说: 不想当裁缝的司机, 不是个好厨师.
如果单纯只是学习前端编程语言, 而不懂后端编程语言 (PHP,http://ASP.NET,JSP,Python), 也不能算作是优秀的前端工程师.
在成为一个优秀的前端工程师的道路上, 充满了汗水和辛劳.
我目前是在职前端开发, 如果你现在也想学习前端开发技术, 在入门学习前端的过程当中有遇见任何关于学习方法, 学习路线, 学习效率等方面的问题, 你都可以申请加入我的前端学习交流裙: 前面: 603 中间: 985 最后: 993. 里面聚集了一些正在自学前端的初学者 裙文件里面也有我做前端技术这段时间整理的一些前端学习手册, 前端面试题, 前端开发工具, PDF 文档书籍教程, 需要的话都可以自行来获取下载.
来源: http://www.jianshu.com/p/57ed01b97b67