Is the . NET Framework dead?

Asked

Viewed 1,547 times

23

In a small discussion with Maniero, in this answer, he said about the . NET Framework infrastructure:

We’ll start talking about . NET or even BCL because the . NET Framework died.

Why is . NET Framework dead (or dying)? This says the whole family . NET is dead too?

  • 4

    I don’t think so. What is happening (I believe) is migrating to . net Core (this is a good sign).

  • 1

    First, it’s worth noting that ". net" is a comprehensive term that covers many things (languages, Vms, frameworks, Apis...). That said, know that the .net framework will no longer receive features. This does not mean that he is dead, but he is finalized. Unlike things like Silverlight, the . net framework is not an aberration and you don’t need to run away from it.

1 answer

27


Obviously the comment was a little informal and a half click Bait :). But yes, he’s dead in a sense. Not at all.

The . NET Framework is one of the implementations of CLR and other things necessary for everything to work, such as BCL. As it was the first and a half official to be maintained by Microsoft, and come with Windows and be the only one that many know she turned synonym for . NET. But his official name is . NET Framework.

There were some implementations that didn’t go very far forward and the one that worked the most is Mono. This framework replaces the . NET Framework. People often don’t realize their role. Mono is the basis for Xamarin and Unity to work.

Later Microsoft realized that that model of framework had some problems and somehow the model of Mono was a little better, remembering that both, even having slightly different philosophies, met all requirements to run the CLR, had the BCL and obviously met the need for its main language, the C#. So she needed a product that wasn’t so attached to. NET Framework, needed to be something new, better, with different philosophy, so was born the .NET Core.

Of course it was based initially on the . NET Framework so as not to miss all the work. I won’t talk much about it because it already has other questions on the subject, but for me it was a revolution, it changed everything, it was what it needed to be a very good environment. And it’s 100% open source and open design, and with community help it thrived like no other Microsoft product. Some people twisted their noses at first but I saw that it was the right solution to most of the problems we had with . NET Framework (which I won’t talk about here because the focus is different). To know more have some questions on the subject:

Microsoft also created the .NET Native that is different from all this but she did not invest much in it. I liked the idea, but in fact it ended up not making so much sense to the world . NET.

In May 2019, Microsoft announced .NET 5. Many did not realize or understand what he is, some got scared, but happened what I thought would happen. O . NET 5 (note that the name does not have Framework or Core in the name) is actually the next version of . NET Core after the one that comes out in 2019. Before the name . NET alone was used as an informal name, but no product called just .NET. In the second half of 2019 comes out the . NET Core 3, the next should be . NET Core 4, right? But Microsoft decided to skip this version because the . NET Framework 4 has been strong for a long time and is the current version. Then in 2020 comes out . NET Core 5. But it will not have that name.

As I predicted the . NET Framework upgrade model was unsustainable and created deploy for people, among other problems. For some time he has not been able to evolve any more as . NET Core does. It can’t even evolve to stay within the new versions of .NET Standard. Even some C# 7 features don’t work on it, and C# 8 has gotten worse. It’s losing a lot in performance and security compared to . NET Core. There’s no point in keeping him alive.

Of course Microsoft is not abandoning it, it is part of Windows, it will be there for years or decades. In March I was with the team . NET, C#, etc. in Redmond and they ensured even extra officially speaking that support the . NET Framework continues without problems, while they said that it will not have more evolution. So basically it will only receive security updates or very serious problems and Microsoft will give support to those who use it, it is still active software of it. At this point he didn’t die. But without evolving, he died, didn’t he? For me he died, I don’t care about something that won’t evolve anymore.

Well, this new . NET Core 5 will be the only implementation that will continue to receive investments. Microsoft will no longer invest in Mono (which today it owns, started development outside, but she bought along with Xamarin, and made a deal with Unity to adopt Core) and resolved that the . NET Native did not make more sense with the end of his cell phone. Note that Mono’s `Runtime* must still exist because it meets a different need. But it does not mean that it will continue to use its own compiler or library as it was. Even GC and Jitter will probably use what already exists from Core (not all details are known at the time I write this).

Of course there are still scenarios that the Mono or the . NET Native are still needed, and this new version of Core will be able to do everything that only these two implementations do exclusively today (even if it requires a different minimum *Runtime). With all this capacity in a single product and having no evolution of the . NET Framework, Core becomes the only real implementation complete and no longer needs to call Core to differentiate from the others. So in 2020 the . NET Core gets a new version and it will be called . NET 5.

Diagrama de como o .NET 5 é composto

The advent of . NET 5 buries the . NET Framework that should only be used for legacy applications, and this if there really isn’t an easy way to move to Core.

For those who do not know, the . NET Core 3 already supports some scenarios that previously did not work in it, such as the use of Winforms, WPF, EF6, and others. The scenarios that it does not support yet, will not be supported because it is very bad and should be abandoned in favor of the best solutions it has for Core. And there’s one for all who may yet be useful.

For me the . NET Standard makes little sense and becomes legacy, although officially does not have a position on this.

And we can see the roadmap used to get to . NET 5 and future versions, which will now be released more predictably.

Roadmap .NET 5 e adiante

The future is . NET Core, through . NET 5 and the . NET Framework died for new applications (at least for people in good conscience, who was stubborn at first gained new legacies without need). Thus the . NET is stronger than ever! There is a time when a death is necessary to strengthen. And continues with its legendary performance (in fact the new version is even faster than shown here and should take the first place - those in the front are experimental and do not run on real projects).

Comparação de performance de diversos stacks de tecnologia dando destaque para o .NET Core Source. I wanted to put the Node that they say is fast, but he was too low.

  • 3

    Great answer! Believes that elements already from . NET Framework like Windows Forms can evolve with the new . NET 5, how to create a ". NET Forms" compatible with all platforms?

  • 3

    I think there will be some evolution in the hands of the community since everything is open now https://github.com/dotnet/winforms, but to run on other platforms I find it more difficult, some say it will, but it is not so simple. It may be, but I do not know if the result will be good. In a way already has a done pro Mono and it was very bad. Of course now can be better.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.