.NET Framework for Web
Episode Thirty Nine
Intro
I'm Peter and this is the RoguePlanetoid Podcast where you will find insights about Microsoft or related platforms and technology, along with so much more whether you are beginner or an experienced professional or just interested in technology. Keep Current, Keep Coding!
Welcome
Welcome to episode thirty-nine of the RoguePlanetoid Podcast about .NET Framework for Web. .NET Framework ushered in new era for web developers with ASP.NET later joined by the browser-based subset of Silverlight. .NET Framework not only evolved desktop development for Windows with Windows Forms and Windows Presentation Foundation but also introduced the ability to leverage the power of .NET Framework on the web using Windows with the introduction of ASP.NET. If you want to find out more about .NET Framework for Desktop, then check out Episode Thirty Eight of the RoguePlanetoid Podcast or check out the link in the show notes.
ASP.NET
.NET Framework when it launched in 2002 also introduced ASP.NET with Web Forms, which was a departure from Active Server Pages first introduced in 1996, known as Classic ASP which had inline scripts mixed with HTML with no separation of concerns although it was possible to leverage functionality from Visual Basic. ASP.NET with Web Forms enabled compiled code-behind using an event driven programming model, with common server controls such as buttons and textboxes that used ViewState to preserve user interface state, that could be created with drag-and-drop development in Visual Studio, delivering the desktop development experience of Windows Forms to the web, enabling rapid development and creation of enterprise applications with ASP.NET and WebForms that could leverage the power of .NET Framework.
ASP.NET with WebForms was my first experience of web development beyond HTML and CSS, and although it could be productive it could be very complex and difficult to work with, although I did use it professionally to create an online second-hand bookstore which was an evolution of an existing Classic ASP-based website. ASP.NET would evolve and introduce Model View Controller or MVC in 2008, which had a clearer separation of concerns, removed ViewState, featured cleaner REST-friendly URLs along with more testable controllers and more control over the HTML. ASP.NET MVC would be the approach going forward for me professionally, which included combining ASP.NET with the desktop-based Windows Presentation Foundation leveraging .NET Framework to create a content generation system, and more complex fully featured websites or web applications.
ASP.NET with WebForms in .NET Framework had evolved with MVC which further progressed with the introduction of Razor syntax, which replaced the older ASPX view engine along with other changes but was still bound to Windows. However, ASP.NET Core introduced with modern .NET in 2016 rebooted the entire web-stack for a cross-platform, modular and fast framework. It combined Model, View, Controller, Web API and Razor Pages along with SignalR and Middleware pipeline but dropped Web Forms. ASP.NET Core MVC with modern .NET is something I have been using professionally for many years to this day, including as the foundation for Blazor, or personally such being a technical reviewer for a book on Minimal APIs, which is a method of creating modern web APIs using less boilerplate in ASP.NET Core.
Silverlight
ASP.NET enabled server-side applications with .NET Framework, however in 2007 Microsoft introduced Silverlight for browser-based applications, initially supporting JavaScript but subsequently supporting a subset of the Windows desktop and web server-based .NET Framework, and XAML or Extensible Application Markup Language an XML-based HTML like language from the desktop-based Windows Presentation Foundation, that could be used to bridge designers and developers to create rich internet applications using a cross-platform runtime in the browser, supporting a host of common controls along with multimedia, graphics and animation including providing video streaming services from companies such as Netflix. Silverlight could be used to create rich internet applications using familiar .NET features using Visual Studio, that ran in the browser although later versions of Silverlight also supported out of browser applications that could also run on desktop.
Silverlight for the browser was a natural progression from the desktop-based Windows Presentation Foundation, something I focused on for my own personal learning to create tutorials that brought much of what I had done on desktop to the browser, such as text editor, drawing package and virtual keyboard or games such as noughts and crosses, memory game and playing cards. Silverlight was also an opportunity to show more tutorials such as integrating feed from a webcam, recording audio and demonstrating control customisation. Silverlight enabled me to bring my desktop development skills from Windows Presentation Foundation to the browser which also included creating my own applications, such as being able to create image-based cards from Zune Social from the Zune Music service or export contacts and appointments for use on a Zune device, Microsoft's music player.
Silverlight brought desktop development to the web to enable experiences in the browser but as browsers evolved those experiences increasingly became natively supported, and the need and demand for technologies such as Silverlight started to reduce, although it did become the foundation for another platform, Windows Phone, Silverlight itself drifted into legacy with browser functionality replacing much of what Silverlight offered. Today the idea of running .NET in the browser is a key part of the modern .NET ecosystem thanks to Blazor and WebAssembly, or third parties such as Uno Platform, Avalonia and especially OpenSilver, where it is possible to bring XAML or even Silverlight back to life and to the browser. You can find the Silverlight tutorials I created at cespage.com/silverlight or check out the link in the show notes.
Conclusion
ASP.NET evolved web development from Classic ASP to leverage the power of .NET Framework to create rich server-side internet applications, developed with WebForms which brought the desktop-style development of Windows Forms to the web, or later with the streamlined Model View Controller or MVC approach which modernised the platform into the age of ASP.NET Core, where it remains a key part of modern .NET further enhanced and simplified with minimal APIs to create web apps and web APIs.
Silverlight brought a subset of desktop development from Windows Presentation Foundation to the browser, enabling the creation of rich browser-based internet applications that could even run out of browser on desktop. Silverlight bridged the gap for many features until browsers themselves could support them, and the idea of Silverlight remains to this day with Blazor WebAssembly or third-party platforms which bring modern .NET to the browser, to modernise legacy experiences or create new ones.
Outro
Thanks for listening to the RoguePlanetoid Podcast where each episode you will find insights about Microsoft or related platforms and technology, along with so much more wherever you listen to your podcasts or at rogueplanetoid.com/podcasts for the RoguePlanetoid Podcast whether you are a beginner or an experienced professional or just interested in technology. Keep Current, Keep Coding!
- Website - rogueplanetoid.com/podcast
- X - x.com/rogueplanetoid
- YouTube - youtube.com/@rogueplanetoid
- RoguePlanetoid Podcast - Episode Thirty Eight - .NET Framework for Desktop
- CESPage.com Silverlight - cespage.com/silverlight
RoguePlanetoid Podcast is a production of cluarantonn.com
Hosted, Written, Produced and Edited by Peter Bull
Music based on Like a Tiger by Jo Wandrini
Production Company Name by Granny Robertson