【ISSUE】HonoがJSXを提供しているので使ってみた

0

2024年12月23日 8:40

はじめに

HonoはTypeScriptファーストのWebフレームワークとして知られていますが、JSXもサポートしているので、それについて書いていきます。

https://hono.dev/docs/guides/jsx

Honoとは

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

セットアップ

まず、必要なパッケージをインストールします。
img
次に、TypeScriptの設定を行います。tsconfig.jsonに以下の設定を追加します。

img
もしくは、以下のようにプラグマを記載することで利用できます。

img

簡単な画面を作成

最初は、以下のコードで簡単な動作確認をしていきましょう。
「/」がリクエストされた際に、HTMLをレスポンスします。
img
「npm run dev」を実行し、http://localhost:8787 をブラウザで開いてみましょう。
以下のような画面が表示されるはずです。
スクリーンショット 2024-11-24 20.56.56.png

HonoとNext.jsを比べると

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]

0

診断を受けるとあなたの現在の業務委託単価を算出します。今後副業やフリーランスで単価を交渉する際の参考になります。また次の単価レンジに到達するためのヒントも確認できます。