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

  Рет қаралды 141,973

NDC Conferences

NDC Conferences

Күн бұрын

Minimal APIs are the hottest .NET 6 feature and for good reason. They makes it extremely easy to create high performance and scalable APIs without having to deal with any boilerplate code. In this session I will introduce you to the beautiful world of Minimal APIs. I will show you how easy it is to build an API using them, with just a few lines of code, compare it to the "old-fashioned" approach within .NET in both amount of code and performance and see how it stacks up against other languages and similar frameworks. I will also show you how you can give them structure and how you can organise them, test them and use them in the real world.
Check out more of our featured speakers and talks at
www.ndcconfere...
ndclondon.com/

Пікірлер: 158
@larsthomasdenstad9082
@larsthomasdenstad9082 2 жыл бұрын
Great opening. :D You seem to do as well in-person as in your planned KZbin videos.
@nickchapsas
@nickchapsas 2 жыл бұрын
Thank you! If only where wasn’t a fire drill right before the talk 🥲
@TomBauto
@TomBauto 2 жыл бұрын
I didn't expect to see Nick in such conference, but he looks well prepared and I liked the whole presentation. Congratulations Nick!
@nickchapsas
@nickchapsas 2 жыл бұрын
Thank you!
@dmiradakis
@dmiradakis 2 жыл бұрын
Your self-awareness about how different tutorial file structures are vs. the real world file structures, your cadence and tone, and your extremely deep .NET knowledge is exceptional. Ignore the hate in the comments, this was a fantastic talk and I’m only halfway through right now. I think Javascript SPAs and C# minimal APIs are the stuff of the future, it’s the best version of JAMStack technology I could ask for. Great niche you’ve found.
@iliyan-kulishev
@iliyan-kulishev 2 жыл бұрын
If you're big on organizing the code around features, use cases, capabilities, if you you are fan of Vertical Slice Architecture, minimal APIs are definitely for you.
@rinzler9775
@rinzler9775 Жыл бұрын
Been on a couple of vertical slice projects - this is not new. Its always a balance between centralisation and vertical slice.
@01psychosocial10
@01psychosocial10 2 жыл бұрын
The audience doesn't aprechiat his humor nearly as much as it needs to be aprechiated :D
@Pistolen84
@Pistolen84 2 жыл бұрын
I'm 10 years in doing dotnet. Your my go to guy since I found you! Great talk! 🌟
@powerclan1910
@powerclan1910 2 жыл бұрын
i've been trying to explain this elephant to people for the past 8 years (as soon as i was in University). Finally getting confirmation. thx
@nonamezz20
@nonamezz20 2 жыл бұрын
That was such a quality presentation. Thank you Nick.
@lifelover69
@lifelover69 2 жыл бұрын
Brilliant talk, thanks Nick! Loved the analogies, the memes, the jabs and everything else 😄.
@nickchapsas
@nickchapsas 2 жыл бұрын
To say it is a dream come true and completely surreal to give a talk at NDC, the same conference that I grew up watching as a junior developer, is an understatement 🥹
@Dustyy01
@Dustyy01 2 жыл бұрын
More than deserved🔥✌️
@evanboltsis
@evanboltsis 2 жыл бұрын
3 ώρες για ένα gif που δεν εκτιμήθηκε όσο θα έπρεπε :P. Hopefully in the future, we will meet in person when you have another talk! Congrats!
@JOHNDATGOONV2
@JOHNDATGOONV2 2 жыл бұрын
I’ve been waiting for this! Incredible job!
@danielbub
@danielbub 2 жыл бұрын
Great talk man! Love your content!
@sharatha6533
@sharatha6533 2 жыл бұрын
Awesome Video @nickchapsas, also the way you presented it with added humour is better than your videos at times 🙂
@ArnonDanon
@ArnonDanon 2 жыл бұрын
This is a great talk, i really like the lego analogy. I liked you show your way of building a minimal api and how you might structure it to a mature software. thanks for all the great info and perspective.
@goldnutter412
@goldnutter412 2 жыл бұрын
"API world" soon !
@Moosa_Says
@Moosa_Says Жыл бұрын
Absolutely an amazing presentation Nick !! loved every bit of it
@XKS99
@XKS99 2 жыл бұрын
Excellent talk. I will give minimal APIs a shot on my next project.
@dave_s_vids
@dave_s_vids 2 жыл бұрын
Great to see you (virtually) up on stage! Well deserved :) Love your videos - good job on the talk!
@LewisCowles
@LewisCowles Жыл бұрын
Love Nick, and the example they provided
@lolyasuo1235
@lolyasuo1235 2 жыл бұрын
Hey Nick, nice to see you in such big confernce as Greek. I love Minimal APIs but when it comes to complex scenarios you end up with something to classic MVC and harder to maintain code. I believe they can coexist both, why do we need to choose? both have use cases.
@nickchapsas
@nickchapsas 2 жыл бұрын
Even for complex scenarios Minimal APIs are my choice. In complex scenarios it’s not the UI layer that is the actual complicated bit but rather the domain/application layer. I prefer the structure that Minimal APIs provide for that UI layer as explained in the talk
@StephenGillie
@StephenGillie 2 жыл бұрын
It's like we're moving to a point where all bracketed languages use the exact same terms and syntax. So we would write code once, then test across a number of runtimes to see which is fastest. Or choose a specific runtime for a special use, like when only one runtime has binaries for a specific OS.
@AdrienTorris
@AdrienTorris 2 жыл бұрын
Such a great talk! Congrats!
@SconedCyclist
@SconedCyclist 2 жыл бұрын
Haven't really been convinced about using minimal api's until you discussed the overhead of the traditional MVC controller api use-case. Side note: wth is up with the audience not picking up on the sprinkles of humor throughout the presentation?
@BK-19
@BK-19 Жыл бұрын
Thank you very much nick
@gusdeveloper531
@gusdeveloper531 Жыл бұрын
Such a good presentation.
@ricmrodrigues
@ricmrodrigues 2 жыл бұрын
"if you think this should return a 204, you are wrong" 🤣🎯
@mfsbo
@mfsbo Жыл бұрын
If you are looking for structure of minimal api head to 40:00 and watch Nick show his magic
@technics6215
@technics6215 2 жыл бұрын
Awesome... Working without this stuff is such waste of time...
@petewarner1077
@petewarner1077 2 жыл бұрын
Always great to discuss the issues you encapsulated in "the elephant in the room" with fellow developers with regards to controllers, actions and all that ceremony we inherited from MVC. Minimal APIs if nothing else gives us a good jumping off point to ask "can we do this a better way". Be careful where and when you introduce the elephant in the room though. Some devs are fanatical about controllers. Also there's a good chance a dentist from Ohio will pop out and shoot it.
@mkrass
@mkrass 2 жыл бұрын
Best crossover of 2022
@JoonhwanLee
@JoonhwanLee 2 жыл бұрын
Omg Nick on NDC!
@BrendonParker
@BrendonParker 2 жыл бұрын
I think minimal apis are cool. However, There is something to be said about using a standard “web api” approach. To use the Lego analogy… a five year old and a senior can come into the project and know how it is layed out, how to add new functionality, how to troubleshoot, extend, etc. With a custom “framework” on top of minimal apis, as demoed, the onboarding process for a new, or more junior dev is more challenging. The engineer in me totally wants to go off and do something similar and build my own micro framework. The experienced engineer in my has been scarred by these decisions in the past. Glad to see you at NDC! Long time subscriber.
@nickchapsas
@nickchapsas 2 жыл бұрын
I think I'm at a point where I wouldn't like it to be one. I believe that stripping it to its components (which is what Minimal APIs do) allows people to freely express themselves technically with the structure that they want. If Microsoft uses Minimal APIs to make a new Endpoints approach and that's the percieved "standard" then every other idea that the community creates and maybe adopts, can be shut down by companies or other developers/leadership just because it isn't the "standard" even though it might be a better approach
@janekschleicher9661
@janekschleicher9661 2 жыл бұрын
@@nickchapsas Yes, understood. But as software *engineers* we should aim more for standardized solutions than for art and creativity in most parts. I really like FastAPI, but in most projects I host professionally, I'd prefer much more a Django Solution. Much more than any microservice approach, just as it is more or less guaranteed that some standards are followed and not everything is reinvented. In my last project, people were using a Go Minimal API (with ProtoBuf) for a React Front-End and ended up reimplementing CRUD views, rapid proto typing for database objects (creating complex database entries like big boolean queries for subject matter experts), database performance inspection tools, dashboards, action triggering on databases, and so on (especially all the knowledge about best practices in security). Everything you would have got for free (and in standardized way) from every big webservice framework (Django, Ruby On Rails, Zend, Angular, ... and certainly also from .NET). Yes, the frontend and backend developers had much more creativity and I think they liked it a lot, but from my more external view (I was there as Data Scientist), this was ineffective, error prone, and hard to understand and maintain (so there were single point of failures in terms of staff = the bus factor, especially due to this creativity and individual solution). Fun Fact, I once tried to explain what would be possible when using such a big framework instead of a the minimal API approach used there and I got as answer: this has to be too good to be true?! (they would have also answered the question when they wrote the last time a view with negative, long time ago; but in the end it was a classical web application running in HTML in the browser on the desktop only inside the company, so a web framework including views would have been very useful in contrast to React + Microservice backend what is just more complex for not so much more outcome, unless you have to create a very dynamic and very interactive application, what is certainly true for any social application, but rarely for most professional applications used by subject matter experts) Whatever, when I've seen your lego castle comparison, my first instinct was that if inexperienced and very experienced tend to create a comparing similar solution, this should be the most striking factor to use the foundation for the solution (the big framework) in any professional, engineering work. For personal projects, prototyping, (and yes, pure API microservices), experimentation, ... the minimal APIs are great. But beyond, the freedom is a bit like the freedom to use goto-statements, pointer arithmetic, manual memory management, ... what all has to be proven to be troublesome for beginners and experts even though both love it.
@adriangodoy4610
@adriangodoy4610 2 жыл бұрын
@@janekschleicher9661 As software engineers we should aim to use the right tool for the problem we have in hand. Using a swiss knife for everything it's not always the best aproach
@abhishek_youtube
@abhishek_youtube Жыл бұрын
I am from india. And in India, Java is mostly preferred by new people as java is in course of many collage in India. C# is good. I also start using it when i joined a company. But yaah @nick correctly said new people should pic it . Microsoft should promote it to college level in India. Once you learn it , you will definitely use it for longer time.
@Grigorii-j7z
@Grigorii-j7z 2 жыл бұрын
Very good points about controllers origin and there misleading nature while developing APIs. Great overview in general.
@stefanbogdanovic590
@stefanbogdanovic590 2 жыл бұрын
Finally Master Nick!
@anatolia23
@anatolia23 2 жыл бұрын
Great talk Nick! Just one question, why don't you suggest to use Carter?
@Dimich1993
@Dimich1993 2 жыл бұрын
Good job, Nick! And please support Ukraine guys!
@GilbertoMadeira83
@GilbertoMadeira83 2 жыл бұрын
Great talk , Minimal apis always seemed like express apps to me, It is a good way to start some simple endpoints
@micha8469
@micha8469 2 жыл бұрын
Okay, I mostly agree it can be successfully used, but I am glad he showed that last example, too. In the end he created something very similar to a regular controller-based approach, but without a word controller and called it his choice. So, in the end something good that is his own choice ends up the same approach Web API uses. Isn't it a little like that? Come on, this final example looks 99% like Controllers + CQRS + MediatR + FluentValidation. Even more with that FastEndpoints library usage. I understand that you have a cleaner start, you start from 0% rather than 5% because controller-based approach kinda enforces its few features, but majority of those you'll end up using, anyway. Those examples work at educational level very well. But who can imagine a commercial API without filters, attributes or middlewares? That's just not gonna happen and you will end up setting up the same startup features, but call it a Minimal API, instead. It's not really worse, I'm closer to thinking there is barely any difference at all, so why bother. I'm not gonna call a difference existence or not of "controller" word in the process.
@adriangodoy4610
@adriangodoy4610 2 жыл бұрын
It's not exactly the same as every endpoint has it's file, Controllers usually agregate the get , post, delete ... in one file. You can bypass doing that, but by default it sends you there
@victorsantiago8739
@victorsantiago8739 2 жыл бұрын
The written code in .Net minimal APIs is like Node.Js + Express
@MrRapic
@MrRapic 2 жыл бұрын
Love the video!
@parlor3115
@parlor3115 2 жыл бұрын
I'm surprised you didn't plug your course here too
@ronnyek4242
@ronnyek4242 2 жыл бұрын
I feel like I don't necessarily buy into it. It just feels a bit like an early optimization. It reminds me of nancyfx, liek yes you can make more concise API's, but then you lose organizational capabilities that controllers provide, and have to fill in with other mechanisms. I'm not deadset on not using it, but I've still yet to see super lucrative arguments that made me think "Oh man, I need to start building apis this way, not how .net does it" (still watching video, so I may have an AHA moment)
@LiquaFoo
@LiquaFoo 2 жыл бұрын
“You lose organizational capabilities” that’s where project structure comes into play. If you understand domain driven design or other architectural patterns you now have the choice to build your own organizational structure which is what he’s done. I believe his project is organized using “clean” architecture and some domain driven design nomenclature. So sure Controllers may help you organize your code but with the trade off being more bloat.
@ryoukokonpaku1575
@ryoukokonpaku1575 2 жыл бұрын
Also when talking about microservices. If you use code generated contracts like with Grpc which is usually common for microservices these days due to support for stuff like 2 way streaming and overall being smaller over the wire, you end up with "Controllers" classes still where you implement your grpc contract. Then there's filters and versioning that we usually use for apis that minimal doesn't support yet so I don't think we'll be using minimal apis that much either. Also for the issue on services you can always use `[FromServices]` to inject the service as a method like how it's done for minimal apis.
@ShamilMS
@ShamilMS 2 жыл бұрын
Nick, thank you for your great talk! What development IDE are you using? - It first appears in your presentation at 9:34 .
@Pobiega
@Pobiega 2 жыл бұрын
Nick uses Jetbrains Rider
@danielschmider5069
@danielschmider5069 2 жыл бұрын
Why does everything start with Map? MapGet, MapPost, why not just use Get and Post? What even is "Map" ?
@abrrrakadabrrra
@abrrrakadabrrra 2 жыл бұрын
this will be fixed in .net 10 🤣
@GeriatricMillenial
@GeriatricMillenial 2 жыл бұрын
Just curious, what terminal and extensions for that terminal are you using?
@merabc
@merabc 2 жыл бұрын
When you have a complex task with large scale project then it's necessary to have some design structure, there is not a meter of minimal API concept
@dennisvandermeer8238
@dennisvandermeer8238 2 жыл бұрын
Great video but I am curious about something small. Your default port for a new project is 5000 / 5001. For me this is never the case. Of course I can change it afterwards via the methods you describe in your course but how can this be changed by default for each project generated?
@mouradaissani8957
@mouradaissani8957 2 жыл бұрын
nice talk thank you, oh by the way , you do have legs for real lol
@mariocamspam72
@mariocamspam72 2 жыл бұрын
He is very attractive indeed
@neunistivlija
@neunistivlija 2 жыл бұрын
Good thing is that I made this myself years ago, hated controllers
@oleggavrilov7083
@oleggavrilov7083 2 жыл бұрын
And nancyfx did that 10 years ago too, so what? Nobody cared until it got into the default templates
@yoannvisentin3465
@yoannvisentin3465 2 жыл бұрын
Nice talk , thanks Nick. Just one question where does come from the class EndPoint ? I didn't find anything on it online. Thanks.
@yoannvisentin3465
@yoannvisentin3465 2 жыл бұрын
Ok I found. I presume it's coming from the nuget : MinimalApi.Endpoint
@nickchapsas
@nickchapsas 2 жыл бұрын
It’s coming from the nuget package FastEndpoints
@yoannvisentin3465
@yoannvisentin3465 2 жыл бұрын
Thanks Nick!
@rahulsahay19
@rahulsahay19 2 жыл бұрын
There is no question about that dotnet has plethora of services which is at par from java. But only thing which I still don't understand, why despite so many goodness no FAANG or MAANG company uses it. And because of that its follower companies also don't embrace Microsoft technologies. This makes dotnet a second class citizen. Even fancy startups which are coming, even they are not using. Not sure what Microsoft is doing about it.
@janedoe6182
@janedoe6182 2 жыл бұрын
Microsoft invented node-style web framework on their .NET?
@vivekkaushik9508
@vivekkaushik9508 2 жыл бұрын
Awesome
@surakshachoudhary2880
@surakshachoudhary2880 2 жыл бұрын
What IDE is this and why is it not Visual Studio?
@nickchapsas
@nickchapsas 2 жыл бұрын
It is JetBrains Rider and it's not VS because it's better than VS
@sentinel9046
@sentinel9046 2 жыл бұрын
What tool are you using to test the API?
@nickchapsas
@nickchapsas 2 жыл бұрын
It’s built into JetBrains Rider
@sentinel9046
@sentinel9046 2 жыл бұрын
@@nickchapsas Thank you
@clashclan4739
@clashclan4739 2 жыл бұрын
The problem is you don't choose the project, project choose u and u have to go in a way that outdated sr manager/sr architect designed that project 🤕
@jhbonarius
@jhbonarius 2 жыл бұрын
I actually failed a coding interview because I used a minimal API. Good for me, because I don't want to work for a company that refuses new tech.
@nickchapsas
@nickchapsas 2 жыл бұрын
I was about to say when I read the first half of then answer. Even if the favourite approach of the interviewer is another way, they shouldn't fail you on the interview
@ronnyek4242
@ronnyek4242 2 жыл бұрын
I wouldn't want a job for a company that uses those types of questions as criteria for hiring. I very much believe in handing a candidate a arbitrary task... go build me something that does x. Explain your choices, and take your time. I've had FAR FAR better results with that
@jhbonarius
@jhbonarius 2 жыл бұрын
@@ronnyek4242 yes, it was a bad interviewer. Didn't even get the chance to explain. I got a better job at a better company in the end. Happy happy joy joy
@heshanwijerathna
@heshanwijerathna 2 жыл бұрын
The experience
@dddanielsr
@dddanielsr Жыл бұрын
I had to map controllers because the main file was getting too big. What can I do?
@ulilulable
@ulilulable 2 жыл бұрын
Coming from the MVC world, I thought this video would be about transitioning from MVC to some new thing called "Minimal APIs", and I sat here waiting for when this would go from web REST stuff to application MVC stuff...
@Joooooooooooosh
@Joooooooooooosh Жыл бұрын
Minimal APIs are great for KZbin demos. Not so much in the real world.
@krftsman
@krftsman 2 жыл бұрын
This looks just like Nancy from 10 years ago.
@serus164
@serus164 Жыл бұрын
47:57 well this didn't age well...
@metaltyphoon
@metaltyphoon 2 жыл бұрын
Damn, great talk but though crowd :/
@nickchapsas
@nickchapsas 2 жыл бұрын
The crowd was awesome but the mic doesn’t pick up everything. The talk was also the last of the day and there was a fire drill before so many people left, understandably
@checox1909
@checox1909 2 жыл бұрын
I love the nick chapsas content, but I'm still thinking MINIMALS APIS WON'T REPLACE CONTROLLERS, even the Microsoft documentation says Minimal APIs have a specific use (for Microservices Architecture or Low code applications, that means apps with MINIMAL dependencies) This is complete miss information of the concept about Minimal API's
@markcuello5
@markcuello5 2 жыл бұрын
HELP
@michaeldeng1981
@michaeldeng1981 2 жыл бұрын
.Net is much better than Java now
@johnny_rain3226
@johnny_rain3226 2 жыл бұрын
You are great, and a very good lecturer, but I realy don't like this mess.
@nickchapsas
@nickchapsas 2 жыл бұрын
By this mess you mean Minimal APIs as a feature?
@johnny_rain3226
@johnny_rain3226 2 жыл бұрын
@@nickchapsas Also, but the real mess is the lack of classess and methods since. NET Core arrived, maybe I am an old school conservative or that I have not developed to much with core because in my day job we are still in dot net 4.5, but it takes me out of context when reading a code without the traditional structure. Anyway you have explained it realy good and I realy like your content 👌
@Jkauppa
@Jkauppa 2 жыл бұрын
Nobody Doesnt Care (tm)
@michaelganzer3684
@michaelganzer3684 2 жыл бұрын
What a pity lots of this was already readily available with WTF, I mean WCF, but no one cared. Plus, having people watch, how it's possible to do shit, is like teaching them how to do shit, because they nowadays don't care for understanding stuff, they only care for having heard about it and converting it into likes and clicks. I know, I know, this video is intended for the well developed, blah blah. I don't buy it. Nick, you are restricting yourself to a fan boy. I'm out. ;)
@robadobdob
@robadobdob 2 жыл бұрын
Really looking forward to your video series.
@rahulmathew8713
@rahulmathew8713 2 жыл бұрын
All the api in the main program.cs lol, r u kidding, Its a violation of separation of concerns
@nickchapsas
@nickchapsas 2 жыл бұрын
Did you even watch the talk?
@noahchase295
@noahchase295 2 жыл бұрын
Just abandon C# and start using Nodejs/Express. Only Angular 2 used controllers, now latest version is 14. C# is so behind in using modern day web development techniques.
@noahchase295
@noahchase295 2 жыл бұрын
@TheSnowscar Typescript filled the gaps in javascript lang. Its solved challenges in scaling java-script apps. It has changed web development for ever. Now types is a must fave feature for all programming languages for adoption. NPM is is the biggest library repo in the world, what limitation are you talking about? C# is trying to catchup to Nodejs.
@michaelnurse9089
@michaelnurse9089 2 жыл бұрын
@TheSnowscar Thanks
@petewarner1077
@petewarner1077 2 жыл бұрын
Fan Boys' gonna fan, I guess. How about "Just abandon javascript and just use C#. We've had async-await for _ages_. And classes! Javascript is so far behind" Honestly, grow up. Loving your stack doesn't require tearing down others. Leave people to their own choices and keep an open mind.
@weifengmao
@weifengmao 2 жыл бұрын
Love the subtle jab at the whole Hot reloading mess Microsoft created a year or so ago.
@georgebeierberkeley
@georgebeierberkeley 2 жыл бұрын
Yeah Hot Reload is a total joke. As is the build time of vs 2022. So darn slow.
@rinzler9775
@rinzler9775 Жыл бұрын
​@@georgebeierberkeley I found 2022 faster - buy spent some time tuning and turming off stuff. Hot reload was onevof them.
@robl39
@robl39 2 жыл бұрын
I liked Chapsas before this but the Lego example solidifies my loyalty!
@taufanaugusta8884
@taufanaugusta8884 2 жыл бұрын
That Megazord had me wheezing. LMAO.
@mfsbo
@mfsbo Жыл бұрын
For any software team with junior and senior Devs talk from 30:00 min to 38:00 is good example of what can freedom to build mess up in software. Thanks to Nick, his uncle, his Nephew for building castles as example.
@abcdef-wy9xo
@abcdef-wy9xo 2 жыл бұрын
This is true. I was hating controllers and I thought I am dumb to understand its goodness, but controllers are not he best and changing a class for changing a endpoint is not good. Good talk.
@alexclark6777
@alexclark6777 2 жыл бұрын
Was expecting the first line of this talk to be "Hello everybody I'm Nick!"
@qm3ster
@qm3ster 2 жыл бұрын
Why show Go and not Rust 😭
@barryvanlandeghem1909
@barryvanlandeghem1909 2 жыл бұрын
Still would like to hear about the missing odata support for minimal apis
@malinaeemi8603
@malinaeemi8603 2 жыл бұрын
last point is something that makes most sense, really. Otherwise, even in other languages, that provide "minimal api" by default, they have frameworks that look more close to typical .net or java and they are preferred over these "typical" approaches for a very good reason. Besides, when you are creating or even refactoring a large system, be it monolith or microservice, you will end up writing bunch of boilerplate..where minimal api will just increase your work and you will end up writing patterns that typical .net development already follows. It has its use-cases, a bunch of them, i.e. edge. But it doesn't fit with the analogy you were trying to portray in the middle of this otherwise really great talk.
@itachi2011100
@itachi2011100 2 жыл бұрын
really nice presentation but damn this language is hard to read.
@HansenPL
@HansenPL 2 жыл бұрын
Great presentation, thank you.
@dvdrelin
@dvdrelin 2 жыл бұрын
Brilliant. Thanks
@lepidoptera9337
@lepidoptera9337 Жыл бұрын
That was a lot of fluff. Nothing useful here.
@RandalGJunior
@RandalGJunior 2 жыл бұрын
I think you should walk a little less. You probably would win a marathon... 😅
@nickchapsas
@nickchapsas 2 жыл бұрын
Hahaha I can’t. If I don’t walk it all falls apart for some reason 😅😅
@josepvg
@josepvg 2 жыл бұрын
Nick is brilliant!
@adambickford8720
@adambickford8720 2 жыл бұрын
ANT is far more flexible than Maven... and it was a trainwreck. Every build was a snowflake and just getting things to run could be a major effort. The reality is you are likely going to be building a bog-standard rest app converting data to json. Don't overthink it.
@vivekkaushik9508
@vivekkaushik9508 2 жыл бұрын
You should mention Presenter's github in description.
@rankarat
@rankarat 2 жыл бұрын
I really liked the video and the explanations, but you should give the proper respect where its due, the Person who developed FastApi should get his honor .
@nickchapsas
@nickchapsas 2 жыл бұрын
I will add a shoutout to Sebastián Ramírez the next time I do this talk which will probably be in Oslo
@josephang9927
@josephang9927 2 жыл бұрын
Smart and Handsome as always :)
@fifty6737
@fifty6737 2 жыл бұрын
Nick is awesome, very awesome presentation
@okcharles7
@okcharles7 Жыл бұрын
right. no body wants to warm up tons of hours before taking the first step. JS was humbler than C# but now is taking the throne and will. Its flame is fueled by huge A.
@ConnorZ
@ConnorZ 2 жыл бұрын
Overall the presentation was very good but I’m quite disappointed that he didn’t use any “random” numbers of 69 or 420 with a live crowd, you had such a good opportunity😭😂
@nickchapsas
@nickchapsas 2 жыл бұрын
When I tell you I changed the demo last minute and I forgot to add them in! I’m fuming. I’ll get them back in for the next conferences
@ibm_7
@ibm_7 Жыл бұрын
bla bla bla bla bla... one hour talking about nothing. really waste of time watching this. could have been done in 10 minutes.
@Eirenarch
@Eirenarch 2 жыл бұрын
The endpoints in the demo are simply controllers with 1 action. CMM!
@Sebastian-hg3xc
@Sebastian-hg3xc Жыл бұрын
I should have started reading the video description. I thought this guy was going to explain some paradigmn shift. He isn't. He's just talked about some old thing now being possible in .NET (and who really cares about .NET). Fortunately, I only wasted 10 minutes.
@Erril_Ferndal
@Erril_Ferndal 2 жыл бұрын
This might be something for Microservices, but for the majority of the applications Minimal APIs does not fit. Why should I create 20 APIs first in the Program.cs and then (because its a mess) move them in another file just to have another Controller like file. And I would have to deal with new syntax. 👎👎👎
@nickchapsas
@nickchapsas 2 жыл бұрын
You don’t need to do any of that. I highly recommend you watch the talk. I cover this topic
@ryoukokonpaku1575
@ryoukokonpaku1575 2 жыл бұрын
Not even likely for microservices if you use Grpc which is pretty common for microservices comms nowadays. The services are basically like controllers still since you inherit the base class for the generated service contract or implement an interface if using code first using protobuf-net and I don't see that changing anytime soon to be used as minimal apis due to the nature of generating service contracts.
@rolf8064
@rolf8064 2 жыл бұрын
Because you are doing an Agile project? And features are built endopoint after endpoint? And you fainally choose to do a refactor, only when you have an idea about the architecture you desire?
@adambickford8720
@adambickford8720 2 жыл бұрын
This is also in kotlin as well as java via spring, welcome to the party. It's kind of hilarious calling spring/jvm 'minimal' but API-wise it is: Kotlin Ktor: fun Route.customerRouting() { route("/customer") { get { } get("{id?}") { } post { } delete("{id?}") { } } } Java Spring: route(GET("/employees"), req -> ok().body( employeeRepository().findAllEmployees(), Employee.class)) .and(route(GET("/employees/{id}"), req -> ok().body( employeeRepository().findEmployeeById(req.pathVariable("id")), Employee.class))) .and(route(POST("/employees/update"), req -> req.body(toMono(Employee.class)) .doOnNext(employeeRepository()::updateEmployee) .then(ok().build())));
@jyvben1520
@jyvben1520 2 жыл бұрын
.net should have been in the title, a waste of time
Goodbye controllers, hello Minimal APIs - Nick Chapsas - NDC London 2023
54:28
The Next Decade of Software Development - Richard Campbell - NDC London 2023
1:07:05
My daughter is creative when it comes to eating food #funny #comedy #cute #baby#smart girl
00:17
Officer Rabbit is so bad. He made Luffy deaf. #funny #supersiblings #comedy
00:18
Funny superhero siblings
Рет қаралды 7 МЛН
SHAPALAQ 6 серия / 3 часть #aminkavitaminka #aminak #aminokka #расулшоу
00:59
Аминка Витаминка
Рет қаралды 1,7 МЛН
Your website does not need JavaScript - Amy Kapernick - NDC Oslo 2024
43:37
Every single feature added in C# 11
27:07
Nick Chapsas
Рет қаралды 111 М.
Back to Basics: Efficient Async and Await - Filip Ekberg - NDC London 2022
1:01:59
Domain-Driven Refactoring - Jimmy Bogard - NDC London 2022
1:00:03
NDC Conferences
Рет қаралды 45 М.
Change your habits: Modern techniques for modern C# - Bill Wagner
55:46
NDC Conferences
Рет қаралды 251 М.
Minimal APIs in ASP.NET 7.0 - Rob Richardson - NDC London 2023
1:05:35
NDC Conferences
Рет қаралды 5 М.
8 await async mistakes that you SHOULD avoid in .NET
21:13
Nick Chapsas
Рет қаралды 313 М.
OAuth 2.0 and OpenID Connect (in plain English)
1:02:17
OktaDev
Рет қаралды 1,7 МЛН
Microservices using SpringBoot 3.0 | Full Example [NEW]
1:25:38
Daily Code Buffer
Рет қаралды 187 М.
My daughter is creative when it comes to eating food #funny #comedy #cute #baby#smart girl
00:17