今年三月份的時候,全球互聯網開發者大會在香港舉行,我們公司的技術總監 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