フロントエンドの技術者が、フルスタックへ移行したのはなぜ?

目次
昨今のフルスタック化の流れ
僕は長年、デザイナーが作成したデザインをもとに HTML・CSS・JavaScriptなどの言語を使ってWebサイトのページを構築する、いわゆるフロントエンドの技術者として仕事をしてきました。
しかし、Facebook(現Meta)が開発したUIライブラリの React の登場により、ブラウザを開いているユーザー側でページをレンダリングする SPA(シングルページアプリケーション)が流行り、そこから SEO を意識して最初のページのレンダリングはサーバーサイドで生成する SSR(サーバーサイドレンダリング)などに移行すると、バックエンドの知識まで求められるようになりました。
これまでバックエンドといえば PHP や Java、Python や C# などのプログラム言語を覚える必要がありました。フロントエンドでも WordPress などの CMS を構築する場合は PHP を使いますが、これはWordPress側で用意された PHP の関数を使っているだけでバックエンドとの連携を理解している訳ではありませんでした。
WordPress は世界中でもっとも使われている CMS ということもありプラグインなどの種類も豊富なため、複雑な機能の追加はプラグイン頼みというのもバックエンドと無縁だった理由でもあります。
それがここに来て Next.js や React Router、TanStack Start などの React ベースのフレームワークが登場すると、一気にフルスタック化の流れが押し寄せてきたのです。
JavaScript でフルスタックの構築が可能に!

Next.js や React Router、TanStack Start などのフレームワークは React ベースのフレームワークです。もともと React が JavaScript で動くUIライブラリのため、ブラウザに画面を表示するのが React の役割でした。
そこに Next.js や React Router などのフレームワークがバックエンド側の機能(データの取得や処理)を組み合わせたことで、フロントエンドからバックエンドまでをフルスタックで構築することができるようになったのです。
しかも、これがフロントエンドで培った JavaScript の知識で実装することができます。
これまでフロントエンドの技術者がバックエンドを構築するのは知識や思想の違いからかなりハードルが高かったと思います。
しかし、JavaScript であればフロントエンドで使い慣れた言語ですしその知識を活かしてバックエンドまで実装できるのは、フロントエンドからフルスタックに移行するためのチャンスだと思います。
これはフロントエンドの技術者にとっては大きな転換点ではないでしょうか。
そう考えた僕はフルスタック構築の検証もかねて Cloudflare Workers と React Router v8(フレームワークモード)という環境でこのブログサイトを構築しました。
ブログサイトの運用と技術発信を決意
技術検証のために構築したサイトですが、せっかくなら世に公開してブログの運用を行いつつ技術発信をして情報提供を行うことを決意しドメインを取得しました。
サーバーレスであるCloudflare Workers やフレームワークの React Router などは普段フロントエンド開発だけでは触れることの少ないツールや環境ですので、ブログサイトを構築したときの苦労や知識、ノウハウを実体験を通して発信していきます。
フルスタックの移行を考えているフロントエンドの技術者の方に、少しでもお役に立てる情報をお届けできたら幸いです。