D ino Esposito is a digital strategist at BaxEnergy who has authored more than 20 books and 1,000 articles to date. His programming career has so far spanned 25 years. It is commonly recognized that his books and articles helped the professional growth of thousands of .NET developers and architects worldwide. Dino started back in 1992 as a C developer and witnessed the debut of .NET, the rise and fall of Silverlight and the ups and downs of various architectural patterns. He now looks ahead to Artificial Intelligence 2.0 and Blockchain and is the author of The Sabbatical Break, a theatrical-style work to travel the uncontaminated spaces of imagination hyperlinking software, literature, science, sport, technology, art. Get in touch at http://youbiquitous.net.
Introduction
We need men who can dream of things that never were, and ask why not.
President John F. Kennedy, Speech to the Irish Parliament, June 1963
S ome aspects of the ASP.NET Core story remind me of the beginning of the ASP.NET adventure more than 15 years ago. A very young Scott Guthrienow a Microsoft VPpresented a new thing called ASP+ to a small audience of web developers in London in the fall of 1999. Those were the days of Active Server Pages, and ASP+ was trying to introduce a new syntax for moving the VBScript code back to the server and express it through a compiled language. ASP+ was a real breakthrough.
At the time of the presentation, there was no public awareness of the .NET thing yet, which would not be publicly disclosed until the following summer. The demos Scott showed, including a jaw-dropping Web Service example, were coming out of a standalone runtime environment based on a custom worker processa console applicationcapable of listening on the port 80. The first demos used plain Visual Basic and C++ code against the Win32 API. In a short time, the whole ASP+ thing was quickly consumed by the new .NET Framework and eventually became ASP.NET.
ASP.NET Core, too, was first presented as a new standalone framework rewritten from scratch to take the Microsoft web stack to another level of scalability and performance. However, in doing so, the team glimpsed the enticing opportunity to make the ASP.NET Core framework available on multiple platforms. To achieve that goal, a subset of the .NET Framework had to be made available on target platforms, and this meant a new .NET Framework had to be created. And, in the end, this is just what happened.
For too long, ASP.NET Core was a moving target and the mechanics moving the target were not clear to anyone, and they werent always communicated timely and effectively. Twenty years ago, we (thankfully?) lacked the instant sharing attitude that social media imposes today. Also, ASP+ probably was a moving target, but nobody outside Microsoftand the people directly involvedever knew about that.
While the pillars of the ASP.NET and ASP.NET Core stories might be seen as being the same, runtime conditions are fairly different. The web before ASP.NET was a web in its infancy, with limited availability of scalable server-side technologies and without scalability itself being the serious issue it is today. At the same time, a great many applications were potentially ready to be rewritten for the web, and they were just awaiting a reliable platform from a reliable vendor.
Today, many frameworks exist today that could be used instead of ASP.NET Core. However, ASP.NET Core is not just frontend; ASP.NET Core is also backend, Web API, and small and compact web (containerized) monoliths to be deployed standalone or within a service fabric. ASP.NET Core also can be used on multiple hardware/software platforms.
Its really hard to say whether ASP.NET Core is a must in the near futureor even at presentof every company and team. For sure, ASP.NET Core is the natural follow up for ASP.NET developers and the incarnation of another full-stack solution for web development on a variety of platforms.
Who should read this book
This book is not for absolute beginners, at least not in the sense of newbies without at least a superficial understanding of web development. It is tailor-made for existing ASP.NET developers especially those with an MVC background. At the same time, this book is a good fit for expert web developers, especially those with an MVC background but who are new to ASP.NET. Even though ASP.NET Core is brand-new, it does have a lot of common points with ASP.NET MVC (and to a much less extent, Web Forms).