Building APIs with .NET and ASP.NET Core

Hi, I'm Spencer, and I'm super excited to be here at Frontend Masters to teach you about building APIs with ASP.NET Core.

Let's start with the spicy take of the year:

A Bold Declaration

.NET is the best platform for building web apps in the world.

And by extension, that makes ASP.NET Core the best web framework in the world.

About the Instructor

Hello! My name is Spencer Schneidenbach and I'm the instructor for this course. I'm excited to share my experience with you:

  • I'm the President and CTO of Aviron Software, a software consulting firm specializing in .NET development, Microsoft Azure, React, and React Native.
  • I've been recognized as a Microsoft MVP for nearly 10 years. My award area is Developer Technologies, specifically .NET.
  • I'm a .NET consultant with many years of hands-on experience. I've seen dozens of codebases across a huge array of companies from startups to enterprises.
  • I've spoken at conferences around the world on many different .NET topics.

My goal is to prepare you for professional .NET development. The material in this course comes directly from experiences I've had working on real projects.

The goal of this course

The goal of this course is to teach you how I build web APIs using .NET and ASP.NET Core. It's built from the ground up to be practical, pragmatic, and demonstrate how real applications are built, based on Spencer's experience as a consultant.

Whether you plan on using C#/ASP.NET Core in production or just want to build a few personal apps, this course is for you.

I'll also use this opportunity to build upon a few advanced C# subjects that are relevant to the topic at hand.

There are no ivory towers here. The course is meant for productivity because I want to help you ship stuff. I don't want to dictate the "one true way" to do things. I want to highlight what has worked well for me and what I've avoided to be successful and productive in .NET.

I also believe in minimizing "magic" in code - it should be easy for other developers to understand what is happening with a particular piece of code. That includes the .NET core libraries. Thus, we will be digging into actual decompiled source code as much as we can to understand more about what's going on under the hood.

Why Choose ASP.NET Core?

There are several compelling reasons to choose ASP.NET Core for your API projects:

  1. LOTS AND LOTS OF JOBS!: There is huge demand in the marketplace for .NET skills.
  2. Fun to use and write: I might be biased, but I have more fun when I write .NET than any other language and on any other platform.
  3. Open Source and Cross-Platform: .NET is fully open source and runs on multiple platforms.
  4. Strong Developer Ecosystem: Benefit from the "network effect" of a large, active community.
  5. High Performance and Scalability: Modern .NET is designed for efficiency and can handle projects of any size.
  6. Modern and Secure: Backed by Microsoft and regularly kept up-to-date.
  7. Plays nicely with others: ASP.NET Core pairs nicely with your favorite frontend framework. My favorite is React!

What You'll Gain from This Course

This course is designed to give you practical, professional-level knowledge of .NET:

  • Real-World Experience: Learn ASP.NET Core as it's used in actual projects, not just theory.
  • Professional Best Practices: Understand how experienced developers write ASP.NET Core, including what pitfalls to avoid.
  • Source Code Deep Dives: We'll examine real ASP.NET Core source code regularly.
  • Practical Examples: Throughout the course, we'll work through real-world scenarios to solidify your understanding.

Let's embark on this journey to master ASP.NET Core development together!

One last thing

Spencer is pretty opinionated. Opinions are useful because they help you make quick decisions - just don't be dogmatic about 'em - know when to hold 'em and when to fold 'em. Quick decisions are almost always better than analysis paralysis. Mistakes will happen, and ultimately that's a good thing.

Some mistakes will be made along the way. That's good. Because at least some decisions are being made along the way. And we'll find the mistakes. We'll fix 'em. -Steve Jobs, on building products, axing products, and making decisions

I used to have a saying to put things into perspecive when things were getting really crazy at work and we were freaking out over the Daily Crisis: Breathe. It's just software, we're not saving babies here. Now, to be clear, if you ARE saving babies or working on software that does, for crying out loud, don't breathe and make sure you've got unit tests! -Scott Hanselman

As I mentioned, this course is built from his real world experience and from that experience, he's got some spicy takes. Those will be denoted with the chili pepper sequence as follows: 🌶️🌶️🌶️