Niklas
Niklas

Reputation: 91

Is it too early to start an ASP.NET 5 web project?

We are about to begin development on a completely new web application. It's a big project and will take years to finish and will probably have quite a long lifetime.

Since ASP.NET 5 is just around the corner, but still in BETA - is it too early to start a web project using the new ASP.NET version?

I can understand that we might have to face a few tricky upgrades before it hits Beta8 and RC, but the benefits of using it right away might beat the costs of upgrading later (or never).

What are your thoughts?

Upvotes: 8

Views: 283

Answers (2)

Muhammad Rehan Saeed
Muhammad Rehan Saeed

Reputation: 38437

ASP.NET Core 1.0 Answer

ASP.NET Core 1.0 is now released, there is a 1.1 coming with some bug fixes. There are still several things to consider:

  1. Some third party libraries are still missing e.g. Elmah but work is in progress to port them.
  2. Some third party libraries are in alpha, beta or rc e.g. Moq, Autofac at the time of writing.
  3. There is no VB support yet.
  4. It's a version 1.0 product, that means it may have rough edges and maybe a few bugs even when released. The 1.1 version may fix these.
  5. If you want to use the new .NET Core runtime there are even more limitations. You can't use SyndicationFeed to create an Atom or RSS feed, use System.Drawing to modify images or send email using SmtpClient. There are lots of API's that do not exist yet.
  6. Some ASP.NET 4.6 features do not exist yet e.g. the BSON formatter.
  7. This is a new API, it may take time for it to be security hardened and proven.

ASP.NET 5 Answer

If your application is going to be released at the beginning of 2016 then you should be ok (An RC will be released in November) but there are several things to consider:

  1. ASP.NET 5 is still a moving target. Things are still changing and being written. There are breaking changes with each new Beta release but these will become less common as time goes on.
  2. There are no third party libraries like Glimpse, Elmah, NWebSec, etc. Support for ASP.NET 5 is coming from all three but it's some way off.
  3. The documentation is still being written. It is not clear how to recreate everything you could do in ASP.NET 4.6.
  4. There is no VB support yet.
  5. It's a version 1.0 product, that means it may have rough edges and maybe a few bugs even when released.
  6. If you want to use the new DNX Core runtime there are even more limitations. You can't call a WCF service, use SyndicationFeed to create an Atom or RSS feed or send email using SmtpClient. There are lots of API's that do not exist yet.
  7. Each new Beta might break something e.g. Beta 5 broke browser link and view pre-compilation has been broken for a while. Things are getting more stable though with Beta 8.
  8. Some ASP.NET 4.6 features do not exist yet e.g. the BSON formatter.
  9. This is a new API, it may take time for it to be security hardened and proven.

That said, there is a lot going for ASP.NET Core. It's certainly a great improvement and there are many new improvements over ASP.NET 4.6.

Upvotes: 4

Henk Mollema
Henk Mollema

Reputation: 46501

We were facing the same 'problem' as you describe at my company. We have a complex Web Forms application that has been around for almost 10 years which is in desperate need of a rewrite. We chose to start off using the ASP.NET 5 stack.

When you start such a new and big project, the first months will probably be used for prototyping and creating a proof of concept. In my opinion using a framework which is in beta at that phase of development, is just fine.

If we look at the roadmap, beta7 will be shipped this or next week and beta8 will probably be the last release with new features. This means that the days of major breaking API changes and package renames are mostly behind us.

I started prototyping on our new application since beta3. This caused some headaches when upgrading to a new beta, but the plus side on it is that I got to know the framework really well and watched the changes pretty close on the GitHub repositories. I actually proposed some PRs of things I missed during developing my application.

There are some downsides though. As I mentioned above, new betas might break (or even remove) functionalities you just implemented. Another pain is the lack of documentation, yet they are making good progress at http://docs.asp.net/.

You could start using the current stable ASP.NET 4 / MVC 5 stack, but you probably have to start over when ASP.NET 5 gets a go-live status and you want to use that.

So my conclusion is that you're probably just fine when you start using ASP.NET 5. Although it's not production ready yet, your application isn't either. By the time your product goes live, ASP.NET 5 is probably at RC or even at v1.0.

Upvotes: 5

Related Questions