Serverless 風暴來襲,前端工程師如何應對?

阿里技術_發表於2019-03-13

image

阿里妹導讀:儘管大部分前端的工作並不涉及server,但最近半年serverless這個詞彙以及其引發的熱烈的討論,深深觸動了阿里巴巴高階前端技術專家伐薪。作為接觸前端十餘載的老開發,伐薪認為serverless可能會是接下來引起前端領域革命性變化的技術之一。

今天,伐薪將為大家梳理serverless的歷史發展程式以及對前端的影響,希望對前端工程師有所啟發。

image

上圖是serverless 這個詞最近5年在 google 的搜尋趨勢,可以看到最近半年已經達到巔峰。

歷史上前端領域的重要技術革命

Ajax 的誕生

先來回顧一下前端技術領域的重要歷史節點,第一個節點是2005年,google的Jesse James Garrett 發表了一篇文章——《Ajax:Web應用程式的新方法》,首次釋出了Ajax 這個新的詞彙(準確說並不是新的技術,只是新的詞彙),當時我還在讀大二,雖然ajax不是什麼新的技術,只是對XmlHttpRequest等技術的包裝,但是這個技術被google宣傳之後成為全球web開發的標杆,間接促進了富客戶端應用(RIA)和單頁應用(SPA)的流行,這些應用大都具備絲滑般的體驗(區域性重新整理),並一直伴隨著web 2.0的發展,ajax的深入人心,使得前端js的工作更加複雜和重要,專業分工越來越細,間接促進了專職的前端開發人員這一角色誕生,在此之前,web開發並不區分服務端和瀏覽器端的工作,因此ajax是前端領域的第一次重要事件。

image

Nodejs 對前端規範化和工程化的促進

接下來對前端變化最大的一個里程碑事件是2009年誕生的 nodejs(包括common js及npm)的出現和流行,它對前端領域的重要意義並不僅僅是讓前端可以快速用js寫server那麼簡單,個人認為它最大的貢獻反而是commonjs、npm以及其便捷開發體驗促進的前端工程化,它使得前端開始從刀耕火種的和傳統軟體工程格格不入的部署方式,發展為接近傳統企業應用的研發模式,在此之前,前端開發在資源引用、依賴管理以及模組規範上缺乏有效的工具和標準,但是nodejs流行以後,基於commonjs的模組及npm的包部署和依賴管理成為主流(類似java的maven體系),並誕生了多種基於nodejs開發的cli工具輔助前端開發(如grunt、gulp),npm目前是全球最大的包管理倉庫,並且成為前端專案的包依賴管理事實標準。而webpack的出現,又使得前端程式碼的部署更加簡便,讓前端可以以類似java jar包的形式釋出應用(bundle),而不管專案中是何種型別的資源。

原文連結


相關文章