I started a GitHub project, called NClassDotNetCore.
NClass is a UML class designer by Balazs Tihanyi. It is licensed under GNU License and the source is available for download to anyone. The original codebase targets the .NET Framework v4 Client.
State of .NET Framework
Microsoft has announced that .NET Framework will no longer be updated and that 4.8 will be the last version. The announcement is part of a concerted effort to unify .NET and to make it more cross-platform. Although .NET Framework will be around for some time, it is best to start the move as early as possible.
With that in mind and as a user of NClass myself, I’ve started a GitHub project, NClassDotNetCore to attempt to port NClass to .NET Core.
I am a strong supporter of cross-platform technologies. As a developer, I should just write my code once and it should run on other operating systems with no code changes. .NET Core delivers on this.
The issue with .NET Framework is that was intended to work on Windows. There’s of course the Mono Project that managed to port the .NET Framework on MacOS and Linux but it is less than ideal.
There is of course Java but that is beyond the scope of this article.
Surprisingly, porting NClass to .NET Core is a rather easy process. There are however different ways of doing things now, there are C# language enhancements that we take advantage of. The transition will not happen immediate because there is a lot of ground to cover, architecturally.
LanguageManager has been added to make NClass more agnositc about programming languages. NClass now dynamically creates menus and diagrams based on the selected programming language. Ideally all than needs to happen is drop a DLL and NClass picks up the language.