よろしければ前回の記事を読んだうえで本記事をお読みください。
前回の記事を読んでいただくと本記事をより理解していただけると思います。
Static Web Appsとは?
Static Web Appsはその名の通り静的WebサイトをホストできるAzureサービスです。
React, Vue, Angular, Svelte, Next.js, Nuxt.jsなどのフレームワークにも対応しています。
2021年5月にGAした結構新しめのサービスで、Azureにも普通にありそうなのに無かったサービスなのでようやくこの手のサービスが来たかとAzure系エンジニア界隈でそこそこ話題になりました。
機能としてはGitHub等とのCI/CD、CDNによるグローバル分散、カスタムドメインやSSL/TLS証明書、IDaaSなど様々な便利機能を使用・統合することが出来ます。
また、オプション機能としてFaaSである Azure Functionsを内蔵している ためバックエンドを必要とするシンプルなWebアプリもホストすることが出来ます。
さらにオプションのオプションですが、自分で用意したApp Serviceなどをバックエンドとして使用することもできます。
ちなみに上記の各種機能は料金プランによって出来たり出来なかったりが決まっています。
Static Web Appsとは何か?というのが大体理解できたと思いますので、ここから本題となるStatic Web Appsの使いにくいところを挙げていきます。
Javaを使用できない
本家のAzure FunctionsではJavaを使用できるのですが、上記で説明したStatic Web Apps内蔵のAzure Functionsでは Javaを使用できません。
AzureのサービスではMicrosoft自身のC#がSDKやランタイムサポートの絶対的なTier 1として君臨しており、Java / Python / Node.jsがその次のTier 2グループを形成しています。
この3つは世界的に利用者の多いプログラミング言語なので納得していただけるところだと思います。
しかしそれだけにTier 2の言語すらも対応していないのかと残念なところですね。
Python 3.11がいまだに正式サポートされていない
Python 3.11自体はご存知2022年10月リリースです。
しかし2025年5月現在、Static Web Apps内蔵のAzure FunctionsではPython 3.10までなっており Python 3.11 は正式にサポートされていません。
当然ですが Python 3.12/3.13 もサポートされていません。
ちなみにAzureの外の世界では5か月後に Python 3.14 がリリースされるらしいです。
Node.jsを本番環境として使用できない
Node.js 20自体はご存知2023年4月リリースです。
しかし2025年5月現在、Static Web Apps内蔵のAzure Functionsでは Node.js 20 が正式にサポートされていません。
もちろん Node.js 22 もサポートされていません。
また、Node.js 18 はサポートされているのですが、2025年4月でNode.js公式の Node.js 18 サポートが終了しました。
つまり、2025年5月現在 本番環境として使用できるNode.jsバージョンが存在しません。
サポート切れの18または未だにプレビュー状態の20を自己責任で使うということは一応出来ますが…本番環境として非推奨なのは言うまでもないです。
サービス終了疑惑(?)
Static Web Apps公式のGitHubリポジトリがあり "新バージョンのサポートどうなってんの?" という趣旨のIssueがあるのですが、Microsoft側は完全に無視しています。
というか、新バージョンに限らず様々なトラブルのIssueが報告されているのですが昨年あたりからMicrosoft側の反応が全く無いようです。
Azure UpdatesというAzure公式のアップデートログによると、Static Web Appsは割とコンスタントにアップデートされていたのに2024年5月で突然アップデートが止まっています。
Microsoftからはまだ発表はありませんがサ終の匂いがプンプンしますね。
予想より利用が低迷してたんですかね。
しかし仮に今後サービス終了するにせよしないにせよ今現在サービス提供中なわけで、各種新バージョンのリリースが行われていないことも含めて運営が杜撰すぎます。
シンプルに聞きますが、これ使いたいと思いますか?
まとめ
Azureはやめとけ💩
参考