2022-07-02 08:09:45 +02:00
< div align = "center" >
2023-02-16 15:18:34 +01:00
< a href = "https://hono.dev" >
2022-07-18 04:56:07 +02:00
< img src = "https://raw.githubusercontent.com/honojs/hono/main/docs/images/hono-title.png" width = "500" height = "auto" alt = "Hono" / >
2022-07-02 08:09:45 +02:00
< / a >
< / div >
< hr / >
2022-07-16 10:56:06 +02:00
< p align = "center" >
2023-02-16 15:18:34 +01:00
< a href = "https://hono.dev" > < b > Documentation :point_right: hono.dev< / b > < / a > < br / >
2023-02-18 00:27:54 +01:00
< i > v3 has been released!< / i > < a href = "docs/MIGRATION.md" > Migration guide< / b >
2022-07-16 10:56:06 +02:00
< / p >
< hr / >
2022-12-20 22:42:27 +01:00
[![GitHub Workflow Status ](https://img.shields.io/github/actions/workflow/status/honojs/hono/ci.yml?branch=main )](https://github.com/honojs/hono/actions)
2022-07-18 04:56:07 +02:00
[![GitHub ](https://img.shields.io/github/license/honojs/hono )](https://github.com/honojs/hono/blob/main/LICENSE)
2022-07-02 08:09:45 +02:00
[![npm ](https://img.shields.io/npm/v/hono )](https://www.npmjs.com/package/hono)
[![npm ](https://img.shields.io/npm/dm/hono )](https://www.npmjs.com/package/hono)
2023-02-14 14:50:58 +01:00
[![Bundle Size ](https://img.shields.io/bundlephobia/min/hono )](https://bundlephobia.com/result?p=hono)
[![Bundle Size ](https://img.shields.io/bundlephobia/minzip/hono )](https://bundlephobia.com/result?p=hono)
2022-07-02 08:09:45 +02:00
[![npm type definitions ](https://img.shields.io/npm/types/hono )](https://www.npmjs.com/package/hono)
[![GitHub commit activity ](https://img.shields.io/github/commit-activity/m/honojs/hono )](https://github.com/honojs/hono/pulse)
2022-07-18 04:56:07 +02:00
[![GitHub last commit ](https://img.shields.io/github/last-commit/honojs/hono )](https://github.com/honojs/hono/commits/main)
2022-07-02 15:31:10 +02:00
[![Deno badge ](https://img.shields.io/endpoint?url=https%3A%2F%2Fdeno-visualizer.danopia.net%2Fshields%2Flatest-version%2Fx%2Fhono%2Fmod.ts )](https://doc.deno.land/https/deno.land/x/hono/mod.ts)
2022-09-15 17:10:37 +02:00
[![Discord badge ](https://img.shields.io/discord/1011308539819597844?label=Discord&logo=Discord )](https://discord.gg/KMh2eNSdxV)
2022-07-02 08:09:45 +02:00
2023-04-17 01:51:53 +02:00
Hono - _**\[炎\] means flame🔥 in Japanese**_ - is a small, simple, and ultrafast web framework for the Edges.
2023-02-18 00:27:54 +01:00
It works on Cloudflare Workers, Fastly Compute@Edge, Deno, Bun, Vercel, Lagon, Node.js, and others.
Fast, but not only fast.
2022-07-02 08:09:45 +02:00
```ts
import { Hono } from 'hono'
const app = new Hono()
2023-02-18 00:27:54 +01:00
app.get('/', (c) => c.text('Hono!'))
2022-07-02 08:09:45 +02:00
2022-07-16 10:56:06 +02:00
export default app
2022-07-02 08:09:45 +02:00
```
2023-02-22 21:47:56 +01:00
## Quick Start
```
npm create hono@latest my-app
```
2022-07-02 08:09:45 +02:00
## Features
2023-02-18 00:27:54 +01:00
- **Ultrafast** - The routers are really fast and smart. Not using linear loops. Fast.
- **Multi-runtime** - Works on Cloudflare Workers, Fastly Compute@Edge, Deno, Bun, Lagon, or Node.js. The same code runs on all platforms.
- **Batteries Included** - Hono has built-in middleware, custom middleware, and third-party middleware. Batteries included.
2023-03-02 13:52:25 +01:00
- **Delightful DX** - First-class TypeScript support. Now, we've got "Types".
2023-02-18 00:27:54 +01:00
- **Small** - About 20kB. Zero-dependencies. Using only Web Standard API.
2022-07-02 08:09:45 +02:00
2022-07-02 11:32:01 +02:00
## Benchmarks
2023-02-18 00:27:54 +01:00
**Hono is the fastest**, compared to other routers for Cloudflare Workers.
2022-07-02 08:09:45 +02:00
2023-02-18 00:27:54 +01:00
```
2023-02-11 08:20:11 +01:00
Hono x 385,807 ops/sec ±5.02% (76 runs sampled)
itty-router x 205,318 ops/sec ±3.63% (84 runs sampled)
sunder x 287,198 ops/sec ±4.90% (74 runs sampled)
worktop x 191,134 ops/sec ±3.06% (85 runs sampled)
2022-09-20 16:06:05 +02:00
Fastest is Hono
2023-02-11 08:20:11 +01:00
✨ Done in 27.51s.
2022-07-02 08:09:45 +02:00
```
2022-07-16 10:56:06 +02:00
## Documentation
2022-07-08 02:22:10 +02:00
2023-02-16 15:18:34 +01:00
The documentation is available on [hono.dev ](https://hono.dev ).
2022-07-02 08:09:45 +02:00
2022-07-16 10:56:06 +02:00
## Migration
2022-07-02 08:09:45 +02:00
2023-02-18 00:27:54 +01:00
The migration guide is available on [docs/MIGRATION.md ](docs/MIGRATION.md ).
2022-07-02 08:09:45 +02:00
2022-08-27 04:01:09 +02:00
## Communication
2022-09-15 17:10:37 +02:00
[Twitter ](https://twitter.com/honojs ) and [Discord channel ](https://discord.gg/KMh2eNSdxV ) are available.
2022-08-27 04:01:09 +02:00
2022-07-02 08:09:45 +02:00
## Contributing
Contributions Welcome! You can contribute in the following ways.
2022-07-23 08:02:42 +02:00
- Create an Issue - Propose a new feature. Report a bug.
- Pull Request - Fix a bug and typo. Refactor the code.
- Create third-party middleware - Instruct below.
- Share - Share your thoughts on the Blog, Twitter, and others.
- Make your application - Please try to use Hono.
For more details, see [docs/CONTRIBUTING.md ](docs/CONTRIBUTING.md ).
2022-07-02 08:09:45 +02:00
## Contributors
Thanks to [all contributors ](https://github.com/honojs/hono/graphs/contributors )! Especially, [@metrue ](https://github.com/metrue ) and [@usualoma ](https://github.com/usualoma )!
2023-04-17 01:51:53 +02:00
## Authors
2022-07-02 08:09:45 +02:00
Yusuke Wada < https: / / github . com / yusukebe >
2023-03-06 12:42:05 +01:00
"RegExpRouter" and "SmartRouter" are created by Taku Amano < https: / / github . com / usualoma >
2022-07-02 08:09:45 +02:00
## License
Distributed under the MIT License. See [LICENSE ](LICENSE ) for more information.