【ISSUE】HonoがJSXを提供しているので使ってみた
2024年12月23日 8:40
HonoはTypeScriptファーストのWebフレームワークとして知られていますが、JSXもサポートしているので、それについて書いていきます。
https://hono.dev/docs/guides/jsx
Honoとは何かについては、以下の記事に記載されています。
https://qiita.com/hukuryo/items/ed2cda9b1c42d3c6ff6a#hono%E3%81%A3%E3%81%A6%E4%BD%95
ちなみに、Honoが提供しているJSXは、Reactと同じ文法をしていますが、開発者は、あえてReactのソースは見ずに実装をしているみたいです。
https://github.com/honojs/hono
まず、必要なパッケージをインストールします。
次に、TypeScriptの設定を行います。tsconfig.jsonに以下の設定を追加します。
もしくは、以下のようにプラグマを記載することで利用できます。
最初は、以下のコードで簡単な動作確認をしていきましょう。
「/」がリクエストされた際に、HTMLをレスポンスします。
「npm run dev」を実行し、http://localhost:8787 をブラウザで開いてみましょう。
以下のような画面が表示されるはずです。
Next.jsはフロントからきているフレームワークなので、基本的なバックエンドの機能が弱い部分があります。例えば、ロギングがまともにできない点であったり、ミドルウェアの機能が使いづらい(Node.jsの機能が全て使えない等)などの弱さがあります。(Honoは普通にできる。)
これに対して、Honoは、バックエンドからきているフレームワークなので、Next.jsの弱い部分であるバックエンドの機能については、一通り揃っているのではないかと思いますが、一方でReactを使ってUIを構築していくとなると、Next.jsはReactのフレームワークとしての機能が揃っているため、そちらも捨て難いなと思います。
なので現状は、要件によって、フロントエンドとバックエンドのどちらに重きをおくかで、技術選択としては、変わってくるのではないかなと思います。
Honoはサーバーサイドフレームワークとして誕生しましたが、こういったJSXもサポートしているということで、これからさらにシェアが広がっていく技術になっていくのではないかと思います。
他にも色々な記事を書いているので、よければ読んでいってください!
https://qiita.com/hukuryo/items/97797a91d7e2ee0bcabc
https://qiita.com/hukuryo/items/2c07c52ff3386d5d75b9
https://qiita.com/hukuryo/items/ebeb26823f944f143b11
[cv:issue_marketplace_engineer]
診断を受けるとあなたの現在の業務委託単価を算出します。今後副業やフリーランスで単価を交渉する際の参考になります。また次の単価レンジに到達するためのヒントも確認できます。