Replies: 5 comments 8 replies
-
Blazor WASM: won't work due to certain cryptography libraries being unsupported: codemonkey85/PKMDS-Blazor#12 PKHeX.Core is available on NuGet, and anyone can pull the package for use in whatever rewrite they want to attempt. The games are continuously updating, so the majority of the work is spent on PKHeX.Core rather than the GUI portion of the program. The GUI works well enough, even though it is the oldest & most un-refined code in the codebase... the PKM editor and slot manipulation is an incredibly tangled mess, and there's >100 forms/controls that would need to be addressed. I don't see any compelling reason to spend the effort rewriting the GUI into another framework, when time is better spent on other areas / projects. |
Beta Was this translation helpful? Give feedback.
-
I also just want to add that the MAUI project is open to contributions. |
Beta Was this translation helpful? Give feedback.
-
I just want a native Linux version so I don't have to deal with using proton on my SteamDeck (and as well as still waiting for .net 8 support) |
Beta Was this translation helpful? Give feedback.
-
I would be interested and i'm considering doing it. |
Beta Was this translation helpful? Give feedback.
-
also would love a linux native version... and it is probably qt or gtk for graphical toolkit for the better options... though shadow is not a great graphical program developer so can't easily do this themselves |
Beta Was this translation helpful? Give feedback.
-
Hi there! I'm a huge PKHeX fan, and I really appreciate all the effort you've put into it. I especially love that you've moved the core logic to the
PKHeX.Core
package, and are up-to-date with the latest release of .NET. I've been thinking a lot lately about cross-platform .NET apps, especially having recently purchased a macOS device.Have you thought about how you might like to see PKHeX become cross-platform in the future?
I ask because I'm willing to contribute towards making that possible, but I strongly feel that maintaining a separate fork is going to be a difficult task, especially given how complex the UI needs to be to accommodate all the functionality that PKHeX provides. I know that you've explored tools like Xamarin.Forms in the past, so it definitely seems like something you might be interested in.
One particular approach I've been toying with is performing an incremental migration to Blazor Hybrid, since Blazor views can be embedded into a Windows Forms application. With that approach, you wouldn't need to completely rewrite the app from scratch in a single go, and could instead migrate one form at a time. For example, you could start by migrating the
MoveShopEditor
form to Blazor Hybrid, keeping all the other forms as-is. The biggest downside I see with this approach is that Blazor, being web-based, doesn't have some of the more complex UI controls that Windows Forms does (such as tabs, sortable tables, etc.). There are component libraries out there to make that easier though! Once every form has been converted to Blazor, you can then replace the shell app with .NET MAUI, which also support Blazor. That'd give you both Windows and macOS compatibility, along with a path forward to replace the Blazor views with native views should you be interested. Alternatively, if all of the UI is written in Blazor, it's probably not too much more effort to use Blazor WASM to make a web version of PKHeX.As a sort of middle ground approach, you could also add a new
PKHeX.MAUI
project, which could be a full rewrite in .NET MAUI (using Blazor, native UI, or something like Uno). I think having the cross-platform project be "official" and in the main repo would be a good way to make sure things stay somewhat in sync. The difficult thing there is that rebuilding from scratch would probably take a significant amount of effort before it's viable for even minor edits, so there might not be much incentive to work on it. I also know there's already a community implementation in MAUI, so I could understand not wanting to spend a lot of effort making the exact same thing.All of this is basically to say I'd love to help you make PKHeX cross-platform in whatever way you're most comfortable with!
Beta Was this translation helpful? Give feedback.
All reactions