What Is THE BEST Web Framework In Golang? Why?
Vložit
- čas přidán 19. 09. 2023
- ► Join my Discord community for free education 👉 / discord
► Exclusive Lessons, Mentorship, And Videos 👉 / anthonygg_
► Enjoy a 50% Discount on My Golang Course 👉 fulltimegodev.com
► Learn how I became a self-taught software engineer 👉fulltimegodev.com/#mystory
► Follow me on Twitter 👉 / anthdm
► Follow me on GitHub 👉 github.com/anthdm
SUBSCRIBE OR NO MARGARITAS
╔═╦╗╔╦╗╔═╦═╦╦╦╦╗╔═╗
║╚╣║║║╚╣╚╣╔╣╔╣║╚╣═╣
╠╗║╚╝║║╠╗║╚╣║║║║║═╣
╚═╩══╩═╩═╩═╩╝╚╩═╩═╝
► Join my Discord community for free education 👉 discord.com/invite/Ac7CWREe58
► Exclusive Lessons, Mentorship, And Videos 👉 www.patreon.com/anthonygg_
► 50% OFF on my Golang course 👉 fulltimegodev.com
Thanks for watching
Go Fiber is hands down the best web framework I've ever used compared to any relevant popular framework in Kotlin, .NET, JS, Python, Ruby, PHP, Rust, etc.
The performance is amazing, it's super productive, and the API is good enough to guess your way around instead of reading docs.
And it's super simple to extend :D
Currently creating some big APIs and libs with fiber, including a new templating engine.
For real. And I don't understand why many people complain about lack of support for http 2. Just use a reverse proxy like everyone is doing.
@@hedgehogform agreed! The underlying http implementation gets criticised too. But in reality there are no issues behind a reverse proxy.
That rise of performance from fasthttp in production is nothing in majority of cases. Your reason seems like boredom you try to overcome with inventing complexities.
Is Better than Laravel? I not talking about performance, but organization, features, and etc.
@@xtremebh You can't really compare micro-frameworks to frameworks. If you compare Lumen and Fiber, Fiber will be the far better choice. It's a question of what you need. If features out of the box is what's needed then Spring Boot and .NET is by far the better option.
If you feel organization is solved by a framework then the projects are too small for it to matter imho. Directory structures can be used in any tech stack.
Hi Anthony. Great video. In the first part though, where you show how error handling is done using the standard library you could use http.Error() which encorporates your two lines of code: writing an http error code to the header and an error message to the body (the only difference is that the message has to be plain text). I just thought this was worth mentioning.
I second this.
It seems like general consensus within golang community is to use some type of mux library on top of standard http library but I always end up building sort of my mini framework whenever I am going this route. I mean standard libs or gorilla/mux, chi are fine if you are building a few services that for sake of simplicity, but it gets tedious as your server starts handling more complex stuff.
Thanks for the video. We also use echo in production, but for business logic we use one more layer. And echo is used as transport layer. It gives us flexibility to use alternative transport such as GRPC instead of or simultaneously with the REST.
Exactly you dont want the web context mixed in with your business logic.
Thanks for the video!))
Great as always)
Really useful and interesting - thanks!
@Anthonygg what do you think of gin framework
We use echo on production and i think its really good. Is minimal and just doenst feel you're using any framework
I’ve been interested in echo due to its minimalism. Could you give me an example of the type of projects you use it for? Is it suitable for a CMS/API?
@@MarkStrus We've been using it to a develop a fintech application
We use echo for some finance projects.. Very good doc, very simple and very fast
Perfect choice
Anthony you never disappoint you're the best :)
Thank you Anthony. I am learning a lot from you.
I could not find any Go Framework that has a tag on job tensor.
You are the best man thanks.
The main problem of fiber is that it doesn’t support request Context cancellation on client connection termination (for example when user closes a browser tab) this is very annoying when you connect to brokers from your API endpoints or make any other long running tasks (websockets, etc), btw context.Context of http.Request does cancel
True
Hey Anthony I saw your video where you were building a trading platform or something like that , I wanna get into trading industry or banking maybe as a software dev where should I start? Should I learn Java because most enterprise use it and please guide where to find these specific resources...
If you are interested in finance I think it is done mostly in C++. Definitely not java though
Java is also used in some situations such as non-HFT
I love echo. Also, Pocketbase is built on echo, so if you use it as a framework, you have a db, auth, email, file, and admin panel built in. So basically, Pocketbase is my favorite framework now.
Pocketbase is something I was looking at but there’s one thing I’m having trouble with which is creating repeater fields. I’m just not sure how to implement them and the project I’m building requires repeater fields in a few sections.
I really like it for what it is though. Seems easy to work with and super simple to deploy.
@@MarkStrus You can probably just use the JSON or Relation field to do that.
@edzynda pocketbase seems awesome. I think i will consider to use it if we can set permission/rules on column level not table level since it is too general
Golang and graphql. What do you recommend?
To be honest everything works if you are motivated
leveled up!
i dont think it is worth using an entire web framework just because you dont want to handle errors. you can easily just make a wrapper for handling error then implementing your handlers bellow it. I would totally recommend a router tho. the problem with web frameworks is they usually lead to very bad architectures, to projects with bad dependency injection and people passing the framework context all the way to lower layers making the project very rigid.
I wanna join your discord channel, but link has expired. How do i join now?
Hmm should work
@@anthonygg_ my bad it worked now
Could you please give us some guide for API gateway? Can we have an API gateway but does not depend on any cloud service? (I am Front-end developer and learning Golang to build a personal project to practice)
how about gin?
Reading comments gives a sense that ppl for some unclear reason confused Golang with JS 😂 Bringing 100 frameworks and arguing which is better.
What about gin?
What's your thoughts about chi? Btw very insightful videos.
Chi is a router, not a framework
anyone know the name of the theme he use in vscode?
probably gruvbox
@@mareczekdynamit9497 thank you
audio is a bit low
The web framework that I’ve written is the best one in the world
agreed, you have some badass code there
😁😁
Excellent content! You're probably already aware, but it's hard to understand when you say words that end in "r". You are pronouncing it many times as "sh", so "error" and "here" come out as "errosh" and "heesh". Small note that hopefully is helpful. Once again, thanks for this, great info!
I thought that thumbnail was Johnny Sins 🤡
Stand in
I read source code of echo. It's smart and clear. I agree that echo is the best.
Your videos volume always too low mate. Use a limiter
😢
First💪🏼
Og
the go comunitty seriously needs to stop using single letter variable names
@anthonygg_ Is it DSA must to study for golang 😁
Been using go for 4 years, I've gone through fiber, gin, gorilla, echo and now chi. I still dont have a strong opinion on any of them apart from I think you should be using one of them over the default net/http. When I first started out I used fiber and that was easiest for me as I was coming from TS.
Also if you are using chi I would recommend using their render package as it can help with returning errors and json easier
Good feedback
how about weavebox
Whahaha Not sure about that 😅