Categories
程式開發

基於 TypeScript 的 Node.js 多場景框架設計方案丨GMTC


未來前端最大的問題是規模化編程和全棧帶來的挑戰,TypeScript能夠很好的應對這2個問題。在傳統的Web框架、FaaS框架或者其他微服務框架,基於JavaScript體系實施全棧模型的大型項目開發時往往造成代碼複雜度過高,維護成本逐步增加的問題(沒有類型系統)。同時在不同的場景下遷移代碼、共享代碼時也會碰到很多問題。我們通過引入TypeScript 和裝飾器模型,通過在跨場景下引用相同的裝飾器,但是不同實現邏輯,來解決不同場景下的各種需求。這種做法很好的做到架構解耦,並解決規模化編程問題,提高代碼質量,對團隊成長也有非常好的幫助。

淘寶從2017年之前就開始探索TypeScript的落地方式,隨著時間的推移已經將新的模塊和框架全部遷移到TypeScript體系,在2019年,TypeScript應用已經遍地開花,提前完成了非常不錯的佈局。

本次分享主要介紹淘寶最近開源的Midway框架在新的場景、新的體系下如何和現有的Egg體系保持良好的兼容性,同時又能在TypeScript的使用中有著獨特的體驗,通過針對不同場景的情況,我們引入相同的解決方案,為未來打下了夯實的基礎。

內容大綱:

1、使用TypeScript

  • 規模化編程和全棧帶來的挑戰
  • 面向接口編程
  • 新特性,裝飾器的使用

2、基於Egg創造性Web框架Midway

  • 從Egg開始
  • 引入 IoC
  • 和框架解耦
  • 和目錄結構解耦
  • 引入自定義裝飾器
  • 實踐講解

3、多場景設計實踐

  • 跨場景的實現
  • FaaS場景的設計和代碼遷移
  • 跨其他場景的解決方案

聽眾收益:

當前Node.js的場景越來越多,很多代碼都需要跨不同場景進行共享和遷移,在這些過程中,如果代碼能夠盡可能少的變化,勢必會減少很多工作量和重構量,也使得在業務遷移過程中能夠更加專注業務本身,而不是新框架的使用方式。