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

Crossplatform Web-Based Client Application #284

Closed
1 task
Alfagun74 opened this issue Aug 7, 2023 · 11 comments
Closed
1 task

Crossplatform Web-Based Client Application #284

Alfagun74 opened this issue Aug 7, 2023 · 11 comments
Assignees
Labels
💻 client There are things to do on the client 🔧 feature New feature or request 🎛️ server There are things to do on the server

Comments

@Alfagun74
Copy link
Contributor

Alfagun74 commented Aug 7, 2023

Let's explore the possibility of developing a cross-platform client application. This application should run on the web and be compilable as a native app on Windows, Linux, MacOS and Android.

By doing so, we can gradually migrate features from the current GameVault Client to a cross-platform framework and web-based user interface. This approach will also address the following issues:

Goals:

  • Establish a Proof of Concept project that functions in web browsers and on native platforms.
@Alfagun74 Alfagun74 added 🔧 feature New feature or request 🎛️ server There are things to do on the server 💻 client There are things to do on the client labels Aug 7, 2023
@yodatak
Copy link

yodatak commented Aug 8, 2023

I find tauri really fine but there is some issue with the flatpak dependency isued ( it the main way to install app on some system like steam deck or fedora silverblue :/ )

tauri-apps/tauri#4426
https://tauri.app/blog/2023/03/20/tauri-2-0-0-alpha-4
(now we are in alpha 6)

we should maybe start with tauri 2.0 because of these ^^ and tauri v2 will support android and IOS

some flutter app in flathub
https://flathub.org/apps/search?q=flutter

some that use tauri, Cinny and Pocket Sync
https://flathub.org/apps/io.github.vemonet.EmojiMart

some that use tallwing frontend
https://riftshare.app/

@yodatak
Copy link

yodatak commented Aug 8, 2023

@Alfagun74
Copy link
Contributor Author

We are currently also checking if .NET Blazor would be a possible Alternative as we could then at least reuse the code.

@yodatak
Copy link

yodatak commented Aug 10, 2023

. Net Blazor don't seem to be Linux dotnet/maui#11738

@mhrastegari
Copy link

Hey @Alfagun74
Have you checked BitPlatform's templates?

@Alfagun74
Copy link
Contributor Author

I did. Also saw blazor electron as an option but then the app runs on bloated and resource hungry chromium

@Alfagun74 Alfagun74 changed the title Web UI Crossplatform Web-Based Client Application that could also serve as a simple Web UI Sep 17, 2023
@Alfagun74
Copy link
Contributor Author

Alfagun74 commented Sep 17, 2023

We're currently exploring Avalonia's fantastic new WebAssembly feature. You can check it out here: Avalonia WebAssembly Feature.

This can be developed as a web-based app and also as an on-premise app for various platforms:

  • Windows
  • macOS
  • Linux
  • iOS
  • Android
  • Browser
  • Tizen

Our primary focus will be on the following, in this order:

  1. Browser
  2. Windows
  3. Linux

We will keep you updated here as soon as we have a simple Proof of Concept that this could work.

@Alfagun74 Alfagun74 changed the title Crossplatform Web-Based Client Application that could also serve as a simple Web UI Proof of Concept for a Crossplatform Web-Based Client Application that could also serve as a simple Web UI Sep 17, 2023
@Alfagun74
Copy link
Contributor Author

Alfagun74 commented Oct 9, 2023

Image

We've made progress in rendering elements and creating a login feature in the Avalonia WASM PoC. However, there's an issue with securely storing login credentials using web technologies right now. In the future, we'll likely need a more robust authentication flow that utilizes cookies. For now, we're planning to temporarily store credentials in the browser storage, but it's not a secure method.

Our current issue is figuring out how to use the browser storage from Avalonia, to cache and save stuff, and we're actively working on that. We'll keep you updated on how things are going.

@Alfagun74
Copy link
Contributor Author

Alfagun74 commented Nov 20, 2023

Avalonia WASM does not seem mature enough to rewrite our entire client application in it at this point in time. We are taking a closer look at UNO right now.

@vxzms
Copy link

vxzms commented Nov 28, 2023

I did. Also saw blazor electron as an option but then the app runs on bloated and resource hungry chromium

I don't know if you have tested photino.Blazor, it seems like it saves a lot of resources compared to electron

@Alfagun74 Alfagun74 transferred this issue from Phalcode/gamevault-backend Dec 17, 2023
@Alfagun74
Copy link
Contributor Author

Alfagun74 commented Dec 21, 2023

Hey everyone,

I wanted to give you all an update on the experiments we conducted using MAUI, Avalonia WASM and the Uno Platform for our cross-platform application and web UI.

After looking into this thoroughly, we realized that both tested UI-frameworks still need more development and improvement. The backend system also requires significant enhancements, especially for things like authentication, to properly support a web-based client.

I regret to inform you all that we have decided not to proceed with the development of a cross-platform application or web UI, at least for now and in the near future. We might revisit this idea later on though.

Here are the main reasons behind our decision:

  1. The technologies needed to port our app to a new UI-framework without losing too much of our work are not fully developed and stable yet.

  2. From a business perspective, it's not financially feasible for us to abandon half of our existing product, which is already at a mature stage. Starting from scratch with less familiar technologies wouldn't align with our goal of making a stable income with our business.

  3. It's important to mention that most gamers prefer using Windows, while Linux gamers represent a significantly smaller group. To put it simply, out of all active Steam users, approximately 98% are on Windows, while only 2% are on Linux (you can check the statistics here). This information highlights the financial challenge of scrapping and rewriting 1.5 years' worth of frontend work to cater a single-digit percentage of gamers.

We understand that this news might be disappointing for some of you. Please know that we carefully considered all the factors and made this choice in the best interest of our business + product and their long-term success. We truly appreciate your understanding and ongoing support.

Thank you. <3

@Alfagun74 Alfagun74 closed this as not planned Won't fix, can't repro, duplicate, stale Dec 21, 2023
@Phalcode Phalcode locked as too heated and limited conversation to collaborators Dec 26, 2023
@Alfagun74 Alfagun74 changed the title Proof of Concept for a Crossplatform Web-Based Client Application that could also serve as a simple Web UI Crossplatform Web-Based Client Application Apr 4, 2024
@Phalcode Phalcode deleted a comment from HammyHavoc Apr 4, 2024
@Phalcode Phalcode unlocked this conversation Apr 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
💻 client There are things to do on the client 🔧 feature New feature or request 🎛️ server There are things to do on the server
Projects
Archived in project
Development

No branches or pull requests

5 participants