Amazing video! I don’t know if it’s just me but: being able to write your server logic in Typescript without extra tooling, the fact you can write JSX, just amazing, my only concern with these new and better technologies is compatibility with existing libraries and packages, maybe you could do a video addressing that
Is it that you're not sure how full-stack works? Here. OPEN THE TERMINAL AND RUN > mkdir HotelTrivago > cd HotelTrivago > bun init > bun install express cors CREATE FILE CALLED "server.js" IN THE "HotelTrivago" FOLDER THEN BUILD AN API THAT SPITS OUT SOME TEXT USING THE BELOW CODE START CODE BLOCK const express = require('express'); const cors = require('cors'); const app = express(); app.use(cors()); app.get('/', (req, res) => { res.send("Trivago"); }); app.listen(3000, () => { console.log('listening on port 3000'); }); END CODE BLOCK BACK TO THE TERMINAL AND START UP THIS BAD BOY > bun server.js OPEN BROWSER AND GO TO 'localhost:3000/' AND BEHOLD, OUR SERVER/API HAS RESPONDED WITH THE WORD "Trivago" NOW WRITE A CLIENT APP THAT USES THIS API ENDPOINT CREATE AN "index.html" FILE ANYWHERE, OPEN WITH A TEXT EDITOR AND INSERT THIS MARKUP START MARKUP BLOCK async function clickityclickity() { let response = await fetch('localhost:3000'); let data = await response.text(); document.querySelector('p').innerHTML = data; } Hotel? Click Me END MARKUP BLOCK NOW OPEN "index.html" WITH A BROWSER CLICK THE BUTTON AND BEHOLD THE "Hotel?" TURNS INTO A "Trivago" FULL STACK, BABY
I'd love to see that too. Where I work, we use Next.js (page router) for a big web app and the DX is terrible. The dev server crashed at least one a day and take close to 2GB of memory. All I care about in Next if getServerSideProps(), so if I could use something lightweight to replace it, that would be awesome.
While bun is great, Bun is still reliant on one primary developer. I love bun and will continue to use it for smaller projects or side projects, but until it becomes reliable longevity wise, I prefer to stay with the standard tech for now for business focused work.
JS developers are sick to be honest they always run for new things without any need, searching for the perfect library or runtime or framework and they never find one or will. I am a js developer but the community is just too much, and I am not against developing more libraries that are better, but not hundred of solutions for the same problem and most of them are the same
@@juststudying1019 i want programming/computer things to not change for years, to not be deprecated. For programs/games to work on any future computers. For things to be reproducable on any computers.
Sam- It seems that since this video was posted, Hono has changed a bit, requiring its "helpers" -- which include: stream(), streamText() and streamSSE() -- to now be imported (i.e.: import { stream, streamText, streamSSE } from 'hono/streaming') for your streaming example @T=3:35 to work. Otherwise, well done!! Thanks.
I always use a library called "nock" for writing tests for HTTP requests so i can mock external http requests in the "network" level. would be nice to see if that works out of the box or if there are some other library that can do that. would be wicked.
wow this is awesome , specially the ability to write jsx ( I don't hate ejs but i wish that if it was jsx ) in the template engine. I hope to see more on this matter especially from you that obviously are very good at explaining . thanks bro
Can hono be used in non serverless environments? Because if it can't how would you implement socket connections or anything that needs a longer connection
How do you feel about there only being basically 1 contributor to bun? Do you still recommend bun for production even though it doesn't pass the bus test?
What about database operations? I used it around 10 month ago. Only problem in that time i found is that db operation. I need to use totally raw operation. Express has mongoose ODM but i Don't find similar that
Hi again, I'm testing Bun and I already setted up half of JWT. But right now I want to make my register and login routes. Finded out c.req.query('user') and c.req.query('password') didn't retrieve anything. I'm sending those two variables through Postman in form-urlencoded (as always). Anybody finds the solution? In Node + Express was app.use(express.json()) in the main javascript file, but here I don't know if I need some method like this, or maybe I'm doing something wrong... Thanks
Ok, I get body/post/form-urlencode variables thanks to: await c.req.parseBody() or: await c.req.formData() That's weird AF, anyone has another way to get form data? This way I showed you, looks sketchy. I never needed a Promise to get form data in NodeJs+Express lol
in "Validation" section they didn't mention (and even the data model seems different) we need to get body/form data in the way I showed you. :O Damn, something it's looking bad haha
I just had to rewrite a small webapp because Flask doesn't handle SSE nicely, and Bun + Hono works so much better. Thanks a lot for showing this setup!
I am absolutely blown away! 😮 This is so much better than Node and Express! If they come up with a framework like Nest or Adonis with bun and hono, it will absolutely dominate the backend world!
Amazing video! I don’t know if it’s just me but: being able to write your server logic in Typescript without extra tooling, the fact you can write JSX, just amazing, my only concern with these new and better technologies is compatibility with existing libraries and packages, maybe you could do a video addressing that
JS developers change frameworks more often than they take a bath.
yeah this is getting rediculous lol
Express.JS is 14 years old. So, this is a little bit concerning. How can a human being survive without showering for 14 years straight?
@@TolyaBogomolov i see humor is lost to js devs
Why complain most of this stuff is free and you get to use something that you like.
i wanted to use hono for a time now but bun and hono combined looks crazy fun. I think the next project will be with bun and hono
Your content is really amazing, i would love to see a vite and hono full fledged tutorial.
Bro will you make a full stack application using Bun, so that we can learn something from your experience
The way you can learn from this experience is if YOU make a full-stack app using Bun. His knowledge isn’t magically transferred into your head
Is it that you're not sure how full-stack works? Here.
OPEN THE TERMINAL AND RUN
> mkdir HotelTrivago
> cd HotelTrivago
> bun init
> bun install express cors
CREATE FILE CALLED "server.js" IN THE "HotelTrivago" FOLDER THEN BUILD AN API THAT SPITS OUT SOME TEXT USING THE BELOW CODE
START CODE BLOCK
const express = require('express');
const cors = require('cors');
const app = express();
app.use(cors());
app.get('/', (req, res) => {
res.send("Trivago");
});
app.listen(3000, () => {
console.log('listening on port 3000');
});
END CODE BLOCK
BACK TO THE TERMINAL AND START UP THIS BAD BOY
> bun server.js
OPEN BROWSER AND GO TO 'localhost:3000/' AND BEHOLD, OUR SERVER/API HAS RESPONDED WITH THE WORD "Trivago"
NOW WRITE A CLIENT APP THAT USES THIS API ENDPOINT
CREATE AN "index.html" FILE ANYWHERE, OPEN WITH A TEXT EDITOR AND INSERT THIS MARKUP
START MARKUP BLOCK
async function clickityclickity() {
let response = await fetch('localhost:3000');
let data = await response.text();
document.querySelector('p').innerHTML = data;
}
Hotel?
Click Me
END MARKUP BLOCK
NOW OPEN "index.html" WITH A BROWSER
CLICK THE BUTTON AND BEHOLD THE "Hotel?" TURNS INTO A "Trivago"
FULL STACK, BABY
the use of context reminds me of how Golang Web Frameworks like Gin and Echo work. Pretty nice!
Same here! I was looking for this comment
Yo, can't wait for Hono+Vite+React setup tutorial!
I've tried a couple of time to make it works but failed! Can't wait to see the video!
Man just ditch React and Client frameworks once and for all. You have JSX on the server with these. What else do you need?
I'd love to see that too. Where I work, we use Next.js (page router) for a big web app and the DX is terrible. The dev server crashed at least one a day and take close to 2GB of memory. All I care about in Next if getServerSideProps(), so if I could use something lightweight to replace it, that would be awesome.
beth stack but hono
@@jarnathan-snow
@alaskandonut yoooo, thx bud
Amazing! We’re waiting for a full Tutorial ;-)
It would be great to see the performance part in comparison with express, fastify on node to understand the capabilities of this modern framework
Google is your friend:
"Node.js vs Deno vs Bun: Express hello world server benchmarking"
amazing demonstration Sam!
You know what I have an old express project, I will try migrating it to bun + hono . Want to see what are the gotchas in this combo.
While bun is great, Bun is still reliant on one primary developer.
I love bun and will continue to use it for smaller projects or side projects, but until it becomes reliable longevity wise, I prefer to stay with the standard tech for now for business focused work.
Luckily hono supports node too
@@WillDelishtrue
JS developers are sick to be honest they always run for new things without any need, searching for the perfect library or runtime or framework and they never find one or will.
I am a js developer but the community is just too much, and I am not against developing more libraries that are better, but not hundred of solutions for the same problem and most of them are the same
Today bun is good tomorrow there is something better and we all abandon bun😢
@@juststudying1019 i want programming/computer things to not change for years, to not be deprecated. For programs/games to work on any future computers. For things to be reproducable on any computers.
Sam- It seems that since this video was posted, Hono has changed a bit, requiring its "helpers" -- which include: stream(), streamText() and streamSSE() -- to now be imported (i.e.: import { stream, streamText, streamSSE } from 'hono/streaming') for your streaming example @T=3:35 to work. Otherwise, well done!! Thanks.
Have you tried Elysia? The DX is really amazing
it is not. Have you tried nesting guards?
@@jarnathan-snowyh that's a chore but I prefer beforehandle function
I always use a library called "nock" for writing tests for HTTP requests so i can mock external http requests in the "network" level. would be nice to see if that works out of the box or if there are some other library that can do that. would be wicked.
wow this is awesome , specially the ability to write jsx ( I don't hate ejs but i wish that if it was jsx ) in the template engine. I hope to see more on this matter especially from you that obviously are very good at explaining . thanks bro
that absolutely look great!, would be nice to see hono - monorepo tutorial :D
Dude, super well paced and explained, mint.
Hello sam, how about ElysiaJs?
Thanks!
Subscribed for the hono+vite magic that you'll drop
Hono seems cool, but after Sveltekit I can’t see me using another tool for api
Same here. Bun + Hono is such a nice combo. Easy to work with, and holy f-- it’s performant.
Gratefull, I'll waiting for your tutorial using Hono🤩
What about the server folder you created at the start, Sam? 😁
Thanks for showing the basic for a fresh start. Cheers!
ok you've sold me!
next project will be with hono (bun i already use :D)
Tutorial for hono/vite if possible. Idk if you already did it but thanks ahead of timeif you are thinking about it.
Hey sam please make a comparison between Hono and ElysiaJS
we need more Hono videos! this was great!
looks so cool! I'm gonna try it out for sure, thanks for the info!
hono still has a loooot of issues like websocket implement and graphql like yoga with enable ws ...etc, so i cannot recommend hono for now
amazing, seems like something's great is growing out of bun. im excited to see where it will go.
Could you make a video integrating tRPC with hono?
One of the issues i still have with the validator is that your validator has to return strings (if you try a number itll just throw a ts error)
Such a amazing tutorial
That is very cool I usually use python for backend development but I am excited to try hono and bun
Great video! I would love to see a Hono, Vite, React tutorial.
There’s a Safari bug that prevents Bun web servers from successfully sending binary downloads like images and files to that web browser. 😢
Someone lmk what extension is showing errors right from inline
Are you able to run a successful docker build with Bun?
I've been bashing my head for the past 6 versions
can you also make a video on elysiajs and bun
error: Cannot find module "react/jsx-dev-runtime" from "/Users/sam/Documents/server/src/app.tsx"
Can hono be used in non serverless environments? Because if it can't how would you implement socket connections or anything that needs a longer connection
I’ve been using fastify already, do you know some use cases where hono would be preferable compared to fastify?
Could you compare Hono and tRPC? It appears they both have similar capabilities. Thanks!
Looove hono + bun combo. Also sprinkle some htmx and its pretty magical
Don’t forget drizzle
Yes we would love a tutorial on vite and hono please 🙏
You had me at “Because Bun” it’s always about the bun
How do you feel about there only being basically 1 contributor to bun? Do you still recommend bun for production even though it doesn't pass the bus test?
Nope use deno …
The client/server type safety is a nice feature!
What about database operations? I used it around 10 month ago. Only problem in that time i found is that db operation. I need to use totally raw operation. Express has mongoose ODM but i Don't find similar that
I’ve used Prisma with hono and bun. No problem.
@@elephant_888 can you share the setup docs?
try out drizzle.team
im always wanting to try bun , but i don't know if its stable for production yet or not
Hono is awesome! Would love seeing more content on hono
Would be nice to see more vids on this topic
Which cli and cli font are you using? I'm so obsessed with the fonts, ain't I?
What about elysia? Can you also review that project?
since i only new about express js, could be more risk to implement this to my project, but i will try my best to use it from my next project
I'm interested in hono + react app and how the live together and interact
Hey Sam, how can we connect to a database while calling APIs
Being able to serve HTML using JSX instead of EJS or other template language is so good!!!
Have they solved Bun not working with SSH-ed25519? I couldn't use Bun due to my SSH dependencies not working with it.
This is great! Is there support to integrate Bun into a AWS lambda runtime and Hono into an AWS lambda proxy?
Hi Sam,
have you built a production app with bun? if yes how has been your experience?
It’s been awesome, only great things to say about using bun. I’ve been deploying to fly.io.
@@SamMeechWard Wow! will definitely try it. Thanks
Definites on what a production app is - if you mean an app with thousands of live users, then Bun isn't stable for that.
@@mdmathewdc Please share your experience.
We have few public API running with bun, it is just great.
Nice intro! Well done.
do you have a video about exposing an ML (AI) model thourgh a JS/TS API?
Hono is beautiful. Been using it so much.
yea i tried this ~ 12 - 18 months ago but couldnt stick w it for larger stuff glad the ecosystem has improved w it
Super Cool video! Subbed!
why hono, not bun-native elysia?
that is soo good dud, i see yesterday.
The future of us!
I would like to see this working with vite, it sounds interesting.
Damn, Hono looks incredible!
I wish Bun had Windows and Nextjs support ... hopefully soon
Just quit using Windows and start using Linux, you'll thank me later.
how to handle concurrency or multithread using Hono ?
bun update command not update version numbers in package.json in my local, do you know how to fix it?
what about security like helmet plugin?
More bun and Hono please! Maybe build full rest api with swagger, mongo and some sort of autorization it is be nice
This looks great for use with HTMX with built in JSX
Is it sending a Server Sent Event stream with the stream.write stuff?
Is Bun.serve() necessary? when already using bun run --hot src/index.ts??
Great, as always. ✌️
Hi again, I'm testing Bun and I already setted up half of JWT. But right now I want to make my register and login routes. Finded out c.req.query('user') and c.req.query('password') didn't retrieve anything. I'm sending those two variables through Postman in form-urlencoded (as always). Anybody finds the solution? In Node + Express was app.use(express.json()) in the main javascript file, but here I don't know if I need some method like this, or maybe I'm doing something wrong...
Thanks
Data though params (GET variables) works ok.
Ok, I get body/post/form-urlencode variables thanks to:
await c.req.parseBody()
or:
await c.req.formData()
That's weird AF, anyone has another way to get form data? This way I showed you, looks sketchy. I never needed a Promise to get form data in NodeJs+Express lol
in "Validation" section they didn't mention (and even the data model seems different) we need to get body/form data in the way I showed you. :O Damn, something it's looking bad haha
how to make something like nodemon with hono + node
Thanks now I understand why Hono is better that ElisiaJS too 🎉
never tried hono but tried elysia i was a pleasant experience
How about koa js. It's like similar with hono right ?
can jsx work with htmx this way?
How about ElisiaJS ? Some insights ?
Its developed by one person. Just like express.js
awesome content . subbed :)
How hono vs Elysia?
I just had to rewrite a small webapp because Flask doesn't handle SSE nicely, and Bun + Hono works so much better. Thanks a lot for showing this setup!
do you think hono is production read?
How does it compare to Elysia?
Please more of hono.js
🙂
Where can this be deployed?
Have you tried ElysiaJS?
I am absolutely blown away! 😮 This is so much better than Node and Express! If they come up with a framework like Nest or Adonis with bun and hono, it will absolutely dominate the backend world!
Did you ever test elysia i'm looking for something performant and reliable
Make a video on how to deploy it