
Hono - szybka i lekka alternatywa dla Express.js
Express.js od 2010 r. jest domyślnym wyborem do budowy API w JavaScripcie. Hono robi to samo, ale działa też poza Node.js, nie ma żadnych zależności i jest wielokrotnie mniejsze. Sprawdzamy, gdzie ta różnica ma znaczenie, a gdzie lepiej zostać przy Expressie.
CEO
15 lip 2026
Hono to framework do budowy API i aplikacji serwerowych w JavaScripcie i TypeScripcie, który w wielu nowych projektach zastępuje Express.js. Jest szybką i lekką alternatywą dla Express.js: nie ma żadnych zewnętrznych zależności, a ten sam kod uruchamia się na serwerze Node.js, w funkcjach serverless i w sieciach brzegowych, takich jak Cloudflare Workers.
Framework Express.js działa od 2010 r. i przez ten czas stał się domyślną odpowiedzią na pytanie, w czym napisać backend w JavaScripcie. Nadal jest dobrym wyborem w wielu sytuacjach. Tyle że powstał w innych warunkach: dla jednego środowiska, jednego serwera i czasów, w których TypeScript jeszcze nie istniał.
Express.js po ponad piętnastu latach: co działa, a co uwiera
Siła Expressa to ekosystem. Do niemal każdego problemu - logowania użytkowników, obsługi plików, limitów zapytań - istnieje gotowa biblioteka, a programistę znającego Expressa łatwo znaleźć. Dokumentacja, poradniki i odpowiedzi na forach liczone są w setkach tysięcy. Problemy wynikają z wieku. Express jest ściśle związany ze środowiskiem Node.js, czyli programem, który uruchamia JavaScript na serwerze. Korzysta z jego wewnętrznych obiektów zapytania i odpowiedzi, więc bez dodatkowych warstw nie zadziała w nowszych środowiskach, które opierają się na standardach przeglądarkowych. Typy dla TypeScript są dostarczane osobno, przez społeczność, a nie przez twórców frameworka.
Rozwój przez lata szedł powoli. Wersja 5 ukazała się we wrześniu 2024 r., dziesięć lat po wersji 4. Według harmonogramu wsparcia Expressa gałąź 4.x jest od kwietnia 2025 r. w fazie utrzymania, a jej wsparcie może się zakończyć nie wcześniej niż 1 października 2026 r. Dla projektów na Expressie 4 to i tak moment decyzji: aktualizacja do piątki albo przejście na coś innego. Sama architektura Expressa jest prosta i dobrze znana. Zapytanie przechodzi przez łańcuch funkcji pośredniczących, które kolejno sprawdzają uprawnienia, parsują dane czy zapisują logi. Te same warstwy pośrednie, czyli middleware, są sercem Hono. Programista Expressa odnajdzie się w nim szybko, bo zmienia się głównie składnia.
Czym jest Hono i co odróżnia je od Expressa
Hono (po japońsku „płomień”) stworzył Yusuke Wada, a projekt jest rozwijany na licencji MIT. Sam lekki framework webowy Hono składa się z routera, obsługi middleware i zestawu pomocników, a resztę dokłada się w miarę potrzeb. Ciekawsze od listy funkcji jest to, czym różni się od Expressa.

