楠木軒

騰訊歷史上首個專職前端開發:前端開發轉到雲上開發需要幾步?

由 童豔紅 發佈於 科技

“20年前,前端有過一個最爽的時代,但那時前端是像BUG一樣的存在”,11月29日,由騰訊雲與微信聯合主辦的第二屆“小程序·雲開發”技術峯會現場,騰訊雲TVP、前端開發黃希彤現場分享瞭如何前端開發轉到雲上開發的發展歷程。

作為騰訊歷史上首個專職前端開發,黃希彤回顧了20年前的前端工作場景,那時候前端用Dreamwaver編輯靜態網頁,不用自己寫腳本,普通前端用拖拽生成頁面,高級前端則利用HTML+CSS。後來有了動態網頁的提法,即DHTML(HTML+CSS+JS),前端開始慢慢接觸後端。

在黃希彤的前端生涯裏,有一件事讓他印象深刻——某天騰訊一批服務器崩潰了,來自全國、遠超常規的訪問流量將服務器壓垮。一開始他與其他同事認為這是DDoS分佈式拒絕服務攻擊,但卻完全追蹤不到攻擊來源。

後來通過查驗代碼,發現問題出在輸出文件時間戳的時候,打錯了一個字母,把1月的Jan寫成6月的Jun了。因為這是一個未來的時間戳,瀏覽器放棄了緩存,導致瀏覽器一直請求過量數據直到把服務器壓垮。這次事件讓黃希彤意識到,前端是不是可以嘗試將各種各樣的新技術融入能力圈之中?能力圈越大,能解決的問題可能也越大,屬於前端的話語權也會越大。

此後,黃希彤針對頁面打開緩慢的狀況,開始在頁面和腳本里面埋點,做前端性能監控。例如通過臨時的一次性域名來分析域名解析過程;通過http1.0和http1.1請求的速度對比來監控TCP層握手和通信的性能;使用瀏覽器插件來輔助提升速度;使用Flash來增強表現;把各種網絡診斷工具放到用户端來定位問題……

“越來越多原本不屬於前端的技術被放到了我們的關注圈和影響圈裏,在問題的解決過程中,前端的邊界就這樣越來越往外擴展。”

一個典型的例子是,有一次黃希彤和團隊發現,中國有1700萬盲人不能正常使用網頁,隨後就做了網頁無障礙化,同時去推動了客户端無障礙化,並且成立了一個信息無障礙聯盟

黃希彤表示,2016年微信推出小程序,前端技術棧幾乎無縫銜接過來,將前端的技術邊界拓展到一個新的領域。後來2018年小程序的雲開發環境裏面還支持了雲函數,把業界剛發明出來的Node、Lambda等能力給包裝到一套解決方案裏面,甚至整合進了對象存儲和數據庫。

在黃希彤看來,前端從誕生以來,邊界一直在不斷衍生和擴展。如今是屬於“大前端”的時代,語言層面的TypeScript、Dart,框架層面的Vue、React,跨端的Flutter、Electron,“大前端”的邊界本身一直在擴展。而在雲時代,Serverless則賦予了前端開發者後端能力。

他舉例談到,因為有了雲函數、雲開發的存在,前端無需再去涉及服務器和寫SQL,有好想法可以直接在騰訊雲的雲開發環境上,用免費的雲數據庫和對象存儲來做存儲,免費的雲函數來做計算,免費的CDN來做靜態分發,免費的API網關來做動態接入和分發。

“我只要寫好我的雲函數代碼,然後就等待美好的事情發生“,黃希彤表示。