Goodbye controllers, hello Minimal APIs - Nick Chapsas - NDC London 2023

  Рет қаралды 58,488

NDC Conferences

NDC Conferences

Күн бұрын

Пікірлер: 55
@Flynnor
@Flynnor Жыл бұрын
Very impressive talk! At the beginning, I was very skeptical, but Nick completely turned me around. I hope to see more from him in the future. Well worth a watch.
@velvetsound
@velvetsound Жыл бұрын
Great video. I liked the comparison to Fast API and Express, which have successfully scaled to huge projects over the last few years. The .NET community could learn a lot from these other huge high performance projects.
@BruLLLo
@BruLLLo Жыл бұрын
I am participating an a microservices project just starting out. I have been annoyed after learning controllers that I have to go away from it so I have been pushing this minimal API to the future abit. After watching this I will recommend the others in my team to have a look aswell. Thank you for a great talk and for the example given.
@krishnamurthymadaraboina1556
@krishnamurthymadaraboina1556 Жыл бұрын
great presentation, after this talk, I am going to start pushing my higher management on the importance of moving towards minimal APIs.
@mistymornings
@mistymornings 5 ай бұрын
This makes me appreciate Node/Express even more!
@ilovepandaypoe6056
@ilovepandaypoe6056 Жыл бұрын
I have implemented this to my actual project and it is insanely beautiful
@johnkost2514
@johnkost2514 Жыл бұрын
Nick is awesome! Bravo..
@yousafwazir3167
@yousafwazir3167 Жыл бұрын
Thanks learner a lot
@leakyabstraction
@leakyabstraction Жыл бұрын
Clean Architecture is surely not a panacea or a silver bullet. And it's easy to overdo, especially since the industry tends to overdo everything. At its core it's just some sane SRP considerations to apply on the higher levels of an application structure, e.g. it's good to have an interface layer (for example Rest API endpoints) well-separated from the application logic, and to create generalized interfaces for infrastructural services to serve as a boundary between external and internal concerns. While it's not common to replace DB implementation, it's much more common to replace generic external services like ecommerce APIs, accounting services, etc., and if those bleed deeply into a properly sized business logic or domain, that alone can cause a world of pain. IMO domain and application layer separation is usually not important. And yes, controllers are pretty trash. 😄 But what's way more trash, and very commonly seen even in this day and age, is a mind-bogglingly horizontal application structure with proper 1990 style tech folders, like models, services, helpers, validation, etc. It develops into a special type of horrible spaghetti code every single time, but many devs still haven't learned the value of screaming architecture, feature folders, and vertical slicing. (This last paragraph wasn't directed at the demo app shown btw. Obviously tech folders are fine for demos, since there is usually not enough 'meat' to derive or discriminate proper concepts that would drive the design of the application structure.)
@foro1
@foro1 Жыл бұрын
kzbin.info/www/bejne/gH7aYnqjf995bKM
@silop
@silop Жыл бұрын
Do you have a recommendation of any place where I can study application structure/architecture best practices?
@atomicazure
@atomicazure 28 күн бұрын
4:35 my favourite part of the whole video.🤣
@tareksalha
@tareksalha Жыл бұрын
Great presentation. I really like the comparison with Python and JavaScript
@dmitrykim3096
@dmitrykim3096 Жыл бұрын
I dont know sometimes I tend to prefer Java way of making things explicit instead of hiding everything behind syntax sugar making it even less readable .
@sigtermnull
@sigtermnull Жыл бұрын
"I use Arch btw" LOL 😂
@quranthecompanion4528
@quranthecompanion4528 Жыл бұрын
I just finished watching a movie. 🙂. Its an amazing episode. duly enjoyed. Thank you.
@mattpickel223
@mattpickel223 10 ай бұрын
@nickchapsas I really appreciated that well made transformers meme
@ZuvielDrama
@ZuvielDrama Жыл бұрын
As some1 how learned coding for himself on a c64, it was a big struggle to get compilers on pc's. I was a struggle to use all the warez stuff. I felt in love with the linux community and the great work of linus torvald and all the contributers who made linux great. I loved gentoo linux, i loved arch linux later on. Now i have a new job and have to code in c# and i really love it. I love the language, i love how the languages evolves and i think it's time to forgive microsoft for the fight against linux and open source... which is a hard emotional thing for me, because i really hated microsoft balmer/gates for it.
@GackFinder
@GackFinder 17 күн бұрын
What would a structure look like without the "FastEndpoints" package?
@chadsteelman2145
@chadsteelman2145 10 ай бұрын
This is cool for writing something that is literally just an API that only ever returns data and it certainly simplifies the development of those especially for new developers, but this isn't a replacement for MVC and other related patterns. You are not going to write something like an OAuth2 server with this where the same endpoint can sometimes return data, a view, redirect, etc. depending on the flow/client type. There is still routers and controllers, it is just hidden to you just like main in the program.cs, using statements, etc.. Also, DI and services being injected should already be available so you would just be referencing them, so no more memory being used, kind of the entire point of DI.
@rolandomedina7140
@rolandomedina7140 Жыл бұрын
I don't know man, seems like just smaller controllers to me with a different name.
@nickchapsas
@nickchapsas Жыл бұрын
It’s the other way round
@RichardDavenport
@RichardDavenport Жыл бұрын
Maybe you didn't pay attention...
@sneer0101
@sneer0101 Жыл бұрын
​@@RichardDavenport Grow up
@rolandomedina7140
@rolandomedina7140 Жыл бұрын
@@RichardDavenport Is that so? explain your reasoning
@yoseffixler6551
@yoseffixler6551 Жыл бұрын
That was an informative and well structured lecture. But most of all, it was an educational lecture on picking the head up from one's narrow work context, and watching the bigger picture of the community. The last sentences were a masterpiece. Besides, getting used to a paradigm is considered as a good practice only while keeping the mind open to examine the renewed and updated ones.
@Eirenarch
@Eirenarch Жыл бұрын
How much "way faster" are your single action controllers that you call "endpoints"?
@Av-fn5wx
@Av-fn5wx Жыл бұрын
Im planning to learn C# and .NET. Would I be able to understand this video or do i need C# and .Net proficiency to understand this. I'm primarily a Node & React dev. Thank You
@ranjitgill1974
@ranjitgill1974 Жыл бұрын
Where is the code for it please?
@anomalii7720
@anomalii7720 Жыл бұрын
And still doing the same: CRUD data. Next year something else than minimal API doing....the same.
@VisaNavigators
@VisaNavigators 4 ай бұрын
Where can I find the source code to follow the structure ?
@GackFinder
@GackFinder 17 күн бұрын
You can't. It's not available because reasons.
@YaroslavMinakov
@YaroslavMinakov Жыл бұрын
which IDE is he using ?
@adambickford8720
@adambickford8720 Жыл бұрын
Rider (jetbrains)
@abeare9616
@abeare9616 Жыл бұрын
I was in the middle of thinking "hmm that reminds me of NancyFx" and then..
@patrickrocchio7775
@patrickrocchio7775 Жыл бұрын
Where is the source code?
@Kesendo-MI6
@Kesendo-MI6 Жыл бұрын
On the one hand cool, on the other hand you are quickly lost, the code and the processes are not comprehensible.
@bananasba
@bananasba Жыл бұрын
So Minimal API is API that can not be used in any decent project without third party library like FastEndpoints. That is worse in some aspects than single method controllers. Certainly a way to go!
@kirillxt
@kirillxt Жыл бұрын
If you are asking that question after watching the video it's certainly not for you.
@stewiegriffin6503
@stewiegriffin6503 Жыл бұрын
meeeh meeeeh
@eda0076
@eda0076 Жыл бұрын
Why is he doing a duckface
@wolfgang999
@wolfgang999 Жыл бұрын
🤣
@carltongannett
@carltongannett Жыл бұрын
Unfortunately that’s what happens when you’re really good at C# 😢🦆
@EzequielRegaldo
@EzequielRegaldo Жыл бұрын
No native data validation, dangerous
@0x4b55
@0x4b55 Жыл бұрын
Ok, Minimal APIs is the future instead of MVC Controllers - but the last example uses FastEndpoints which is an alternative to Minimal APIs and MVC Controllers; now what is the point of the NDC talk? MVC Controllers are bad, Minimal-APIs are better but unfortunately not good enough - please don't use the Microsoft stuff but please use FastEndpoints which have a Minimal-APIs like architecture but don't use Minimal-APIs themselves.... But how bad are MVC controllers really - impressive 30% slower - that's a fraction of what the average software abstraction that software architects seem to invent every year easily consumes. Ok but MVC controllers have violated the single responsibility principle; yes exactly for 10 lines of code that an endpoint requires before going to the dedicated service provided by the DI container.
@admintkm
@admintkm 9 ай бұрын
I also was disappointed, because was waiting him to group minimal API's in files nicely using built-in stuff.
@HakunaMatata225
@HakunaMatata225 8 ай бұрын
can wait to retire and quit this miserable field!!!... wish I can switch fields before then!
@haroldpepete
@haroldpepete Жыл бұрын
why is the main topic in this video? he talked about a lot of things, you own me 54 min, what a mess this talk
@shinobi_313
@shinobi_313 Жыл бұрын
Is it a joke?)
@shinobi_313
@shinobi_313 Жыл бұрын
U are talking about simplicity on ‘hello world’ example…
@shinobi_313
@shinobi_313 Жыл бұрын
The idea of hiding and minimizing boilerplate code from product developer to make him think and implement business logic is great. Think this is a real idea behind this talk
@bananasba
@bananasba Жыл бұрын
Controllers never share state between actions - false claim.
@nickchapsas
@nickchapsas Жыл бұрын
Didn’t say that. I said that they never share state, so why are they sharing real estate, as in, the controller class
@ZuvielDrama
@ZuvielDrama Жыл бұрын
How i loved ruby / sinatra
Fix Your Controllers By Refactoring To Minimal APIs
14:56
Milan Jovanović
Рет қаралды 43 М.
Amazing remote control#devil  #lilith #funny #shorts
00:30
Devil Lilith
Рет қаралды 15 МЛН
ЛУЧШИЙ ФОКУС + секрет! #shorts
00:12
Роман Magic
Рет қаралды 36 МЛН
Don’t Build a Distributed Monolith - Jonathan "J." Tower - NDC London 2023
1:04:02
Goodbye controllers, hello Minimal APIs - Nick Chapsas - NDC London 2022
52:02
What's new in C# 13
40:03
dotnet
Рет қаралды 10 М.
Back to Basics: Efficient Async and Await - Filip Ekberg - NDC Oslo 2023
1:01:25
167. Should I Create A Minimal API Or Full API?
7:40
IAmTimCorey
Рет қаралды 38 М.
Don't Use Polly in .NET Directly. Use this instead!
14:58
Nick Chapsas
Рет қаралды 70 М.
Forget Controllers and Minimal APIs in .NET!
14:07
Nick Chapsas
Рет қаралды 75 М.