# 至 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 的系統，可以有更多的變化。
