コンテンツにスキップ

Hono

出典: フリー百科事典『ウィキペディア(Wikipedia)』
Hono
作者 Yusuke Wada
初版 2021年12月15日 (3年前) (2021-12-15)
最新版
4.6.17[1] ウィキデータを編集 / 2025年1月18日 (4日前)
リポジトリ https://github.com/honojs/hono
プログラミング
言語
TypeScript
ライセンス MIT
公式サイト https://hono.dev/
テンプレートを表示

Hono は、TypeScript およびJavaScript のためのオープンソースWeb フレームワークである[2]。Web標準に従っているという特徴がある[3]

概要

[編集]

Honoは、Webフレームワークであり、コアは http リクエストのためのミドルウェア及びルーティングの登録と使用をすることができる[4]。Web標準に従っている。そのため、Web 標準に従っている任意の JavaScript ランタイム で Hono を使用することができる[3][5]

Hono という名前は、日本語の「炎」に由来し[6]、開発者は日本人の Yusuke Wada 氏である[7]

その歴史は2021年12月15日に始まり[8]、当初は Cloudflare が運営する Workers と呼ばれるEdgeサービスの為に開発されたが[9]、後に Deno に対応し[10]、そこから任意のランタイムで動作可能になった[11]

特徴

[編集]

Hono は、以下の特徴を備えている。

RegExpRouter

[編集]

RegExpRouter は、Hono に標準で備わっているルーターである[12]。ルーティングを予め 1 つの正規表現にまとめることにより、高速なルーティングを実現している[13][14][15][16]

Adapter

[編集]

Hono は Web 標準な API のみで構成されているため[17]、Web標準に従っているランタイムで動作可能である。[17]それらの API をランタイムが提供していなくても、Adapter という機能を介してさまざまな JavaScript ランタイムで動かすことができる[18]。Honoは、Deno[10][19][20], Node.js[21][22], Bun[23][24][25], Cloudflare Workers[26][27][28][9], AWS Lambda[29][30][31]で動かすこともできる。さらに、サーバーサイド JavaScript ランタイムのみでなく、Hono はブラウザ上で動作する。[32][33]これにより、ブラウザの Service Worker 上での動作が可能になる[34]

Middleware

[編集]

Hono は、デフォルトでいくつかのMiddlewareを提供する[35]。例えば、デフォルトの Middlewre を用いて CORS対応[36]や、IP アドレスによるアクセス制御が可能である[37]

導入事例

[編集]

参考文献

[編集]
  1. ^ "Release 4.6.17"; 閲覧日: 2025年1月22日; 出版日: 2025年1月18日.
  2. ^ 覚書:Honoとは?次世代フレームワークが注目される理由~その魅力と可能性~|Shinoda”. note(ノート) (2024年9月7日). 2024年10月21日閲覧。
  3. ^ a b Honoの概要とその特徴: Web標準に従った軽量高速フレームワーク | 株式会社一創”. www.issoh.co.jp (2024年7月9日). 2024年10月21日閲覧。
  4. ^ Hono + Cloudflare Workers で REST API を作ってみよう”. azukiazusaのテックブログ2 (2022年8月28日). 2024年10月21日閲覧。
  5. ^ Announcing Hono on JSR” (英語). Deno Blog (2024年6月25日). 2024年10月21日閲覧。
  6. ^ honojs/hono: Web framework built on Web Standards” (英語). GitHub (2024年11月14日). 2024年12月12日閲覧。
  7. ^ Hono(炎)っていうイケてる名前のフレームワークを作っている”. Zenn (2022年1月27日). 2024年12月12日閲覧。
  8. ^ Template:Release v0.0.1 honojs/hono
  9. ^ a b Cloudflare Workersフレームワーク「Hono」の紹介 - ゆーすけべー日記”. yusukebe.com (2022年6月8日). 2024年10月21日閲覧。
  10. ^ a b Deno support?? · Issue #184 · honojs/hono” (英語). GitHub. 2024年10月21日閲覧。
  11. ^ Honoの今の状況 - ゆーすけべー日記”. ゆーすけべー日記 (2023年12月20日). 2024年12月14日閲覧。
  12. ^ Hono vs. H3 vs. HatTip vs. Elysia - modern server(less) replacements for Express” (英語). DEV Community (2024年3月12日). 2024年10月21日閲覧。
  13. ^ Amano, Taku (2023年12月2日). “honoのJSXの特徴”. blog.taaas.jp. 2024年10月21日閲覧。
  14. ^ Routers - Hono” (英語). hono.dev (2024年10月20日). 2024年10月21日閲覧。
  15. ^ How I/we got 2k stars - ゆーすけべー日記”. yusukebe.com (2022年8月22日). 2024年10月21日閲覧。
  16. ^ JSのウェブフレームワークで高速なルーターを実装する方法” (英語). Speaker Deck. 2024年10月21日閲覧。
  17. ^ a b The story of web framework Hono, from the creator of Hono” (英語). Cloudflare Blog. 2024年12月14日閲覧。
  18. ^ Adapter Helper - Hono” (英語). Cloudflare Blog. 2024年12月14日閲覧。
  19. ^ jsr を利用して deno で hono を動かしただけ”. Zenn. 2024年10月21日閲覧。
  20. ^ DenoでHonoを試すメモ”. Qiita (2022年12月11日). 2024年10月21日閲覧。
  21. ^ Create a Node Server using Hono” (英語). DEV Community (2024年7月4日). 2024年10月21日閲覧。
  22. ^ Surti, Murtuzaali (2024年6月30日). “Create a Node Server using Hono under 10 Lines of Code” (英語). Syntackle. 2024年10月21日閲覧。
  23. ^ BunとHono”. Zenn. 2024年10月21日閲覧。
  24. ^ Build an HTTP server using Hono and Bun | Bun Examples” (英語). Bun. 2024年10月21日閲覧。
  25. ^ Bunjs support · Issue #344 · honojs/hono” (英語). GitHub. 2024年10月21日閲覧。
  26. ^ Cloudflare Workers - Hono” (英語). hono.dev (2024年10月20日). 2024年10月21日閲覧。
  27. ^ Cloudflare WorkersとHono🔥を学ぶ”. Zenn. 2024年10月21日閲覧。
  28. ^ Hono | Cloudflare Pages docs”. 2024年10月21日閲覧。
  29. ^ Hono on AWS Lambdaを体感する”. Qiita (2023年5月8日). 2024年10月21日閲覧。
  30. ^ AWSユーザのためのHono入門”. Zenn. 2024年10月21日閲覧。
  31. ^ 最近 Hono で外部連携用の AWS Lambda 書いています”. Qiita (2024年4月1日). 2024年10月21日閲覧。
  32. ^ Can Hono run inside a Service Worker in a web browser? · honojs · Discussion #954” (英語). GitHub. 2024年10月21日閲覧。
  33. ^ Hono runs on a web browser, only the browser! It's an 83-line playground!”. 2024年10月21日閲覧。
  34. ^ Service Worker - Hono” (英語). hono.dev (2024年10月20日). 2024年10月21日閲覧。
  35. ^ Middleware - Hono” (英語). Zenn. 2024年12月14日閲覧。
  36. ^ HonoでCORS対応をする”. Zenn. 2024年10月21日閲覧。
  37. ^ Honoを使い倒したい2024”. Zenn. 2024年10月21日閲覧。
  38. ^ a b c d e f [1]. Zenn.