今年三月份的时候,全球互联网开发者大会在香港举行,我们公司的技术总监 Eric 正好也是会议主办机构的负责人之一,于是我和 2 位同事有幸能够参加这次活动。Facebook 的工程师 David Lim 在大会上作了一次主题演讲,我了解到 2 星期后在香港即将举办一次 Facebook Hack 活动,报名参加的开发者很早就已经爆满了。即便如此,我还是抱着侥幸的心态在网上注册,没想到过了几天居然收到 Email 说有 Opening 我可以去了。

facebook-hack-ticket

这里先分享一下在开发者大会上关于 HTML5 应用于 Facebook 的介绍。因为前两天还在微博上听人抱怨苹果 app store 应用上架审核太慢,我就联想到 David Lim 曾经描述 Facebook 移动应用架构的变迁,他说 2 年前人们听说 Facebook 还认为他们是一个社交网站,而现在,他们已经自豪的宣布他们是一家移动互联网公司。他们的数据显示,使用移动终端登录 Facebook 的比例已经大大超过了 PC。移动终端的碎片化造成了很大的问题,“我们一开始也是多条战线全平台覆盖,objective-C, Java, C++, PHP… 现在我们终于回归到了我们的母语,那就是 Web. 现在整个架构全部用的一套语言:HTML 和 javascript,我们使用了自己开发的一个框架 faceWeb (目前未开源),我们更加敏捷更加快速……我们不必等待 app store 漫长的审核周期。有趣的是用户甚至以为我们变慢了,”为什么我 iphone 上的 facebook 应用已经三个月没新版本了?”而事实上,你手机里的 fb app 每天都在更新。”(原话英文,大意如此)

也就是说,app 外面就是个壳,可以很久不用更新。而内部的内容,各种UI,都是通过网络拉取的。这实际上已经是半 native 半 web app 了,从性能上讲这种方式当然不如特定平台上的原生app,但好处是上面说的不用等待漫长的审核,雷军不是说过嘛,要“极致、快”。当然 Facebook 已经意识到了性能的问题,他们大量使用了 HTML5 的本地存储、Web SQL DB等技术,最近谣传他家有意收购 Opera,这不是完全没有原因的。

更新:Facebook正在修改它的 iOS 客户端,用原生 Objective-C 的 UI 代替基于 HTML5 的 UI。几个月前,Facebook 还言之凿凿的说,HTML5 允许他们一次编写到处运行。出尔反尔或许会让社交巨人感到些许尴尬。一次编写到处运行对程序员非常有吸引力,因为他们可以避免重复工作,而主管经理也不喜欢为重复劳动付钱。但最后的结果仍然由客户说了算。HTML5 版的 iOS 客户端收到了大量负面反馈,基于 Web 的应用挑战原生应用还有很长的路要走。

扯远了,说回 Facebook Hack。这是这家公司独有的一种文化,在纳斯达克上市的当天,他们也举办了这样一场 Hackaton 大赛。看过《社交网络》这部电影的朋友应该对其中一段招募新员工的剧情印象深刻,一群人慷慨激昂边喝啤酒边 coding,就像擂台。现实中也差不太多,我们当天是在香港的一家五星酒店里,从早上10点到晚上10点,疯狂的音乐,最好的食物,最好的饮料,不时有服务员送到手上,我离开电脑屏幕的唯一理由只剩下上厕所了。这种激情的氛围的确很令人震撼。

Facebook Hack

以前的 Facebook Hack 活动和 ACM/ICPC 差不多,都是在要在一定时间内编程解决算法问题,而这次还是有很多不一样的,因为主题是 Mobile。在短暂的介绍热身后,每个 team 需要使用 Facebook 的 Open Graph API 创建一个 app,原生的或者 web 的都可以,最后会有“专家”评审,这些“专家”来自于业界各大公司、香港政府CTO、媒体,还有风投。俺老大 Eric 不幸也在其中……据悉去年的这场 Hack 是在纽约举行的,当时有一个 team 做了一款游戏,获得了第一名,再后来,他们被 OMGPOP 以近 2 亿美元收购,这个游戏叫做 Draw Something…

当晚的 demo show 上有几个 team 的作品还是令人印象深刻的,有 team 只有一个人在这 10 多个小时内就写了个 web 涂鸦玩具,有人模仿 Draw Something 做了一个 I know this song,大概就是哼唱一段小曲,发给朋友猜歌名。还有人做了一个搜索引擎!使用 @ 符号,可以搜具体的人,也可以搜地点,或者event,这个实在是太牛逼了,我估摸着 Facebook 内部应该也有这样的项目在开发。最后来自台湾的好几个团队都获了奖。(你问我做了些啥?嗯,除了多认识了几个牛人,基本陪老大打酱油了……)

这种重视工程师、激发创意的氛围,在国内很少见,大概和中国人的性格有关。我被一种活力所感染,这是多么令人羡慕的工作环境!至于 Facebook 内部的管理运作,强烈推荐阅读这篇《我在Facebook的十点经验分享 – 非反人类文字版》。

最后放张照片吧,找一下我在哪里?

facebook-hack-hong-kong