見出し画像

「Next.js はもう重たい…」 そう感じた僕が、軽量フレームワーク 「Hono」 に未来を見た話

エッジで輝くシンプルさと、個人開発の速度を爆上げする開発体験

Next.js は素晴らしいフレームワークです。

それは間違いありません。

でも、個人開発の小さなプロジェクトには、時々「鎧が重すぎる」と感じる瞬間があったのです。

これは、僕がそんな小さな違和感から新しい技術の探求を始め、彗星のごとく現れた軽量フレームワーク「Hono」に、個人開発の新しい未来を見出すまでの物語です。


僕が新しいフレームワークを探し始めた、些細なきっかけ

みなさんは、愛用している道具に対して、ふとした瞬間に「あれ?」という小さな違和感を覚えたことはありませんか?

僕にとって、その「道具」は Next.js でした。

言わずと知れた、React フレームワークの王様。

僕も仕事ではもちろん、個人開発でもその恩恵を存分に受けてきました。

App Router、サーバーコンポーネント、Vercel とのシームレスな連携…。

そのどれもが、現代の Web 開発において強力な武器であることは間違いありません。

しかし、ある日の深夜、僕はたった一つの小さな API を作るためだけに、Next.js のプロジェクトを立ち上げていました。

create-next-app のコマンドを打ち、いくつものファイルが生成され、ようやく /api/hello にアクセスできたとき、僕の心に浮かんだのは達成感ではなく、ある種の「もどかしさ」でした。

「僕はただ、小さなバラック小屋を建てたいだけなのに、まるで巨大な城を築いているような気分だ…」

この些細な、しかし無視できない感覚。

それが、僕を新しいフレームワーク探しの旅へと駆り立てる、全ての始まりだったのです。

僕が感じていた 「Next.js」 への小さな違和感 〜巨大すぎるがゆえの悩み〜

誤解しないでほしいのですが、僕は Next.js が大好きです。

クライアントワークで大規模なアプリケーションを構築する際には、今でも第一の選択肢です。

そのエコシステム、豊富な機能、そしてコミュニティの力は、何物にも代えがたいものがあります。

しかし、こと「個人開発」という小さな砂場においては、その巨大さが時として足枷になることがありました。

App Router の学習曲線

App Router は画期的な概念ですが、その非同期コンポーネントの仕組みや、"use client" と "use server" の境界線を常に意識する必要があるなど、シンプルな CRUD API を作りたいだけのときには、少し大げさに感じられることがありました。

ディレクトリ構造の規約も厳密で、「ちょっと試したい」という気軽さが、少しずつ削がれていくような感覚です。

長いビルド時間と複雑な設定

個人開発では、アイディアを素早く形にし、何度も試行錯誤を繰り返すスピード感が命です。

しかし、Next.js は機能が豊富な分、依存関係も多く、ちょっとした変更でもビルドに時間がかかることがあります。

また、Webpack や Babel の設定をカスタマイズしようとすると、その複雑さに圧倒されることも少なくありませんでした。

多すぎる "お作法"

Next.js で開発を進めていると、フレームワークが定めた多くの「お作法」に従う必要があります。

それは品質を保つ上では重要ですが、「もっと自由に、もっとシンプルに書きたいんだ!」という、モノづくりの初期衝動のようなものが、分厚い作法書の向こう側に霞んで見えてしまう瞬間があったのです。

これらは決して Next.js の欠点ではありません。

むしろ、大規模開発を支えるための堅牢さの証です。

しかし、僕が求めていたのは、屈強な鎧ではなく、軽やかで動きやすい普段着のようなフレームワークだったのです。

彗星のごとく現れた 「Hono」 との出会い 〜その軽さと速さに恋をした〜

そんなモヤモヤを抱えながら、僕は X (旧 Twitter) のタイムラインを眺めていました。

そこで、偶然目に飛び込んできたのが「Hono」という名前でした。

「炎 🔥」を意味する日本語から名付けられたという、そのフレームワーク。

キャッチコピーは

「Regretless, Fast, and Fun (後悔なく、速く、そして楽しく)」

何かに引かれるように公式サイトを訪れ、僕はそのトップページに書かれたコードに衝撃を受けました。

import { Hono } from 'hono'
const app = new Hono()

app.get('/', (c) => c.text('Hono!'))

export default app

…たったこれだけ?

Express.js を彷彿とさせる、シンプルで直感的なコード。

僕は半信半疑のまま、Cloudflare Workers の環境で、このコードを動かしてみました。

デプロイコマンドを叩いてから、ブラウザに「Hello Hono!」と表示されるまで、体感で数秒。

Next.js のプロジェクト立ち上げにかかる時間と比べると、それはまるで魔法のようでした。

「軽い…!速い…!そして、何より楽しい!」

複雑なディレクトリ構造も、難解な設定ファイルもありません。

ただ、自分の書きたいロジックだけがそこにありました。

あのとき感じた「重たい鎧を脱ぎ捨てたような」開放感は、今でも忘れられません。

それは、僕が個人開発に求めていた「スピード」と「シンプルさ」への、完璧な答えでした。

僕が Hono に恋をした瞬間です。

僕が Hono に魅せられた 3 つの理由 〜 Next.js にはない、ミニマルな美学〜

Hono を触れば触るほど、僕はそのミニマルな思想と、その奥に隠されたパワフルさに魅了されていきました。

僕が特に「これはすごい!」と感じた3つの理由を紹介させてください。

ここから先は

2,434字 / 3画像

メンバーシップ ¥ 500 /月

■メンバーシップ 15 年目フリーランス開発者のひとり戦略を支える作戦会議室です。\ 案件に追われる…

ベーシックプラン

¥500 / 月

最後まで読んでいただき、ありがとうございます。もしこの記事が「役に立った」「心に響いた」と感じたら、珈琲一杯分サポートいただけると嬉しいです。あなたの温かい応援を力に、また次の創作活動に励みます。