“前端工程师”,这个头衔你真的够格吗?
看到这个标题,不妨先扪心自问:有多少从事前端相关工作的朋友,能坦荡地自称“前端工程师”?这并非要贬低谁,而是我们都需要直面一个核心问题:究竟什么,才是真正意义上的前端开发?
前端开发作为一个职业诞生至今,已有数年光景,行业正逐步走向成熟。如果你正打算踏入这个领域,那么要做好心理准备——需要学习和掌握的东西,实在不少。如果你已经在这一行摸爬滚打了一两年,也请务必保持对技术的热情与探索。至于那些更资深的前辈,正是你们推动了前端生态的繁荣发展,在此深表敬意。
聊完从业者的光谱,接下来我们切入正题:一名合格的前端,到底需要哪些硬核技能?
坊间常有这样的误解:会用DIV+CSS布局,能用Ja vaScript写点页面特效,再用Photoshop处理下图片,就算前端工程师了。很遗憾,这种看法相当肤浅。说得直接些,这顶多算个“页面仔”,甚至常被戏称为“切图的”。
上述那些所谓“技能”,不过是前端开发最最基础的门槛,充其量只是皮毛。更何况,眼下掌握这些基础操作的人,早已多如牛毛。
真正的前端开发工程师,知识栈必须既广且深。下面这份清单,或许能描绘出大致的轮廓:
得懂点设计,不要求多么精湛,但处理图片、设计个小广告的能力总得有;
必须精通HTML+CSS,并能快速解决各种浏览器的兼容性“顽疾”;
熟练掌握Ja vaScript,如果能达到精通级别,无疑是巨大加分项;
熟练运用至少一种主流JS框架,如jQuery、YUI等,若能阅读其源码甚至熟悉多个框架,更好;
Ajax技术,这是必备项,没得商量;
精通如Firebug等开发调试工具,这是效率的保证;
写出语义化的代码,并懂得如何进行优化、压缩与反压缩;
对SEO有基本了解,尤其在HTML结构与非视觉化标签的恰当使用上;
能高效地合成CSS Sprite图片,提升页面性能;
了解服务器端的基本常识,知道前后端如何协同工作;
如果还能熟练掌握一门后端语言,比如PHP或ASP.NET,那绝对是亮眼的加分项;
拥有并打理过自己的网站(这能全面考验你对网站所有环节的把握能力);
对移动端开发有所了解和尝试;
熟悉HTML5和CSS3技术(这在移动应用开发中尤为重要);
追求效率,对开发工具的操作达到精湛水准;
研究过用户体验,关注如何开发出更人性化的页面;
了解浏览器的工作原理,遵循W3C标准,理解Web 2.0的内涵;
…… 这份清单,仍可继续补充。
如果你有任何宝贵的建议,欢迎留言补充。
罗列这么多,绝非为了吓退谁,而是这个行业的标准正水涨船高。当然,即便掌握了所有这些,也仅仅是一名优秀前端工程师的必备素养而已。我们所做的一切努力,终极目标只有一个:让页面以更佳的姿态,完美呈现在访问者面前。这,或许才是真正意义上的前端开发。
