lay295 / TwitchDownloader

Twitch VOD/Clip Downloader - Chat Download/Render/Replay
MIT License
2.52k stars 260 forks source link

Cross Platform UI #470

Open pirahtays opened 1 year ago

pirahtays commented 1 year ago

Checklist

Write your feature request here

I have recently found this project and would be willing to help out with possibly creating a cross platform UI, time willing.

I did a quick search, but I'm rather crap at it - Has there been any discussion on this or what technology would be best adopted to use?

Some of the ones I am familiar with personally would be

ScrubN commented 1 year ago

You're more than welcomed to try and write a new GUI frontend but you'll probably end up doing a full rewrite of everything, and majority of the GUI code is really shit.

As for which UI, I personally would prefer you use MAUI

lay295 commented 1 year ago

Who needs proper coding patterns like MVVM when you can stuff everything in the code behind :)

This was supposed to just be a resume builder project that somehow turned into this. So, yeah most of the code is just thrown together since I never actually attempted to learn MVVM and just wanted the thing to work. Not the most maintainable code.

I'd be down to eventually migrate to MAUI (and learn MVVM) but I don't really have any motivation to do so now as most of my free time is taken by another personal project I'm working on.

pirahtays commented 1 year ago

Yeah, free time is a premium for me as well, so it would likely be a long time for me to do. But I figured bits and pieces could get started.

Sounds like MAUI it is then :). I'll let you know when I get a chance to start building out some framework.

Who needs proper coding patterns like MVVM when you can stuff everything in the code behind :)

This was supposed to just be a resume builder project that somehow turned into this. So, yeah most of the code is just thrown together since I never actually attempted to learn MVVM and just wanted the thing to work. Not the most maintainable code.

I feel this so much :)

Oh -> Also I may throw some scripts in to build Arm Mac since that is what I primarily build on. As a reference, the CLI buids and runs no probs in case anyone cares to know 👍

ScrubN commented 1 year ago

Just wanted to mention, if you push to github as you're writing the MAUI project I'd be willing to help, like converting the theming service to being cross platform.

ScrubN commented 10 months ago

I saw several presentations from Microsoft employees and it seems MAUI's deprecation is around the corner already due to Uno + WinUI, and MAUI also still does not support Linux despite promises from 2 years ago.

I tried out both Avalonia and Uno and found that I enjoyed working with Avalonia more. Avalonia also seems to be committing more to supporting developers, such as providing a working IDE XAML previewer while Uno does not.

I believe we should look into choosing Avalonia instead of MAUI if possible.

ScrubN commented 10 months ago

I would like to pitch an idea I had the other night in regards to a new UI.

I believe we should develop an Avalonia based UI that mimics the good parts of the current WPF UI. All operations will be sent to the task queue and can be sent back to the download pages to see their settings/detailed logs. This will require making just about everything use bindings instead of manual loading/unloading. If we write the UI in a smart enough way, then we should be able to add an "advanced mode" that has a more streamlined interface geared towards mass enqueuing of multi-step tasks. This would ideally take the place of the current enqueuing window.

This does mean that there are 2 different window codebases to update though, so I'm thinking once the "advanced mode" is complete, the "easy mode" should only have the essential and most popular options.