Should you jump on .Net Core "hype" train?

Should you jump on .Net Core "hype" train?


Ok, ok. I am little too over exited but! I’ve been using most of the mainstream web languages like PHP, Ruby, Python and so on.

I had the “luck” to switch to C# (.Net Webforms) about 6 years ago. Webforms are bad… Okay not bad but OLD!
However through the last 6 years C# became my favorite language for almost everything.

The one missing thing was… I couldn’t develop in anything other than Windows :( (Yes there is Mono, but still)

And then… .Net Core was announced!

Multi platform .Net Framework rebuild from ground up. I started playing with .Net Core ever since version 1.0 beta-8.
Having the ability to use whatever IDE/Text editor and OS platform to develop .NET applications is the best thing since the sliced bread.

So… Couple of questions?

- Is it production ready?

Yes it is. Instead of having one giant update you can no use the minor versions as well as LTS versions of the framework. The next LTS version will be 3.1 which will be available in November 2019. Every LTS version will have with 2 years of support.

You can see all available downloads here.

- Can you build a blog in 15 minutes?

Yes. Now you can with ASP.NET core. The new Razor Engine is faster and easier to get into. You can always swap it for something like Fluid (.NET implementation of Liquid template engine).

EFCore now has providers not only for MSSQL (which now can run on Linux too), but also for SQLite, PostgreSQL MySQL/MariaDB and more. Migrations are supported too.

- Can I use a lot of prebuild functionality (packages) like in Rails, Laravel or Symfony

Well no… Currently the .NET Core Ecosystem is still in it’s prime but with continuous improvements we will have ability can do something like Rails Engines.

- Can I use UI libraries?

There are UI libraries like Telerik UI (Paid), Syncfusion ASP.NET Core UI (Paid), Bocons.

Tag helpers make it easy to create reuisable components libraries by yourself too.

- Where are my WebForms?

DEAD! They are replaces by Blazor.

From the docs:

Blazor is a framework for building interactive client-side web UI with .NET:

Create rich interactive UIs using C# instead of JavaScript. Share server-side and client-side app logic written in .NET. Render the UI as HTML and CSS for wide browser support, including mobile browsers. Using .NET for client-side web development offers the following advantages:

Write code in C# instead of JavaScript. Leverage the existing .NET ecosystem of .NET libraries. Share app logic across server and client. Benefit from .NET’s performance, reliability, and security. Stay productive with Visual Studio on Windows, Linux, and macOS. Build on a common set of languages, frameworks, and tools that are stable, feature-rich, and easy to use.

- Can I use Docker?

Sure thing. Just checkout how easy it is in this tutorial provided by Docker docs.

- What other is there?

Nothing… Just ability to share and reuse code between Web,Console, Desktop and Mobile applications (Xamarin is now part of the .NET ecosystem).

Give .Net Core a try… Now it’s “free” :D

Me On Instagram