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

Re-architecture #325

Open
athairus opened this issue Dec 18, 2016 · 3 comments
Open

Re-architecture #325

athairus opened this issue Dec 18, 2016 · 3 comments

Comments

@athairus
Copy link
Member

On the UI side, create platform-specific interfaces that utilize native widgets. Namely:

  • Windows: Windows API aka win32 API (maybe, don't want to leave Windows 7 users behind), Modern API (maybe we could get listed in the Windows store?)
  • macOS: Cocoa (?)
  • Linux: ???

Rationale: Every platform has its quirks and it may take less effort to use native widgets, where these quirks are implemented for free, than custom widgets where we have to do everything

The frontend will now consist of two "backends": A library backend (which will provide data in the optimal format for each platform) and an emulator backend (which will handle making instances of the backend process, see #314 for more details)

@athairus
Copy link
Member Author

athairus commented Dec 18, 2016

Frontends

Note: % of userbase provided by Steam hardware survey, using November 2016 numbers

Windows

UWP API (aka Modern/Metro/Windows Runtime/WinRT)

Covers 48.37% of the userbase
Only the latest Windows 10 is supported by this API
Documentation: https://developer.microsoft.com/en-us/windows/apps/develop

Samples

Grid/listview sample: https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/XamlListView/cs
Even better example: https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/XamlUIBasics/cs/AppUIBasics

Notes

Windows API (aka WinAPI/Win32)

Covers 47.03% of the userbase
Currently no plans to create a frontend for Windows Vista/7/8/8.1. PRs welcome!

UI

macOS

Covers 3.59% of the userbase

Linux

Covers 0.88% of the userbase

@athairus
Copy link
Member Author

Backends

(reserved)

@athairus
Copy link
Member Author

athairus commented Jan 15, 2017

Alternate multi-platform frontends

https://nwjs.io/

  • In the desktop world most of the UI/UX work goes towards web technologies. Using this gives us a huge body of libraries to utilize

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant