工作经历(二)——网易上篇

Heero.Luo发表于11年前,已被查看2223次

动网先锋篇中提到,由于各种原因,我并没有回到动网公司工作。后来,我在BlueIdea论坛看到网易招页面工程师的贴子,投简历后没多久就接到面试通知。第一轮是技术面,跟美术总监以及前端主管聊了一会儿,过程非常简短;第二轮是HR面,其实也就是形式上过一下。之后没多久就接到主管电话,让我注册一个网易泡泡帐号,然后把我拉进了前端组的泡泡群。不过正式入职还要等老板签字后,由HR通知。

这一等就是一个月,刚好在上班前把毕业设计做完了。当时前端组隶属美术中心,仅负责HTML+CSS。至于我的职位,既不是前端工程师也不是页面工程师更不是JS工程师,而是美术编辑。工作方面,就是不断重复接工作单、做页面、提交这个过程。虽然可以提高技能水平,不过做的页面比较零散,没什么成就感。然而,没过多久,部门就重组了,主要变化是:

  • 前端组从美术中心划归技术中心。
  • 原技术中心的Flash组、模版组合并到前端组。

时至今日,还有人讨论前端应该隶属设计部门还是技术部门,站在自己的角度,我更偏向于后者。为什么呢?因为,我跟技术同事有更多的共同语言

部门重组之后,前端组的工作从HTML、CSS扩展到Javascript、Flash以及Velocity模版。其它还好,只有Javascript一直没有专门的团队或人员负责,属于空白领域。而且,我们很快就要迎接一件大事——奥运。起初,我们预计奥运期间会很忙,不过实际上这段时间挺闲的,因为要维持系统的总体稳定,尽量避免上线新的东西。我利用空余时间,在自己之前积累的函数库基础上,开发出一套JS库,这就是ntes_jslib的雏形。我主动在组内展示了这个库,争取能用到网站上去。

用还是不用,这个问题还是纠结了挺久的。当时jQuery已经挺有名气了,为什么不直接用jQuery呢?对此,我给出了下面几个理由:

  • 自己开发一个库,更能掌握技术核心
  • jQuery的很多功能,对我们来说用不上,比较臃肿;我们需要的某些功能,jQuery没有提供。自己开发可以在功能方面更有针对性。
  • 当时我写的一个精简的选择器引擎,在常用选择器方面,性能比jQuery更高。

不管怎样,这个库最终还是用上了。其不断修正、更新的成果就是网易今天还在用的ntes_jslib_1.x.js,以及后来我把非核心功能剥离之后作为开源项目维护的JRaiser,而我也逐渐转为专职负责JS的编写。这个库首先用在网易首页,作为首页JS重构的基础,其间还有段小插曲。在Velocity模版中,“$”是一个特殊符号,所以我们不能在页面上使用“$”这 个变量,得用另外一个名字。商议过后,我们决定用网易的股票代码“NTES”作为变量名。随着这个库逐渐应用到各个频道,问题也是一个接一个,主要集中在跟jQuery的冲突(都占用了$全局变量)、自身不同版本之间的冲突以及类库更新后的缓存,这些问题直到我离职那天都没有很好地解决。

ntes_jslib用起来以后,网站部一项重要产品——网易跟贴正酝酿改版,这次改版包括UI改版,也包括前端架构的重构。这也是我首次接手项目级别(以前都是页面级别)的工作。在这个项目中,我实现了“JSON数据+前端模版=HTML”这种渲染方式,把数据和表现分离开;同时也采用了面向对象的编程方法,像跟贴的支持、收藏等操作都是作为跟贴类的方法而存在。跟贴页重构好以后,文章页的跟贴模块也要对应地修改。有了跟贴页的代码做基础,这可简单多了,不过由于文章页与跟贴页的域不同,所以某些操作,只能发送请求,却不能获取到操作结果。自我接手这个项目起,前前后后做了不少修改以及功能的添加(具体可以参阅梁剑写的《网易跟贴的前世今生》),其中的乐趣也不少。比方说,开发过程中经常会看到一些相当有趣的跟贴内容(本地开发的时候也是读线上数据),记得有一回网友们通过跟贴下棋(棋盘棋子都是用普通字符拼出来的,实在太牛了。时至今日,网易跟贴仍然是我接手过的产品里面最喜欢的一个。

我接手的第二个项目是内部CMS文章发表页的改版。虽说这个项目可以不兼容IE6、7这些旧浏览器,但做得不算成功。从界面上说,由于一篇文章要填的东西特别多,所以整个页面都是密密麻麻的文本框、下拉框,非常不美观;从技术上说,由于我当时对HTML在线编辑器的实现掌握还不够,所以做出来的编辑器在性能以及兼容性方面还是有挺多问题。项目期间,网站部沸沸扬扬的北迁开始了,不过我没有选择去北京,所以后来相当一部分工作是异地合作完成。

我接手的第三个项目是可视化专题模版系统,也是内部CMS的一部分。通过这个系统,编辑可以以组合模块的方式快速制作专题页面。这里说的模块,可能是纯静态的HTML代码,也可能是需要读取后台数据的HTML模版(前端模版再次派上用场)。当用户添加一个动态模块时,则需要通过AJAX加载后台数据,再结合模版生成最终结果显示到页面的对应位置上,从而达到所见即所得的效果。这个系统是双赢的,既可以方便编辑,也可以减轻前端的工作量,再做下去甚至可以做成一款独立的产品。不过可惜的是,等这个系统真正用起来以后,我就离职了。

在网易的日子里,虽然前期有点迷惘,不过幸好后来在部门重组的机遇下,往团队的短板钻研,还是取得了不错的成绩,为以后事业的发展打下了坚实的基础。另外,由于我在网易工作的时间相对较长,一篇文章很难组织所有内容,本篇主要讲了工作方面的,下篇再讲讲工作以外的事情。

评论 (9条)

发表评论

(必填)

(选填,不公开)

(选填,不公开)

(必填)