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