在前不久的微軟美國一年一度的Ignite大會上,微軟宣布Microsoft Teams是微軟歷史上發展最快的應用。它將取代Skype for business,成為語音視頻協作的主打產品。
我也有幸在上個月微軟中國年度技術大會Tech Summit 2018上被邀請作為講師講解基于Teams平臺的app開發。會上時間有限,沒有太多展開Teams的前端技術棧,會后有很多人來咨詢,希望進一步了解。我這篇文章就對比一些Teams的2017年和2018年技術的變化,讓我們看看業界領跑的軟件巨頭是采用什么技術的。
手機客戶端
可以看到幾個明顯的變化:
- Windows Phone平臺沒有在2018年再提到了(大家都懂的)
- 之前都是使用手機平臺的原生語言開發的,Android使用Java,iOS使用Swift。可以看到微軟在2017之前就已經在使用swift
- 到2018年,Teams手機客戶端已經大量使用React Native。好處十分明顯,可以在兩大手機平臺重用代碼,提高研發效率。
桌面客戶端
- 三大桌面端:Web,Windows,Mac。技術棧基本統一
- 使用TypeScript,大牛Anders Hejlsberg的力作啊,此語言在web開發上快要一統江湖了
- 之前使用Angular,但目前正在慢慢的轉成React,原因也很簡單,一旦全部轉成React,就可以和手機客戶端的React Native重用大量代碼,進一步降低研發成本。代碼重用、重用、重用!重要的事講三遍。
- Windows和Mac桌面端使用Electron作為外殼,提供原生系統的調用能力。并且使用C++和ObjectiveC來處理音頻視頻編碼和桌面共享等功能。Electron目前使用很廣,微軟的Visual Studio Code,Azure Storage Explorerd等,凡是需要跨系統的桌面應用,基本都能看到electron的身影。
看一下你目前使用的前端技術棧,對比一下微軟的Teams,你get到什么了嗎? :)
以上技術棧的所有圖片都來自于微軟2017年和2018年兩次ignite大會上的PPT。?
2017技術棧,來源Ignite 2017,課程編號BRK3071?
2018技術棧,來源Ignite 2018,課程編號BRK3118