Najważniejsza różnica jest niewidoczna dla użytkownika aplikacji. Hono zbudowano na standardach webowych, czyli tych samych obiektach zapytania i odpowiedzi, których używa przeglądarka. Każde środowisko, które je obsługuje, uruchomi Hono bez przeróbek. Według dokumentacji Hono lista obejmuje Cloudflare Workers, Fastly Compute, Deno, Bun, Vercel, Netlify, AWS Lambda i Node.js (przez oficjalny adapter).
Druga różnica to rozmiar. Najmniejszy wariant Hono waży poniżej 14 kB, Express z zależnościami - 572 kB. Hono nie pobiera żadnych zewnętrznych pakietów, a w zestawie ma to, co w Expressie trzeba doinstalować:
- uwierzytelnianie tokenami JWT i hasłem,
- obsługę CORS, czyli zasad dostępu z innych domen,
- kompresję, cache i nagłówki bezpieczeństwa,
- walidację danych wejściowych i strumieniowanie odpowiedzi.
Mniej pakietów to mniej aktualizacji bezpieczeństwa do śledzenia. Przy projektach pisanych w TypeScript liczy się też to, że Hono od początku powstawało w tym języku, więc typy są częścią frameworka, a nie dodatkiem.
Gdzie Hono jest szybsze, a gdzie różnica znika
Twórcy publikują benchmarki, w których Hono wyraźnie wygrywa. W środowisku Cloudflare Workers router Hono obsługuje ponad 400 tys. operacji na sekundę, prawie dwa razy więcej niż konkurencyjny itty-router. Na Deno Hono przetwarza ponad 136 tys. zapytań na sekundę, a popularny tam framework oak około 43 tys. (dane z zestawienia benchmarków Hono). Te liczby trzeba czytać z dystansem. Mierzą przede wszystkim szybkość routera, czyli mechanizmu, który dopasowuje adres zapytania do właściwej funkcji. W typowej aplikacji biznesowej odpowiedź trwa kilkadziesiąt milisekund, bo tyle zajmuje zapytanie do bazy danych albo do zewnętrznego systemu. Router odpowiada za ułamek tego czasu.
Na Node.js różnica względem Expressa jest mniejsza. Hono nie powstało z myślą o tym środowisku i działa w nim przez adapter, który tłumaczy obiekty Node.js na standardowe. Aplikacja nadal zyska na lżejszym kodzie, ale nie będzie kilkukrotnie szybsza tylko dlatego, że zmienił się framework.
Wyraźny zysk pojawia się w nowszych środowiskach. Bun jako środowisko uruchomieniowe obsługuje standardy webowe natywnie, a Hono korzysta z tego bez żadnych warstw pośrednich. Podobnie jest z Deno od twórcy Node.js. Jeszcze większe znaczenie niż sama szybkość ma jednak rozmiar aplikacji tam, gdzie płaci się za każde uruchomienie.
Hono jako alternatywa dla Express.js w serverless i na edge
Serverless to model, w którym kod nie działa na stale włączonym serwerze, tylko uruchamia się na żądanie, a firma płaci za faktyczne wywołania. Tak działa usługa AWS Lambda. Każde pierwsze uruchomienie po przerwie, tzw. zimny start, wymaga wczytania całej aplikacji. Im jest mniejsza, tym krócej użytkownik czeka. Edge computing idzie krok dalej. Kod działa na serwerach rozsianych po całym świecie, najbliżej użytkownika, jak w platformie Cloudflare. Takie środowiska mają ścisłe limity rozmiaru i pamięci, a Express bez dodatkowych warstw zgodności w nich nie wystartuje. Hono powstało właśnie z myślą o Cloudflare Workers i tam czuje się najlepiej. W praktyce Hono na edge sprawdza się przy zadaniach krótkich i częstych: przekierowaniach, sprawdzaniu tokenów, personalizacji odpowiedzi, pośredniczeniu między aplikacją a zewnętrznymi API. Mechanizm dobrze opisuje przykład funkcji brzegowych (Edge Functions), które skracają czas odpowiedzi bez przebudowy całego backendu.
Z Hono w produkcji korzystają m.in. cdnjs, baza danych Cloudflare D1 i dostawca usług logowania Clerk. To projekty obsługujące ogromny ruch, co dobrze świadczy o dojrzałości frameworka. W aplikacjach SaaS, gdzie API obsługuje klientów z wielu krajów, przeniesienie części logiki na edge potrafi wyraźnie skrócić czas odpowiedzi dla użytkowników z drugiego końca świata.
Realizacje


