ASP.NET Core for Beginners

Why .NET Core?

.NET Core is only one of many web development tools/frameworks like for instance Python/Flask/Django, Laravel/PHP, WordPress to mention the most popular ones.

So, why .NET Core? The answer is simple: because of  development workflow, which is faster and more efficient compared to other systems.

In general, if you plan to create advanced business web application and have usually options like the ones below (programming languages in parenthesis, and  we assume that you can use React JS for front end / user interface):

  1. Laravel (PHP)
  2. Django/Flask (Python)
  3. .NET Core (C#)

Which one to choose? The rule of thumb is: use .NET Core, but if you cannot find C# developers, use Django/Flask, but if you cannot find developers for Django or Flask, use Laravel, because there are plenty of PHP developers.

PHP – one of the easiest and most popular languages is, well, not that difficult and rather simple to learn, which means, that there is huge amount of very bad code base, very messy and expensive in maintenance. Yes, there are frameworks like Laravel, which are very good, and help beginning PHP developers in creating better quality business logic for application, but there is one more issue with PHP. Even in Laravel PHP language comes with the usual PHP drama: the need to proper orchestration of many moving parts which are Laravel packages versions vs PHP versions vs server software versions vs Docker versions vs etc etc etc.  Yes, you can crate good things with Laravel/PHP, but I found that when I use .NET Core I have more time to focus on applications features instead on application maintenance. For a customer it means faster development, without losing quality/features of application.

Also, for .NET Core you can use one of the most popular databases, like MySQL/MariaDB or PostgreSQL, but I prefer to use native DB for .NET Core, which is MS SQL. The database is well suited especially for business enterprise applications and comes with excellent tool for the DB management: SQL Server Management Studio (SSMS).