SimpleBrowserDotNet/SimpleBrowser

Abandon .NET Framework Support

kevingy opened this issue · 6 comments

I'm opening this issue for discussion. I would like to hear opinions on the subject.

Last month, Microsoft has announced that .NET Framework is dead - or will be with the release of .NET 5 in November 2020. .NET 5 is billed as a "unifying" .NET release, but it really means that .NET Framework is done and .NET Standard/Core has replaced it.

It could be argued that .NET Framework is not dead until 2028, when support for .NET Framework 3.5 ends. This doesn't apply, since SimpleBrowser is already on .NET Framework 4.5.2. It could be argued that .NET Framework apps will be around for a long time after support officially ends. This is true. People are still using Classic ASP in 2019. (Sad, but it is what it is.)

Here are the problems SimpleBrowser is already facing:

  • SimpleBrowser currently supports .NET Framework and .NET Standard/Core. This is causing some issues trying to keep both the old and the new working at the same time. In the state that the repository is in, it will not compile for either platform without manual modification to the project files to explicitly select one platform or the other. I am concerned that newbies using SimpleBrowser for the first time will clone it, try to build it, and when it fails, abandon it. Without going further. It is bad for the repository to be in this state, regardless.
  • SimpleBrowser is aging. Much of the technology in use is old. I recently worked an issue to replace the Dependencies folder with NuGet packages. In doing so, I upgraded Moq from a 2011 version to a 2017 version. I wasn't able to upgrade to a 2019 version because we are on .NET Framework 4.5.2. Our dependencies have already abandoned the versions of the .NET Framework we have consciously chosen to support.
  • SimpleBrowser is limited to the support of the .NET we are built upon. .NET Framework 4.5.2 has one known issue that SimpleBrowser had had to hack around. If we upgrade to something modern (even if it's not .NET Standard/Core yet), we can remove the hack.

Personally, I don't think it's time to abandon .NET Framework quite yet. MonoDevelop on Debian won't have support for .NET Core (without upgrading MonoDevelop manually) until Buster, which is supposed to be released "Mid-2019". That would be the first opportunity to abandon .NET Framework, in my mind.

As I have said many times, SimpleBrowser is not my project. I'm just a steward. That said, if I receive no input, I will do exactly what I think is best - which is typically what best suits my needs, for better or worse. I encourage input if it agrees with my opinion and especially if it does not.

The ultimate question is, when does SimpleBrowser upgrade and to what? What do you, the user, think?

Sure, go ahead, drop it.

I'm going to assume that since there has only been one reply to this issue in three months that no one wants or needs the .NET Framework version of SimpleBrowser. I'll start working on removing .NET Framework support and concentrate on .NET Standard only.

@Teun Will this affect the WebDriver?

Teun commented

This task will also include dropping support for MonoDevelop and replacing it with VSCode on non-Windows systems (i.e., Linux).

This is complete in a branch off of my fork in the repository. I'm going to test it for a while before putting in a pull request. So far, it looks good.

Completed September 1, 2019