我遇到的前端程序员有两种: 第一种一直在问:怎么学前端? 第二种总是说:前端很简单,就那么几样东西。 从来没有听人问过:如何成为一名优秀甚至优秀的WEB前端工程师。 什么是:前端工程师? 前端工程师,也叫Web前端开发工程师。他是随着web的发展而细分出来的一个行业。 Web前端开发技术主要包括三个要素:HTML、CSS和JavaScript! 要求前端开发工程师不仅要掌握基本的web前端开发技术、网站性能优化、SEO和服务器端基础知识,还要学会使用各种辅助开发工具和理论知识,包括代码可维护性性能、组件的易用性、分层语义模板和浏览器分级支持。 随着近两三年RIA(RichInternetApplications的缩写,中文意思:丰富的互联网应用)的流行和流行,例如:Flash/Flex、Silverlight、XML和服务器端语言(PHP、ASP.NET、JSP、Python)等语言,前端开发工程师也需要掌握。 前端开发的入门门槛其实很低。相对于服务端语言先慢后快的学习曲线,前端开发的学习曲线是先快后慢。 HTML甚至不是一种语言,它只是简单的标记! CSS只是一种无类型的样式语言。当然,它勉强算作弱类型语言。 Javascript基础部分相对来说难度不大,上手还是比较快的。 正因为如此,前端开发领域有很多自学成才的同行,但大多停留在会用的阶段,因为后面的学习曲线越来越陡峭,而且每一步都很难向前推进。 Web前端技术有点江湖主义,知识点过于琐碎,技术价值的博弈也别无二致,就是整个体系的知识结构不系统。这些因素也在客观上影响了“正统”前端技术的沉淀!而且各种“绝活淫秽”被滥用,前端技术知识的传承过于笼统,让新人很难看清现状,把握轻重缓急。所以,在前端技术领域,找一个靠谱的前辈给自己,比项目、团队、公司,甚至薪水都重要。 另一方面,如前所述,前端开发是一个非常新的职业,对一些规范和最佳实践的研究正处于探索阶段。 总有新的灵感和技术不时涌现,比如CSSsprite、负边距布局、网格布局等; 各种JavaScript框架层出不穷,为整个前端开发领域注入了强大的活力;浏览器大战愈演愈烈,跨浏览器兼容方案依然五花八门。 为了满足“高可维护性”的需求,需要更深入、更系统地掌握前端知识,这样才能打造出好的前端架构,保证代码质量. 随着手持设备的快速发展,带动了HTML5行业标准的快速发展。web领域的技术已经有10年左右没有更新了! 现在市场非常需要优秀的资深前端工程师。 一方面是因为这是一个比较新的细分行业,前端程序员大多是自学,知识结构不系统;同类培训机构没有专门针对前端工程师的培训课程!! 吴亮在《JavaScript 王者归来》第一页序言中说:大部分程序员认为Javascript太简单,只适合在一些网页上花哨的表现,所以不想把精力花在学习上,或者认为他们可以不学习就掌握它。. 其实,一门语言是不是脚本语言,往往是由它的设计目标决定的。简单和复杂不是区分脚本语言和非脚本语言的标准。 其实在脚本语言中,Javascript是一门非常复杂的语言,即使以非脚本语言来衡量它的复杂度,它仍然是一门非常复杂的语言! Javascript和Perl和Python一样复杂! 如何学习前端知识? 我们生活在一个充满规则的宇宙中。社会秩序按规则运行,计算机语言几乎完全是规则的集合。计算机的前辈定义了规则,规则约束了我们,我们用规则来控制数据。大多数时候,对数据的合理控制来自于你对规则的掌握。 学习HTML和CSS,首先要认真、扎实地照着书做。然后需要做大量的习题,做各种套路,奇葩,还有大量的布局练习,巩固和理解自己的知识。 学习Javascript,首先要知道这门语言能做什么,不能做什么,擅长什么,不擅长什么! 如果你只是想成为一名普通的前端程序员,你只需要记住大部分的Javascript函数并进行一些练习。 想要深入了解Javascript,就需要了解Javascript的原理和机制。你需要知道它们的起源,你需要深入理解Javascript基于对象的本质。 也需要对Javascript在浏览器宿主下的行为和特点有深刻的理解。 因为历史原因,Javascript一直没有被重视,有点像被领养!因此,它有很多缺点,如在每个主机环境中的行为不一致、内存溢出、执行效率低等。 作为一名优秀的前端工程师,你也需要深刻理解并学会应对Javascript的这些缺陷。 那么一个优秀的,甚至是优秀的前端开发工程师需要具备哪些条件呢? 首先,一个优秀的web前端开发工程师,知识体系的广度和深度一定要兼备!做到这两点其实是很难的。因此,很多大公司即使高薪也很难招到理想的前端开发工程师。技术是非黑即白的,只有对与错,技能不同。 以前只要会Photoshop和Dreamweaver就可以制作网页了。 现在,仅仅掌握这些是不够的。无论是开发难度还是开发方式,现在的网页制作更接近传统的网站后台开发,所以不再叫网页制作,而是Web前端开发。 Web前端开发在产品开发中的作用越来越重要,需要专业的前端工程师来做好。 Web前端开发是一个很特殊的工作,涉及的知识面很广,既有具体的技术,也有抽象的思想。简单来说,它的主要功能就是更好的将网站的界面呈现给用户。 其次,一个优秀的web前端开发工程师应该具备快速学习的能力。Web的发展非常快,甚至可以说这些技术几乎每天都在变化!没有快速学习的能力,就跟不上Web发展的步伐。前端工程师要不断提升自己,学习新的技术和模型;仅仅依靠今天的知识是无法适应未来的。未来的Web将与今天大不相同,前端工程师的工作就是弄清楚如何通过自己的Web应用程序来反映这种翻天覆地的变化。 说到这里,我想起了一位大师说过的一句话:对于新手来说,新技术就是新技术。 对于高手来说,新技术只是旧技术的延伸。 此外,优秀的前端工程师需要具备良好的沟通能力,因为前端工程师至少要满足四类客户的需求。 1。产品经理。这些是负责策划应用程序的人员。他们会想出很多新的、奇怪的,甚至是不可能的应用。一般来说,产品经理追求的是丰富的功能。 2。界面设计师。这些人负责应用程序的视觉设计和交互模拟。他们关心用户对什么敏感、交互的一致性和整体可用性。一般来说,UI设计师往往追求流畅美观,但不易实现,往往对前端工程师造成的1px错误感到不满。 3.专案经理。这些人负责实际运行和维护应用程序。项目管理的主要关注点就是正常运行时间、应用程序始终可用的时间、性能和截止日期。项目经理追求的目标往往是让事情尽可能简单,升级更新时不引入新的问题。 4.终端用户。指应用程序的主要消费者。尽管前端工程师与最终用户的互动并不频繁,但他们的反馈至关重要。最终用户最需要的是对个人有用的功能,以及竞争产品中的功能。 雅虎公司YUI的开发工程师NicholasC.Zakas认为: 前端工程师是计算机科学职业领域中最复杂的工作。大部分传统的编程思想已经不适用了。为了在各种平台上使用,各种技术从软科学中借鉴了大量的知识和思想。成为一名优秀的前端工程师所需的专业知识涉及广泛而复杂的领域,而最终必须服务的各方的介入将进一步复杂化。技术专长可能会带你走向成为前端工程师的大门,但只有你使用该技术创建的应用程序以及你与他人并肩工作的能力才能真正让你成为优秀的人。 —————————————— 关于书籍: HTML和CSS的书都大同小异,当当网和卓越网上都有很多推荐。如果觉得自己学的够多了,可以关注《CSS禅意花园》,这个很有影响力。 Javascript书籍推荐看老外写的书。国内很多Javascript书籍的作者对Javascript语言的理解并不透彻。 这里推荐几本Javascript书籍: 初级读者: 《JavaScript高级程序设计》:非常完整的经典入门书,号称JavaScript圣经之一,讲解非常详细。最新第三版已经出炉,推荐购买。 《JavaScript王者归来》百度web开发项目经理写的,初学者入门教程也不错。 中级阅读材料: 《JavaScript权威指南》:另一本JavaScript圣经,解释非常详细。属于中级阅读材料,推荐购买。 《JavaScript.The.Good.Parts》:雅虎大师,JavaScript精神领袖DouglasCrockford的巨作,虽然只有100多页,但字字清晰!强烈推荐阅读。 《高性能JavaScript》:《JavaScript高级程序设计》是NicholasC.Zakas的又一力作。 《Eloquent JavaScript》:本书只有200多页,非常短小,通过几个非常经典的例子(艾米丽阿姨的猫,悲惨的隐士,模拟生态系统,推箱子游戏等)介绍JavaScript方方面面的知识和应用方法. 进阶阅读: 《JavaScript Patterns 》:书中介绍了各种经典模式,如构造函数、单例、工厂等,值得学习。 《Pro.JavaScript.Design.Patterns》:Apress出版社讲解JavaScript设计模式的书很好。 《Developing JavaScript Web Applications》:一本构建丰富应用程序的好书。它对MVC模式有更深入的讲解,也对一些流程库进行了讲解。 《Developing Large Web Applications》:不仅介绍了JavaScript,还介绍了CSS和HTML,但是介绍的内容非常好。真正考虑了大型Web程序下如何设计JavaScript架构,值得一读。 想要成为一名优秀的前端工程师,还需要继续努力:《高性能网站建设指南》、《Yahoo工程师的网站性能优化的建议》、《YSLOW》性能优化建议、《网站重构》、《Web开发敏捷之道》、《jQuery库》、《前端》-端框架”,“HTML5”,“CSS3”。..这些一定要深入研究! 万事开头难!如果你能达到这个境界,那剩下的路你就可以自己走完了。 人们常说:不想当裁缝司机,就不是好厨师。 如果只学前端编程语言,不懂后端编程语言(PHP、ASP.NET、JSP、Python),就不能算是优秀的前端工程师。 在成为一名优秀的前端工程师的道路上,充满了汗水和辛劳。如果大家在学习前端的过程中遇到任何问题或者想获取学习资源,欢迎加入前端学习交流QQ群:328058344一起来学习前端吧!
