Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Port game to Xamarin #13

Open
ekolis opened this issue Aug 29, 2019 · 7 comments
Open

Port game to Xamarin #13

ekolis opened this issue Aug 29, 2019 · 7 comments
Labels
enhancement New feature or request help wanted Extra attention is needed idea A large scope idea that needs to be discussed before it can be implemented.
Projects
Milestone

Comments

@ekolis
Copy link
Owner

ekolis commented Aug 29, 2019

Xamarin runs on a variety of platforms and it would be cool to have a mobile version of the game! Oddly Xamarin doesn't run on Linux though...

@ekolis ekolis added enhancement New feature or request idea A large scope idea that needs to be discussed before it can be implemented. labels Aug 29, 2019
@ekolis ekolis added this to To do in modern-gui Aug 29, 2019
@ekolis ekolis added this to the future milestone Aug 29, 2019
@ekolis ekolis added the help wanted Extra attention is needed label Aug 29, 2019
@ekolis
Copy link
Owner Author

ekolis commented Aug 29, 2019

I believe this would require converting FrEee.Core to a .NET Standard library; I've tried this in the past and run into issues, but maybe it won't be as problematic with newer versions of .NET Standard?

@ekolis
Copy link
Owner Author

ekolis commented Sep 15, 2019

I think I found a way to run Xamarin on Linux - you need to create a GTK# app: https://docs.microsoft.com/en-us/xamarin/xamarin-forms/platform/other/gtk?tabs=windows

I tested this with an app I was working on for my job and I was able to create a GTK# app that runs on Windows; haven't tested it on Linux yet...

@ekolis
Copy link
Owner Author

ekolis commented Sep 23, 2019

We might need to port the game to .NET Core #20 first in order to port it to Xamarin?

@KarbonKitty
Copy link
Contributor

If the goal is to get multi-platform GUI going, it seems that there are a couple of alternatives that should be better when targeting desktop (as Xamarin seems to be mostly focused on mobile apps at the moment). Two that I found are Eto.Forms (https://github.com/picoe/Eto) and AvaloniaUI (https://avaloniaui.net/), both of which are open source at work across Windows, Linux and Mac.

From what I gather, the WinForms code is reasonably well decoupled from the back-end, and thus it should be relatively easy to port the game to one of those platforms, which should have enough capabilities to handle it.

@ekolis
Copy link
Owner Author

ekolis commented May 1, 2020

Hmm. I've heard of Avalonia; I had issues trying it out because the forms designer was broken or missing or something like that. Never heard of Eto; I'll have to look into that. There's also Blazor, which is supposedly going to be expanded to support not only web apps but desktop and mobile apps as well, but that doesn't sound like it will be happening until next year.

@ekolis
Copy link
Owner Author

ekolis commented May 22, 2020

Now that we have the game converted to .NET Core, I tried creating a Xamarin project for it. All went well, until I tried to link in the FrEee core project; it needs to be a .NET Standard project in order to be linked from Xamarin, but .NET Standard is missing some certain APIs (such as scripting) that we need. I suppose this will all be sorted out with the release of .NET 5, unifying all the various .NET platforms?

@ekolis ekolis moved this from To do to In progress in modern-gui May 22, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed idea A large scope idea that needs to be discussed before it can be implemented.
Projects
No open projects
Status: In progress
modern-gui
  
In progress
Development

No branches or pull requests

2 participants