ASP.NET Core: The Right Answer for Non-Windows Users
The Microsoft Wilderness is very interesting indeed. No wonder many are interested in developing applications ranging from
But unfortunately, to make applications with these technologies does require a lot of effort, starting from buying Windows licenses, Visual Studio licenses, and other supporting software to build applications in the wilderness of Microsoft. Of course this is easy if the license has been paid by the company.
Of course this makes OSX and Linux users, especially BSD, unable to taste ASP.NET, which can only be used on Windows. What’s more after deploying can only be installed on Windows Server with its IIS.
But in recent years, it seems that Microsoft is starting to pay attention to making ASP.NET, ASP.NET MVC, and other Microsoft technologies to make applications more open source and cross platform .
A Brief Story of ASP.NET Core
In the beginning C #, began to open source but under a different machine with .NET usually, namely Mono. Mono was developed by Miguel De Icaza, one of the originators of the GNOME Desktop Environment and also the Co-Founder of Xamarin. At that time Mono had a number of features that were commensurate with .NET such as ASP above Mono, and Moonlight which were similar to Silverlight. It is quite unique at that time where ASP can be hosted in non-Microsoft places like Linux and other Unixes, it can also be placed on Apache Web Server.
Because its existence is so great, Mono began to be noticed by Microsoft, especially Miguel created something great called Xamarin. Where you can create native applications for mobile apps using C # and can be published on various devices such as iOS, Android, and Windows Phone with only one base source code .
Then finally under the initiative of Microsoft and the community, ASP.NET Core began to be developed to answer the needs of ASP.NET which is more enterpriseand cross platform . Of course it’s open source and free . ASP.NET Core is predicted to be the next generation of ASP.NET before.
This framework is the result of a rewrite which is an amalgamation of ASP.NET MVC and ASP.NET Web API. Previously the name that was carried was ASP.NET vNext then finally became ASP.NET Core with the initial version which was 1.0. Currently version 2.2.
ASP.NET Core was developed in granular mode above the NuGet package manager, compared to its predecessor which was bundled in one .dll named System.Web.dll .
Some of the components include:
- Entity Framework
- and others
Currently ASP.NET Core has been open source on Github https://github.com/aspnet/home , so you can contribute or monitor the development of ASP.NET Core directly here.
ASP.NET Core Features
The following are the initial features of ASP.NET Core that you can use right now:
- Cross platform , you can do development on any operating system such as Windows 10, OSX, and Linux
- Can be deployed over IIS, Nginx, Apache, and other web servers
- Has features that are nearly commensurate with previous ASP.NET such as MVC, Filter, Middleware, Authorization, static files , Configuration, Logging , and others.
- Supported by Visual Studio Code and Visual Studio
- Can use Entitiy Framework for databases such as SQL Server, SQLite3, and Azure SQL Database. For other databases you have to choose various libraries that are suitable for him
- Powered by NuGet package manager
- Free access to various Azure services compared to other programming languages
- Support websocket by default
- JWT and OAuth support by default
- Can choose Web API mode if you want to build a RESTful web service
- Already have packages for software testing such as unit testing and integration testing
- Automatic migration tools that are almost similar to Django although still limited to SQL Server and SQLite3 only. (Other databases will be supported by the community).
- Resource learning that is very much supported by the community and Microsoft itself
- And other features especially the very easy support if you want to be integrated with Azure