- Learning ASP.NET Core 2.0
- Jason De Oliveira Michel Bruchet
- 789字
- 2025-02-21 04:51:25
Foreword
If I find the right solution, you have to offer me a coffee!—An informal discussion between a software development veteran and a newbie around the coffee machine.
Working as a professional in software development for over 20 years, I have been lucky to be an actor and user of .NET technologies since the early beginnings. While working on many software development projects as tech-lead and application architect, I was also one of the first MSDN seminar and DevDays speakers in France and Switzerland, teaching and explaining the amazing new features of C# Beta 1 a long time ago.
I still remember the first French edition of the Professional Developer Conference (PDC) in 2001, where Microsoft's evangelists showed the first public demo of .NET, C#, and ASP.NET (it was Web Forms era). Every attendee, who were mostly developers, writing rich VB6 client applications or web applications using ASP, VBScript, or Visual InterDev, had discovered how easy it was to write .NET applications using the already well-known paradigms from VB6. However, they also learned how professional tooling offered by .NET and Visual Studio together with modern languages such as C, C++, or Java could lead to more productivity and efficiency. It was a big success.
As a result, I spent a lot of time learning and acquiring deep knowledge of .NET, the CLR, and other CLR languages (C#, VB.Net, and C++/CLI) either through professional projects, personal applications, blog posts, or by speaking about various subjects during technical events and conferences.
At that time, high-quality technical information was concentrated on some reference websites (with special tributes to the fabulous Dotnet Guru, TechHeadBrother).
Since then, the internet and its major application—the web—became essential to the world economy. Then, cloud computing appeared. It allowed exceptional growth, faster than ever, which not only transformed software hosting and development practices, but also business models. Time-To-Market became very important, which meant that the development of applications and services had to be done in an extremely short and fast time scale to have an advantage over the competition.
Regardless of the size of the project, it became inevitable to envision continuous delivery, continuous integration, test automation, and build pipelines. Topics such as Scale-out, microservices and clouds patterns, operating system agnostic technologies, IaaS/PaaS/SaaS, API cultures, and other trendy subjects had to be considered and integrated in application architecture and design decisions.
Today, choosing a development technology is not guided by the hosting operating system anymore, but instead by the matching of application requirements and the richness of the technical ecosystem around that technology (developer community, additional software packages, compatibility and interoperability with other technologies and so on).
.NET succeeded in its evolution (or maybe even its revolution?) mainly because it was adapted to match these new requirements and development processes. It transformed from an open and standardized platform (since 2002: ECMA-334 and ECMA-335, with the shared source CLI 'Rotor' implementation, then ISO-23270 since 2003) into a new multi-platform technology. With .NET Core and ASP.NET Core, it reached even farther by fully embracing the collaborative open source development concepts and methodologies. This allows .NET to remain on the top list of 'first-class citizen' technologies, seamlessly adapted to cloud providers (Microsoft Azure, Amazon AWS and so on).
The fast-changing characteristics of development technologies entails to quickly identify trustable information sources and reliable learning channels for newbies and even for more experienced developers. This continuous knowledge quest is one of the most interesting and inspiring tasks of our job.
The internet contains such a vast quantity of information with more or less documented code samples (from few lines to thousand lines of code) and varying quality, that finding the right information to a problem is a challenge by itself.
As the saying goes: too much information, kills the information. If you need a guided journey for a technology, ranging from the starting point to the target line, the choices can be very limited or lost in a crowd of information.
Being able to trust professionals who make their professional experiences accessible through a didactic book is an awesome gain of time and productivity, which will also increase the quality of your future code.
During these past few years, I had the opportunity to collaborate with Jason and Michel at multiple times. Whether it be in the Microsoft Most Valuable Professional (MVP) and Regional Director (RD) worldwide community, or through joint professional projects.
I feel perfectly safe letting you start a fabulous journey with ASP.NET Core 2.0 and this book.
Good reading … and you will no longer have to thank veterans with caffeinated drinks anymore … you will become a veteran yourself!
Nicolas Clerc
Cloud Architect, Microsoft France