Automatyzacja sprzedaży ofertowej dla operatora ponad 400 apartamentów
Klient: BlueApart
Branża: Booking i hotele / TravelTech
Jeden typ danych od serwera po przeglądarkę
Częsty błąd w projektach z osobnym frontendem i backendem jest banalny. Backend zmienia nazwę pola w odpowiedzi, frontend o tym nie wie, a użytkownik widzi pusty ekran. W Expressie przed takimi sytuacjami chronią dodatkowe narzędzia albo ręcznie utrzymywana dokumentacja. Hono ma do tego funkcję RPC. Serwer eksportuje opis swoich tras jako typy TypeScript, a klient `hc` wykorzystuje je w aplikacji frontendowej. Jeśli backend zmieni kształt danych, edytor programisty frontendu pokaże błąd od razu, zanim kod trafi na produkcję. Dane wejściowe sprawdza walidator, najczęściej oparty na bibliotece Zod, a osobny moduł generuje z tego samego kodu specyfikację OpenAPI.
Dla zespołów pracujących w podejściu API-first to wygodne połączenie: kontrakt API powstaje w kodzie i nie rozjeżdża się z dokumentacją.
Jest jedno zastrzeżenie. Dokumentacja RPC w Hono przyznaje, że przy bardzo dużej liczbie tras edytor zaczyna zwalniać, więc duże API trzeba dzielić na moduły od samego początku.
Hono w aplikacji Next.js
Boring Owl buduje strony i aplikacje w frameworku Next.js, więc to połączenie interesuje nas szczególnie. Next.js ma własne trasy API, ale przy kilkudziesięciu punktach końcowych szybko robi się w nich tłoczno: każda trasa to osobny plik, a wspólna logika (autoryzacja, walidacja, obsługa błędów) jest powielana. Hono można osadzić w Next.js jako jedną trasę, która przejmuje wszystkie adresy zaczynające się od `/api`. Całe API żyje wtedy w jednym, uporządkowanym miejscu, z middleware i walidacją zdefiniowanymi raz. Frontend w tym samym repozytorium korzysta z typów RPC bez dodatkowej konfiguracji.
Ta sama aplikacja Hono może później zostać wyjęta z Next.js i uruchomiona jako osobna usługa, na przykład na Cloudflare Workers, gdy ruch na API zacznie rosnąć niezależnie od ruchu na stronie. Kod się nie zmienia. Zmienia się tylko miejsce, w którym działa. Przy tworzeniu aplikacji webowych daje to swobodę, której Express w takim układzie nie zapewnia.
Usługi
Kiedy zostajemy przy Expressie albo wybieramy coś większego
Hono nie jest odpowiedzią na wszystko. Duża, działająca aplikacja na Expressie, z dziesiątkami bibliotek middleware do logowania przez zewnętrznych dostawców, sesji i uploadu plików, raczej nie powinna zmieniać frameworka tylko dla szybkości. Middleware napisane dla Expressa nie zadziała w Hono bez przepisania, a zysk wydajności na Node.js będzie umiarkowany. Aktualizacja do Expressa 5, wspieranego co najmniej do kwietnia 2027 r., jest wtedy tańszą i bezpieczniejszą drogą.
Przy rozbudowanych systemach biznesowych z wieloma modułami, zespołami i regułami domenowymi częściej sięgamy po framework NestJS. Narzuca strukturę projektu, co przy kilkunastu programistach jest zaletą, a nie ograniczeniem. Hono daje swobodę, ale odpowiedzialność za architekturę spada w całości na zespół.
Jeśli projekt ma zostać na klasycznym serwerze Node.js, a liczy się wydajność, warto też rozważyć framework Fastify. Jest dojrzały, szybki na Node.js i ma własny ekosystem wtyczek. Hono wygrywa z nim tam, gdzie aplikacja ma działać w kilku środowiskach albo na edge.
FAQ
FAQ - Najczęściej zadawane pytania o Hono i Express.js
- Tak, Hono jest udostępnione na licencji MIT, więc można go bezpłatnie używać w komercyjnych i zamkniętych aplikacjach. Licencja pozwala modyfikować kod frameworka i dołączać go do własnego oprogramowania, a jedynym obowiązkiem jest zachowanie informacji o autorach. Nie istnieje płatna edycja z dodatkowymi funkcjami: pełny router, wbudowane middleware i klient RPC są dostępne dla każdego. Koszty wynikają więc wyłącznie z infrastruktury, na której działa aplikacja, oraz z pracy zespołu. Przy wdrożeniu na platformach serverless lub edge o rachunku decyduje przede wszystkim liczba wywołań i czas ich wykonania, a nie wybór frameworka.
- Tak, Hono działa na Node.js dzięki oficjalnemu adapterowi @hono/node-server i można je uruchomić na zwykłym serwerze VPS, w kontenerze Docker albo w dowolnym hostingu obsługującym Node.js. Adapter tłumaczy obiekty zapytań Node.js na standardowe obiekty webowe, z których korzysta Hono. Wymagany jest Node.js w wersji 18.14.1 lub nowszej, a w praktyce najlepiej używać aktualnej wersji LTS. Taka konfiguracja sprawdza się, gdy firma chce zostać przy dotychczasowej infrastrukturze, a jednocześnie mieć możliwość przeniesienia API w przyszłości na Bun, Deno albo Cloudflare Workers bez przepisywania kodu. Zysk wydajności względem Expressa na samym Node.js jest umiarkowany i zależy głównie od liczby tras oraz używanych middleware.
- Tak, Hono ma wbudowane middleware do uwierzytelniania tokenami JWT, tokenami typu Bearer oraz prostym logowaniem na login i hasło (Basic Auth). Wystarczy dodać je do wybranych tras, żeby chronić na przykład panel administracyjny albo endpointy dostępne tylko dla zalogowanych klientów. Logowanie przez zewnętrznych dostawców, takich jak Google czy GitHub, obsługują dodatkowe pakiety rozwijane w oficjalnym repozytorium middleware Hono oraz biblioteki uwierzytelniające zgodne ze standardami webowymi. Wybór rozwiązania zależy od tego, czy aplikacja ma własną bazę użytkowników, czy korzysta z usługi zewnętrznej, oraz od wymagań dotyczących sesji i uprawnień.
- Orientacyjnie od kilku dni w przypadku małego API do kilku miesięcy przy dużej aplikacji, przy czym większe projekty przenosi się etapami, bez wyłączania działającego systemu. API z kilkunastoma trasami i standardowymi middleware (CORS, logi, JWT) da się zwykle przepisać i przetestować w ciągu kilku dni. Aplikacja z kilkudziesięcioma trasami, integracjami i własnymi middleware wymaga najczęściej od dwóch do kilku tygodni. Najdłużej trwa migracja rozbudowanych systemów, które korzystają z wielu bibliotek pisanych specjalnie dla Expressa, bo trzeba znaleźć dla nich odpowiedniki albo przepisać je samodzielnie. Czas zależy głównie od liczby niestandardowych middleware, pokrycia kodu testami i tego, czy przy okazji zmienia się środowisko uruchomieniowe.
- Tak, Hono działa w produkcji w projektach o bardzo dużym ruchu, takich jak cdnjs, baza danych Cloudflare D1 czy platforma uwierzytelniania Clerk. Framework pozwala dzielić aplikację na niezależne moduły tras, które łączy się w jedną całość, więc rozbudowane API nie musi siedzieć w jednym pliku. Hono nie narzuca jednak struktury katalogów ani wzorców projektowych, dlatego w dużym zespole trzeba samodzielnie ustalić zasady organizacji kodu, obsługi błędów i testów. Przy API z setkami tras warto od początku podzielić typy RPC na mniejsze części, bo inaczej edytor kodu zaczyna zwalniać. Dopasowanie do skali projektu zależy więc bardziej od dyscypliny zespołu niż od samego frameworka.
- Tak, Hono generuje specyfikację OpenAPI za pomocą oficjalnego pakietu @hono/zod-openapi, a gotowy interfejs Swagger UI można dodać jako osobne middleware. Programista opisuje trasy i dane wejściowe schematami biblioteki Zod, a z tych samych schematów powstaje zarówno walidacja zapytań, jak i dokumentacja. Dzięki temu dokumentacja zawsze odpowiada temu, co API faktycznie robi, a zespół frontendowy albo partner integrujący się z systemem dostaje aktualną specyfikację bez ręcznego jej utrzymywania. Nakład pracy zależy od tego, czy API pisane jest od zera, czy do istniejących tras trzeba dopisać schematy.
- Tak, Hono nie narzuca warstwy dostępu do danych, więc można w nim używać Prisma, Drizzle, TypeORM czy zwykłych klientów baz danych, takich jak PostgreSQL albo MySQL. Na serwerze Node.js, Bun lub Deno wygląda to tak samo jak w innych frameworkach. W środowiskach edge, na przykład Cloudflare Workers, obowiązują ograniczenia: tradycyjne połączenia z bazą nie zawsze są dostępne, dlatego stosuje się sterowniki łączące się przez HTTP, bazy przystosowane do edge, takie jak Cloudflare D1, albo pośrednie usługi łączenia. Wybór zależy od miejsca, w którym działa API, oraz od tego, gdzie fizycznie znajduje się baza danych.
- Tak, Hono ma wbudowane narzędzia do strumieniowania odpowiedzi, w tym Server-Sent Events, oraz obsługę połączeń WebSocket. Strumieniowanie przydaje się na przykład wtedy, gdy aplikacja wyświetla odpowiedź modelu AI fragment po fragmencie albo przesyła na bieżąco postęp długiej operacji. WebSocket pozwala budować funkcje działające w czasie rzeczywistym, takie jak czat czy powiadomienia. Sposób włączenia WebSocket różni się w zależności od środowiska: w Cloudflare Workers, Deno i Bun korzysta się z wbudowanych adapterów, a na Node.js z dodatkowego pakietu. Przy dużej liczbie jednoczesnych połączeń o wyborze infrastruktury decyduje bardziej środowisko uruchomieniowe niż sam framework.
Blog
Powiązane artykuły
Jak efektywnie wykorzystać middlewares w projektach IT?
Middleware w IT to często niezauważany bohater. Ta warstwa oprogramowania umożliwia komunikację i zarządzanie danymi między systemami operacyjnymi, bazami danych i innymi aplikacjami. Wykorzystanie middleware w projekcie można zoptymalizować, by zapewnić płynną pracę systemu i maksymalizować wydajność. W tym artykule dowiesz się, jak to zrobić.
Czym jest Bun?
W świecie rozwoju oprogramowania, gdzie technologie ewoluują z zadziwiającą szybkością, pojawienie się nowego narzędzia często budzi wielkie zainteresowanie wśród programistów i inżynierów. Takim właśnie narzędziem, które w ostatnim czasie zyskało na popularności, jest Bun. Wyróżniając się nie tylko innowacyjnością, ale i obietnicą znacznego wzrostu wydajności, Bun wzbudza zainteresowanie zarówno wśród weteranów branży, jak i początkujących deweloperów.
Deno - jak to działa?
W świecie JavaScriptu, Node.js od lat dominuje jako środowisko uruchomieniowe. Ale czy jesteście świadomi, że istnieje nowy gracz na rynku?! Oto Deno, dziecko twórcy Node.js, które ma na celu zrekompensować jego funkcjonalne błędy. Zapraszam do szczegółowego rozeznania - jak to naprawdę działa?
Edge Functions: Sposób na przyspieszenie aplikacji
Edge Functions to technika poprawy wydajności aplikacji przez uruchamianie kodu bliżej użytkownika, 'na krawędzi' sieci. To podejście redukuje opóźnienia, przyspiesza ładowanie strony i poprawia ogólne doświadczenie użytkownika. W tym artykule przedstawimy podstawy Edge Functions i zasady ich działania, oraz pokażemy, jak mogą one zoptymalizować działanie Twojej aplikacji.
Hono - lekki framework webowy
W świecie web developmentu coraz większą popularność zyskują rozwiązania lekkie, szybkie i proste w implementacji. Jednym z nich jest Hono - nowoczesny framework webowy, który łączy minimalizm z imponującą wydajnością. Dzięki wsparciu dla środowisk serverless i edge computing pozwala tworzyć aplikacje działające błyskawicznie, nawet przy dużym obciążeniu. To narzędzie, które idealnie wpisuje się w potrzeby współczesnych deweloperów poszukujących efektywnych i elastycznych rozwiązań backendowych.
API-first - co to jest i powód jej rosnącej popularności
API-first to innowacyjna strategia w sferze IT, zdobywająca coraz większą popularność. Stawiając na nią, projektanci systemów IT potrafią skuteczniej reagować na dynamicznie zmieniające się potrzeby rynku. Czym więc jest API-first i dlaczego zdobywa coraz większą popularność w biznesie IT?






