HONC | hɒŋk |
abbreviation informal
HONC is an modular collection of choice technologies for building lightweight, type-safe, edge-enabled data apis that scale seamlessly to their demand.
It's 2024, I'm building a data API and I'm using TypeScript. What do I use?- Every developer out there
TL;DR
npm create honc-app@latest
npm create honc-app@latest
Most of the talk about the "best stack" in the TypeScript world is about "server components", "partial hydrations" and maybe SPAs. What if you need a simple backend to run a background job, or power your third-party integrations (✨AI✨)? In other words: something to receive some JSON, store it, process it, and return it. To create a data API you will need:
- 🪿 A database (duh)
- 🪿 An ORM layer
- 🪿 A router/middleware framework to help you wire it all together
- 🪿 Someone else's computer to deploy it all on
┏┓
┃┃╱╲ In this
┃╱╱╲╲ house
╱╱╭╮╲╲ we love
▔▏┗┛▕▔ & appreciate
╱▔▔▔▔▔▔▔▔▔▔╲
| JSON |
╱╱┏┳┓╭╮┏┳┓╲╲
▔▏┗┻┛┃┃┗┻┛▕▔
Overview
Hono
Hono. So hot right now. Hono is a Typescript framework for apis (and more!) that looks a lot like Express, except it’s smaller (14kB smoll), lighter, faster, and runs anywhere that supports Web Standards. We’re talking Cloudflare, Deno, Bun, Vercel, Netlify, Node, and more. It has a bunch of helpful middleware to get you going, and a friendly and helpful community.
ORM (Drizzle)
You either use an ORM or you live long enough to build one yourself. Typescript apis need some sort of contract between the data and the application code. Do you need a traditional ORM for this? No, you do not. But we really wanted to put an O in HONC. And Drizzle ORM (our tool of choice) has a typesafe query builder for tons of relational databases.
Neon
Postgres is bopping these days. Need vector storage for your AI apps? Check. Need to stash some JSON blobs? Done. And for everything else, there’s an extension. Neon is a serverless Postgres database that grows right along with your app, no AWS certification needed. We also like Supabase, which throws in real-time updates, authentication and an edge runtime for good measure. Just use Postgres.
Cloud (Cloudflare)
We need a place to run our app, and unless you're nostalgic for the soothing hum of a box in your basement, the cloud is where it's at. Cloudflare Workers loves Hono as much as we do.
Hono
Hono. So hot right now. Hono is a Typescript framework for apis (and more!) that looks a lot like Express, except it’s smaller (14kB smoll), lighter, faster, and runs anywhere that supports Web Standards. We’re talking Cloudflare, Deno, Bun, Vercel, Netlify, Node, and more. It has a bunch of helpful middleware to get you going, and a friendly and helpful community.
ORM (Drizzle)
You either use an ORM or you live long enough to build one yourself. Typescript apis need some sort of contract between the data and the application code. Do you need a traditional ORM for this? No, you do not. But we really wanted to put an O in HONC. And Drizzle ORM (our tool of choice) has a typesafe query builder for tons of relational databases.
Neon
Postgres is bopping these days. Need vector storage for your AI apps? Check. Need to stash some JSON blobs? Done. And for everything else, there’s an extension. Neon is a serverless Postgres database that grows right along with your app, no AWS certification needed. We also like Supabase, which throws in real-time updates, authentication and an edge runtime for good measure. Just use Postgres.
Cloud (Cloudflare)
We need a place to run our app, and unless you're nostalgic for the soothing hum of a box in your basement, the cloud is where it's at. Cloudflare Workers loves Hono as much as we do.
Quickstart
npm create honc-app@latest
# or yarn or pnpm...