至 2022 為止個人的軟體技術觀察

前言

要年末的,最近都在忙工作沒有好好的更新 Blog 都要生草了,該來寫點東西了。表示自己還活著呢。

Frontend

覺得開始出現有別於以往御三家的狀態,開始有些人嘗試打破現狀,出現了些滿有意思的 Framework 像是 Qwik。還有因為 Compile 的新工具 Vite 而有其對抗的 Nextjs 的 Turbopack(難怪在 GitHub 一直有人叫他支援 Vite,就是死都不要。原來自己搞了一套)。覺得另外一個滿有看點的就是 Deno 宣佈將會開始往支援 npm 的方向靠攏,會不會有大批的人員從 Nodejs 加入,還不好說但覺得也是個有可能的發展。

個人並不特別看好 TypeScript,經歷過早期的 CoffeeScript 時期,目前覺得 TypeScript 就是新一代的 CoffeeScript,等到 JavaScript 的迭代應該就會將其優點加入。到頭來你還是需要好好的先把 JavaScript 先寫好再說。後續未來發展覺得重點會是慢慢開始往 micro frontend 和 WASM 靠攏,再來就是預期會有更多的 Lite ML 的加入。

Backend

Rust 的蓬勃發展的算是有擠壓到 Go 的範疇,也算是有把 C 家族的人帶進來。但我覺得其學習曲線還是有點高,可能發展上還會有些需要再調整的。Go 的泛型還不是很完善,但總是有在進步。個人滿期許 Kotlin 在跨平台到 Server Side 的可能性,但是目前覺得還沒有很爆炸性的成長和實例。

個人覺得在 Backend 伺服器的語言選擇上,會比較推薦 Node.js、Python 和 Java 作為優先的選擇。可能跟個人經驗有關,在常常需要串接第三方服務,像是 Google、Facebook 等。常常會有的 SDK 這三種語言是最常見的,且社群的發展的套件也是多樣在早期找尋 Solution 會比較方便。

MariaDB 居然上市了?坦白說自己還沒什麼聽到比較有名的使用上跟 MySQL 的差異或優勢。如果真的要選擇更優異的還可能直接去選擇 PostgreSQL。

在於監控上比較有看頭的就是 Grafana 體系了,有別於過去大眾的選擇 ELK 體系,Grafana 也開始自成一個系列依序的提供了 Loki、Tempo、Mimir 等,對於 ELK 體系應該挺有壓力的。

Cloud

Cloud 上目前的三強鼎立(其實應該沒有鼎立),GCP 感覺就還是維持他的砸錢買服務整併的策略,但是在 Cotainer 服務上還是幾乎是首選。AWS 的 EKS 真的就是個半殘品,其他的 Container 服務也是差不多。但是 AWS 的厲害之處就是服務的多樣和各種 Open Source的選擇。個人滿佩服的就是搞定出 macOS 的 EC2,之前要弄 Apple 系列的 CI/CD 就是要買台裝置在公司內,現在真的有機會完全 Cloud 了。再來是過去 GCP 可以說有台灣機房,但是現在 AWS 也有提供台灣 Local Zone 了,其優勢也被略減。

未來 Cloud 服務的發展應該會依舊的往 ML Data 的處理和多雲管理的方向走。

目前感覺:

  • AWS 依舊強勁

  • Azure 微軟體系首選,穩定發展

  • GCP 容器化首選,拼裝車

Mobile

Swift 的發展目前略微擔心,之前有爆出大佬出走,批評內部決策的問題。希望是能好好發展。Kotlin 感覺是個還在耕耘跨平台的方向,但是 Google 目前秘密研製的 FuchsiaOS。未來 Google 會不會正式 GA FuchsiaOS 後屏棄 Android 系統,不再以 Kotlin 為首選還是難說呢。

SRE

Kubernetes 依舊橫掃全場,沒有什麼好說的。依舊的強勁,目前還沒有其他的對手出現。但是手動建制和維運還是相當困難的一件事(畢竟本身服務就很複雜了),還是建議直接使用雲端服務吧。

在 Infrastructure As Code 的領域,HashiCorp 系列也依然強勁,尤其是與 AWS 合作推出的 cdktf 讓其觸角更延伸了。但是還是希望 terraform 本身可以好好學習一下 terragrunt 的優點,當服務一大之後那個要 plan 或 apply state 真的是很久且 dependency 容易出錯。或是拓展出 plugin 的系統,可以有更多的變化。