Book Image

Apps and Services with .NET 8 - Second Edition

By : Mark J. Price
5 (7)
Book Image

Apps and Services with .NET 8 - Second Edition

5 (7)
By: Mark J. Price

Overview of this book

Elevate your practical C# and .NET skills to the next level with this new edition of Apps and Services with .NET 8. With chapters that put a variety of technologies into practice, including Web API, gRPC, GraphQL, and SignalR, this book will give you a broader scope of knowledge than other books that often focus on only a handful of .NET technologies. You’ll dive into the new unified model for Blazor Full Stack and leverage .NET MAUI to develop mobile and desktop apps. This new edition introduces the latest enhancements, including the seamless implementation of web services with ADO.NET SqlClient's native Ahead-of-Time (AOT) support. Popular library coverage now includes Humanizer and Noda Time. There’s also a brand-new chapter that delves into service architecture, caching, queuing, and robust background services. By the end of this book, you’ll have a wide range of best practices and deep insights under your belt to help you build rich apps and efficient services.
Table of Contents (19 chapters)
18
Index

Improving startup time and resources using native AOT

Native AOT produces apps and services that are:

  • Self-contained, meaning they can run on systems that do not have the .NET runtime installed.
  • Ahead-of-time (AOT) compiled to native code, meaning a faster startup time and a potentially smaller memory footprint. This can have a positive impact when you have lots of instances (for example, when deploying massively scalable microservices) that are frequently stopped and restarted.

Native AOT compiles intermediate code (IL) to native code at the time of publishing, rather than at runtime using the Just-In-Time (JIT) compiler. But native AOT apps and services must target a specific runtime environment like Windows x64 or Linux ARM.

Since native AOT happens at publish time, while debugging and working live on a project in your code editor, it uses the runtime JIT compiler, not native AOT, even if you have AOT enabled in the project! But some features that...