0

前端的本职

 9 months ago
source link: https://jiongks.name/blog/2011-11-27
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

前端的本职

本文摘自 勾三股四 更早时期的 不老歌 博客。


这周末好忙,前后参加了两个前端交流活动,一个是关于前端MVC和Node.JS的,一个是HTML5的。其实说到这里,我不得不重新审视一下我称呼这两个活动为前端交流活动是否合适。

在周六的前端MVC技术交流过程中,有位多次参加这一交流活动的同行,若有所思的谈到了这样一个话题:感觉这些东西已经不是前端了。说罢,又补充道,不是前端,而是JavaScript。随后大家的话匣子被这句话彻底打卡了,开始了热烈的讨论,不过这个话题没有讨论太多,很快焦点就转移到了MVC的好处在哪里、按照MVC分工有什么优劣、分工好还是不分工好之类的……不过我后来一直在惦记着这个问题,也非常理解这位同行的想法:前端不就是展示页面么?以前大家都把焦点放在了界面上,放在了特效上,放在了浏览器兼容性上,现在哪里来的这么多数据通信、逻辑处理、对象模型?这还是“前端”么?

MVC也就罢了,紧接着Node.JS来了。主讲人石头津津有味、慢条斯理的介绍着如何通过Node.JS,用前端工程师熟悉的JavaScript搭建一个博客后台……我又深深的陷入了思考。如果说MVC还有前端的影子的话,那么说Node.JS也是前端,会不会太扯了?我们身为一个前端工程师,到底应该去做什么?创造哪些价值?

还没把这个问题想清楚,又参加了另一个活动:HTML5 Code Jam。看到了五彩斑斓的HTML5世界:Canvas、WebGL、Audio、Notifications、LBS、WebSocket……LBS和WebSocket已经是完全跟前端没有关系的东西了,Canvas、WebGL虽然是界面展现层的东西,可这些都是纯编程出来的,都是枯燥的物理碰撞、矩阵变换、坐标计算,这跟Win32绘图、OpenGL渲染有什么差别呢?HTML5带给我们的,远不止是前端的世界,更是应用软件开发的世界。

我突然感觉,作为一名有计算机相关专业背景的前端工程师,我已经在这种模糊的定位中生活了很久。也许相比起传统的Win32开发、网站后台开发、新兴的Objective-C开发来说,前端开发都算是“档次”最低的。在这种长期的潜意识刺激下,当我们遇到了琳琅满目的JavaScript APIs的时候,一种找平衡的心态油然而生。我觉得HTML5在引领技术革命的同时,也抓住了这群每天被以iOS开发暴发户为首的一群传统开发者鄙视的前端开发者的“用户需求”:借HTML5抬高自己的身价,跟Native开发平起平坐,同时跟其他前端划清界限。

但是事实上,要想真的跟Native开发平起平坐,你需要的不是熟练的JavaScript,而是传统开发的眼界和思路。而对视图和样式是否敏感似乎又变得不太重要了。一个写得来Node.JS、WebSocket、LBS的人,搞不定传统前端中基本的三列布局,是很有可能的事情。

那你们说,作为一名前端,还要不要去学HTML5了?

我觉得,如果你想专注在真正的前端领域,看一看新的HTML标签跟属性,还有CSS3,还是很有必要的,其它的东西简单了解一下就够了。与其花时间深究数据结构和算法、网络通信与分布式计算、数据库管理等这些高深的编程知识,我们不妨多看看用户体验与界面设计,了解一些图像处理软件的“切图”技巧,再多多品味生活,寻找一些前端的灵感和技巧。

如果你是以程序员自居的,那么你真应该认认真真的积累一些传统应用程序的开发经验,深入的学习一些软件工程的理论和数学理论,以及产品本身所涉及的相关专业的理论,把这份工作当做一次纯粹的编程。

两者兼顾当然也是可以的,总之,要清楚这是两件事就对了。

希望我们今后在讨论HTML5的时候,也不要忽视真正的前端,正确看待前端的本职工作,正确看待自己的身份。比如在前不久刚刚结束的WebRebuild.ORG年会上,当我们看到久违的已经略显生疏的“网页重构”四个字时,再想想最近一年我们周围的变化,很有趣。

最起码我今天觉得前端和HTML5是两件事了


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK