In the world of web and application development, there are many frameworks and languages that developers can choose from. Each framework has features and benefits that make them different. The framework I will be discussing in this blog post is ASP.NET and ASP.NET Core.

What is ASP.NET?

ASP.NET is an open source, server-side web application framework created by Microsoft that runs on Windows and was started in the early 2000s. ASP.NET allows developers to create web applications, web services, and dynamic content-driven websites.

What is ASP.NET Core?

ASP.NET Core is a new version of ASP.NET that runs on every major computing platform, including Windows, MacOS and Linux. Like ASP.NET, it is open source, created by Microsoft and allows developers to create web applications, web services, and dynamic content-driven websites. First released in 2016, ASP.NET Core is relatively new, but has already received a 2.0 release and is now a stable alternative to Windows-hosted ASP.NET web applications. Developers who know ASP.NET can leverage their existing knowledge of C# and can quickly pick up the framework differences introduced in ASP.NET Core.

Why Should I Use It?

There are plenty of good reasons to use ASP.NET when developing a website or an application. High speed, low cost, and vast language support are among the most significant benefits. ASP.NET is built into the familiar Windows server environment, requiring less setup and configuration than other web development platforms that must be installed and configured separately. The popularity of ASP.NET makes online resources and skilled developers easy to find.

Websites and applications built with ASP.NET can be faster and more efficient than a website build with PHP, for example. ASP.NET applications are compiled, which means the code is translated into object code, which is then executed. This compilation process takes a small amount of time, but happens only once. After compilation, the code can be executed over and over by the .Net platform very quickly.

Interpreted code is not directly executed by the machine, but must be read and interpreted each time before being executed. Compiled code is usually faster and more scalable than interpreted code, and can do anything interpreted code can do. Examples of interpreted languages include PHP, JavaScript and Ruby.

The compilation process also provides validation that all of the code is consistent. For example, if a method named GetUser is renamed to GetEmployee as part of some code updates, any reference to GetUser throughout the rest of the application will cause an error during compilation, making it easy to identify and fix. Interpreted languages would not identify this error until the code is actually run and tested. In a large application, it is very time consuming to manually test every scenario, or to write and maintain additional code that tests of every scenario, whenever code is changed.

Software cost is an important factor when developing a website. It used to be that developers had to buy expensive software (called Integrated Development Environments, or IDEs) in order to build applications. These days, most code can be written using free tools. ASP.NET code can be written using a simple text editor, various free programming text editors and, most commonly, Microsoft’s ubiquitous Visual Studio application, which is available in a free Community Edition for non-corporate use. Companies with more than 5 developers must purchase a license to use Visual Studio, but the cost is competitive with professional IDEs for other platforms. Microsoft also provides Visual Studio Code, a lighter-weight IDE and editor, which is free for everyone, including corporations.

In addition to an IDE, websites require web application server software and a hosting server. Most ASP.NET applications use Microsoft IIS (Internet Information Server). IIS is available for all versions of Microsoft Windows at no additional cost. Windows hosting servers are usually more expensive than comparable Linux servers, which are commonly used to run PHP, JavaScript and Ruby applications. However, with the release of ASP.NET Core in 2016, ASP.NET applications are no longer reliant on IIS and can now be hosted on Linux and MacOS as well as Windows.

What type of database to use is an important decision when developing a web application. ASP.NET applications can use all of the popular databases, including Microsoft SQL Server, MySQL, MariaDB, Postgres, MongoDB and CouchDB. While Microsoft SQL Server can require expensive software licenses for complex deployments, the free Express version is suitable for the vast majority of websites. All of the other databases mentioned here are free and open source.

ASP.NET is written using Object Oriented Programming languages such as C# or VB.net. Object Oriented Programming provides a framework and patterns for code organization and reuse. While VB.net is a holdover from Microsoft’s legacy Visual Basic product and has largely fallen out of favor among developers, C# is a first class programming language and consistently ranks among the worlds most in-demand and most-used programming languages.

Finally, even though ASP.NET is open source and free to use, it is actively developed and supported by the world’s largest software company, Microsoft. Microsoft is heavily invested in their development platforms, their developer community, and supporting the software companies use to run these applications. This means you don’t need to worry about your software becoming yesterday’s news any time soon.

As a whole, ASP.NET is a great framework to use when developing web sites and web applications. It is reliable, fast, easy to use, free and widely known. ASP.NET gives you full control of your development and can be used on any project, big or small. If you aren’t already using ASP.NET, why not give it a shot?