🚀

誰も気付いていないAstro×PHPの可能性について

2024/04/02に公開

Astro × PHPで開発をしてみたところとても効率よくアプリ制作が出来たのでそのことと、僕のWeb開発アーキテクチャへの見解についてお話します。
意外と統合されてない

近年のWeb開発の流行について

近年JavaScript(というかTypeScript)を中心に様々なフレームワークが開発されてきました。
その中でも中枢を担うのはやっぱりNext.jsです。
Server Actionsやら何やら、すごい機能は一杯です。
他にもRemixやらも台頭してきており、目覚ましい速度で発展を遂げています。
ですが、僕はその流行を何回使おうとしても完成まで持ち込むことは出来ませんでした。

原因1. 変なエラー

JS/TSのフレームワークとか触ってると、変なエラーが30分以内くらいに必ずと言っていいほど出るんです。
使い方にも問題はあるかもしれませんが、そこ!みたいな場所のエラーが出たり、いい意味でも悪い意味でもとても厳密な構造をしているので、それがネックになりがちです。
1から厳密に設計を行っていく必要がPHPに比べて多くあるので、そこは使いにくいと日々感じています。

原因2. カッコよすぎる

はっきり言います。この手のモダンフレームワークとかアーキテクチャとかってかっこよすぎるんです。
謎にかっこよすぎて、コードもちゃんと書かなきゃって思っちゃうんです。
そこから謎に関数で分けてったりして逆によくわかんなくなります。

原因3. デプロイ先、意外と少ない

正味使える(Free)デプロイ先はVercelとかSupabaseとかしか無いのも事実ですし、クレジットカードを使えない学生の中にはそれらも上限超えたらどうしようと怯えちゃう人もいると思います。
(CloudflareもいけますがNext.jsとかメジャーなフレームワークを使おうとすると変なエラーが出ちゃうことが多いです)
Node.jsとかを軸に作られてるSSR系フレームワークは日本のレンタルサーバで使えないのも事実。
かと言ってVPSは少し高いので手を出す気になりません。

Astro × PHPの可能性

そんな中僕がいま一番推しているのはAstroとPHPのセットです。
Astroは新しいフレームワークで、PHPはレガシーな言語で、相性は悪そうに見えますが結構良いです。

メリット1. AstroのSSGとPHPのAPI

Astroをクライアントサイドで用いてSSGを行い、PHPでAPIを制作することで、リアクティブかつある程度のSEO設計の出来たアプリを開発することができます。
また、バックエンドのAPI設計はFlightPHPというシンプルなフレームワーク(JavaScriptでいうところのHonoのようなものです)を使うととてもわかりやすくなります。

メリット3. Astroが強すぎる

Astroは知っての通りReactやSvelte、VueやLitなど様々なフレームワークを動かすことのできるすごいSSGです。
どんなフレームワーク信者でも幸せになれるのでとても使いやすいです。
また、npx astro addのコマンドも強いですし、Prettierなどにも対応しているため開発がとにかくしやすいのもメリットです。

メリット4. PHPもツヨい

PHPを最初に学んだ人も多いと思います。
PHPって、とにかく使いやすくて、柔軟さもちょうど良いんです。
特に最近は型なんかも簡単につけられるようになって、少し厳密な開発もできるようになりました。
更にはPDOでデータベースの操作もとてもやりやすいことも特徴で、他にも最近はPHPがえげつないくらい高速化しています。
これらからPHPは間違いなくモダンな開発でも重宝できる選択肢の一つだと思います。

メリット4. デプロイ先がとにかく多い

AstroとPHPの設計だと日本のレンタルサーバ(さくらのレンタルサーバ)などに一発でデプロイすることができます。
特に学生にとってはレンタルサーバは銀行振込やコンビニ払いができるので、デプロイ先としてはとても有能です。
このことからAstro × PHPが最強です。

終わりに

今回は自分の現在の開発の経験をもとにAstroとPHPの開発セットが最強だということを記事にしました。
モダンな選択肢よりもレガシーなもののほうが使いやすいことも多いですね。
AstroはともかくPHPはこれからも使っていくのでもっと模索していきます。良いものがあればコメント下さい。

Discussion