Microsoft 於近 5 年做了非常多的 Developers-oriented 的舉動,這是一個明智之舉,早於幾年前,當大部份朋友都開始不會用在家中打開電腦,Smart Phone、平板電腦已經取代大部份人「用電腦」的需求,Software Application 愈來愈多、愈來愈複雜,當時我相信個人電腦發展會慢慢趨向專業用途或奢侈品方向走,而在專業用途的領域上,我深信因 Software Development 而購置的 OS 、開發工具及硬件都將會有顯著的上升趨勢。
以香港而言,近 5 年參與開發的人數不斷攀升,對傳統的 Software Engineering 管理上有一定挑戰,選擇開發者工具也愈來愈重要,Microsoft 在此究竟貢獻了多少工具呢?
接著,分享一下近 5 年作為一名開發者的所見所聞、分享一些我認為 Microsoft 為開發者帶來極具衝擊性的轉變。
Windows 10 WSL & Docker
2016 年 Microsoft Build 發佈於 Windows 10 加入 WSL (Windows Subsystem for Linux),我第一個反應是:「下!?咁都得?」
因為 Microsoft 的前一任 CEO (2000-2014) 曾經說過
Linux is a cancer that attaches itself in an intellectual property sense to everything it touches
新 CEO 上場後便改口風
Microsoft ♥ Linux
新 CEO 沒有再執迷不悟,擁抱 Linux,作為一名開發者而言,至少不會再被 Windows 的封閉世界捆綁。
於 2017 年第一次試用 WSL(Beta) 版本,立上嘗試在 WSL 玩 Nodejs Development,在處理一些node_modules
的「碎 File 黑洞」時,Performance 真的非常一般,但足以應付一般 Software Development,大幅減低在 Linux 運行不到的機會,減少 Overhead。
在 2020 年推出的新版 WSL2 已經有大幅改善!
GitHub
2018 年 Microsoft 收購了 GitHub ,大家當時都不太看好這個舉動,甚至跳船到 GitLab,或許是害怕會好像 Skype 的下場一樣,但時間証明了 GitHub 仍在不斷推出新功能:
- GitHub Actions - 一體成型的 CI/CD
- GitHub Packages - 一體成型的 Release Distributions
- Completely Free Private Repository - 第一次免費時限制只能 3 個 Collaborators,2020 年終於解除所有限制!
- GitHub Dark Theme - GitHub.com 與 IDE 互換時不會再殘眼
- GitHub Codespaces (Beta) - 類似 CodeSandbox, Cloud9 IDE 之類的 Cloud IDE,會在 Cloud 有一個 Container 去運行 Development Workload,最大優勢是可以儲存整個開發環境,對於一些 Side Project 或輕量 Development 來說,Codespaces 可以隨時隨地打開一個 Browser 就可以開始 Development!
Visual Studio Code
如果有一些在「Modern Web」出現前已經在開發 Web 的朋友,相信大部份都是依次序在使用以下 Text Editor / IDE:
- Nodepad++
- Sublime Text 2
- Atom
- Visual Studio Code
Visual Studio Code 於 Microsoft Build 2015 發佈,與 Atom 也是用同一個 Electron Engine,不同的是 Visual Studio Code 由有 Microsoft 主導,有相對多的資源去開發及維護。
而在 2020 年 VS Code 更推出了一個令我非常震驚的功能 - Semantic Highlighting 。
以 Javascript / Typescript Development 去看,功能上直迫 Intellij WebStorm / Ultimate,便馬上做了 GapStyle VS、寫了一篇 5000 幾字的長文講解其重要性《Productivity 與 Semantic Highlighting》、在 GitHub 報了兩個 Semantic Highlighting Bugs 以及一個 Feature Request 給 Microsoft VS Code Team,盡一點綿力去改善 Semantic Highlighting。
Open Sourcing Framework and Languages
Open Source 不單只是「將 Source Open」,更重要的是建立一個 Open Source Community,而做一個營運 Community 需要非常多資源去處理 Pull Request、Issues、Request for Comments、Feature Request ⋯⋯ 這絕對關係到一間公司的企業形象,所以要 Open Source 一個 Project 需要擁有比任何人想像的更大勇氣及 Commitment。
以下是一些日常最有機會接觸到的 Open Source Projects:
Typescript- 於 Microsoft Build 2014 發佈 Typescrip 1.0,Typed Javascript At Any Scale;相信於 2021 年,Typescript 已經家傳戶僥,就算是一般 Javascript Library 都開始加入 .d.ts
令其它寫 Typescript 的朋友使用 Javascript Library 時都可以享有 Type Check。
Fluent UI- 於 Microsoft Build 2017 發佈 Fluent Design System,一如既往一間大公司出嘅 Design Framework 包括 Implementation,特點是 Microsoft 365 的 Windows、MacOS、iOS、Android、Web 也是用這套 Fluent UI 開發
.NET Core - 於 Microsoft Build 2016 發佈 .NET Core 1.0 正式不再 Windows 限制可以在 Linux 上運行
我一直相信 Open Source 是一個非常「勇敢」舉動,這個模式可以快速推動整個 Software Industry 發展又可以打造良好企業形象,但執行上有一定困難,所以每當有大公司開始嘗試推廣 Open Source,而且確切地投放資源去營運 Open Source Community,實在難得!
Microsoft Build 2021 - Learn. Connect. Code
Microsoft 於過往都會在 Build Event 發佈一些與 Software Engineering 相關週邊的工具,非常期待 Microsoft Build 2021 會發佈一些具突破性的產品及服務。
上星期與負責推廣 Microsoft Build 的 Marketing 聯絡,得知 Microsoft Build 2021 有 4 個大主題:
- Increase developer velocity with Microsoft’s end-to- end developer stack
- Deliver new intelligent cloud-native applications by harnessing the power of Data and AI
- Build cloud-native applications that run anywhere
- Enable the next generation of productivity experiences for hybrid work
而是次 Microsoft Build 2021 更特備了一個 Hong Kong Local Connection Session (1 Hour),邀請了 3 個 A.I. & IT Professional 於 26 May 2021 1pm - 2pm 分享 AI & DevOps 經驗及 Live Q&A Session!內容如下:
- 《AI - Building the Future in Hong Kong》 by Dr. Harry Shum (Executive Vice President, Microsoft’s Artificial Intelligence and Research Group)
- 《AI - Capture & Flow: Think Beyond the Paper》 by Fujifilm,内容會提及到 Capture and Flow OCR solution using Azure AI and Machine Learning
- 《Agile Transformation and Why Azure DevOps with GitHub matters to Developers》 by Lorenz Cheung (Professional Scrum Trainer)
Session Code: CON001
我登記咗喇 https://aka.ms/MS_Build ,你呢?