ASP.NET
What is .NET? ASP.NET? ASP.NET Core?
.NET Framework
The .NET Framework kicked up a massive storm on its release twenty years ago, and has continued to evolve at pace ever since.
The name alluded to a huge interconnected software development platform and framework comprising a vast set of tools, languages, runtimes and libraries that all fuse together in a very cohesive offering, assisted by the powerful Microsoft Visual Studio development environment.
Tightly integrated was a new language C# which drew on the strengths of all the major prevalent languages, rolling in the best perceived strengths from C, C++, Pascal, Delphi and Java (amongst others), to provide a powerful language behind the .NET Framework eco-system.
ASP.NET
ASP.NET is Microsoft's powerful web application framework, introduced with the original .NET platform, a natural progression from the previous Microsoft ASP (Active Server Pages) web platform. The ASP.NET framework provides the infrastructure allowing developers to build dynamic websites, web applications and web services.
ASP.NET Web Forms (2002) was the first major implementation of ASP.NET, endeavouring to bring the object-oriented, event-driven world of Windows programming to the website realm, aimed at leveraging concepts of Windows programming (as espoused by the likes of the original Visual Basic), and mask the nuances of web programming. Although a powerful implementation with impressive features, downsides such as bloated HTML and ViewState, obfuscated element IDs and isolation / lack of fine control over the rendered page has led to newer, improved alternatives.
ASP.NET MVC (2009) provided a new and cleaner framework for web development, translating another well established paradigm of "Model/View/Controller" across to the web development field.
This retained a powerful, server-side View system (Razor) providing similar concepts of server-generated web pages, an iterative improvement on its older predecessor.
However, as rich JavaScript/CSS enabled browsers became the norm, more and more logic was being moved client-side, and the Views of MVC became less prominent, with MVC often mutating to become more of an API controller system.
ASP.NET Web API (2012) brought a simplified framework, applying concepts of MVC to REST APIs, but dropping the View component, matching the prevalent shift of more presentation implementation moving from the server to the client. This reflects the prevalence of today's web apps to more likely be rich HTML/JavaScript client-based, using only data-based API calls for data and security.
SignalR (2013) added a companion library providing further standardised functionality for pushing data from server to client.
It is interesting to note that all four ASP.NET technologies mentioned here can easily co-exist with each other in the same project, and in long-running ASP.NET systems, they often do.
All the original ASP.NET frameworks typically run within Microsoft Internet Information Services (IIS) - the built in web server supplied with the Microsoft Windows Server platform.
ASP.NET Core
ASP.NET Core (2016) brought a complete rewrite, combining concepts of ASP.NET MVC and ASP.Net Web API and the new cross-platform direction Microsoft is taking with .NET Core, while using the opportunity to refactor and address the bloat that its older ASP.NET sibling attracted through years of backwards compatibility.
While concepts remain similar, the fundamental configuration, compilation, structure and deployment of ASP.NET Core can be very different to the original ASP.NET. The ASP.NET Core implementation tends to be lighter-weight (which potentially translates to improved performance) and also offers more configuration as code which can have advantages for DevOps.
ASP.NET Core is no longer tightly integrated with only the Microsoft IIS web server, also supplied with its own alternate lightweight, open-source Kestrel server, and it plays nicely with other popular web servers such as Apache or NGINX. And significantly, it also has built-in ability to self-host without a separate web server entirely.
What does this mean for us?
This may sound like a whole bunch of alien jargon, but what this means for our clients is quite simple.
The ASP.NET family represent some of the most popular frameworks for implementing websites with dynamic content, and we are fluently conversant in all the flavours mentioned above. Using any of these technologies, Canary creates highly customisable websites and web applications, tailored to meet your specific needs.
When approaching a new greenfields web application development, we are likely to implement in ASP.NET Core (or alternatively, Go).
Where we inherit an existing / established earlier ASP.NET project, there are options to include MVC and Web API if these aren't already incorporated, and the latest client-side functionality can still be equally leveraged.
Regardless of platform, it is possible to create extremely rich web applications using powerful client-side techniques, and when the flexibility of ASP.NET is combined with the power of a powerful database, anything is possible. From internal workflow applications, to broad-reach web sites, we are keen to talk about your needs.
Read more in the software development section about how it can help your business.