marcopeocchi / yt-dlp-web-ui

A terrible web ui for yt-dlp. Designed to be self-hosted.
Mozilla Public License 2.0
657 stars 67 forks source link

React was a mistake - Rewriting frontent with Svelte #126

Open marcopeocchi opened 5 months ago

marcopeocchi commented 5 months ago

Hello everyone!

After 2.5+ years of developing this project I came at the realization that choosing React as a front-end framework was a mistake.

With the growing popularity of yt-dlp-webui many feature requests are made and even the little one is a pain to add or fix. Furthermore the application feels to me a little sluggish.

A little story

This project started with typescript both on the frontend and the backend. Around January 2023 I migrated the entire backend code in Go and it was by far one of the best decisions I've made. You could argue that python would have been the perfect choice but (my take, I don't care if someone feels offended) I think python code on the backend is just pure evil).

Again, after 2.5+ years, this project needs a revamp on the front-end side and I'm asking you, fellow community members, an advice on which technology make the leap.

New frontend

The spiritual successor would be solid, but recently I'm really apprecianting svelte both in terms of speed and development experience.

The requirements are:

Thanks for reading this mess!

I'm open to any suggestions πŸ˜ƒ

phuslu commented 5 months ago

svelte +1

yt-dlp-web-ui frontend is really a bit slow, look forward the FE refactoring.

Baipyrus commented 5 months ago

Can recommend πŸ‘

Jokes by side, I would have the experience to be able to help contribute in Svelte/-Kit!

TheRealGramdalf commented 5 months ago

I'm really not sure how this fits in (I'm not a frontend dev) but I've heard good things about tauri - might be something to check out, assuming you haven't started with svelte yet

ariym commented 4 months ago

tauri would not be a good fit since it is for creating desktop apps (similar to Electron) and not suited for a server usage

marcopeocchi commented 4 months ago

image

Starting rewrinting the frotnend with Svelte ✌️ I opted to use svelte and tailwind css like many other projects of mine.

I'll try to cure the UI as much as possible.
If anyone is rather skilled with ui/ux let me know!

marcopeocchi commented 4 months ago

image

the ui flavour might end up like this

Baipyrus commented 4 months ago

Looks sick so far! Just a little unsure about the white and orange style, but still down to use whatever πŸ™

ariym commented 4 months ago

Looks slick, is the ReadMe also being updated?

I would like to submit a pull request with a better organized ReadMe but I have been holding off in case it's changed along with the new frontend.

marcopeocchi commented 4 months ago

@ariym currently is not being updated, but it's planned with the release of the new frontend.

ariym commented 4 months ago

okay I'll hold off until after then

Baipyrus commented 3 months ago

Can recommend πŸ‘

Jokes by side, I would have the experience to be able to help contribute in Svelte/-Kit!

@marcopeocchi I just saw the new header in the README on master and honestly, I'm really invested in this project. I might try to read into the whole thing to help with the Svelte rewrite. Problem is, life's kinda busy for now and I don't really have any clue where to start (mostly because of the GO backend). I would be interested in giving it a shot in the near future though.

Take care and recover soon!

marcopeocchi commented 3 months ago

Can recommend πŸ‘ Jokes by side, I would have the experience to be able to help contribute in Svelte/-Kit!

@marcopeocchi I just saw the new header in the README on master and honestly, I'm really invested in this project. I might try to read into the whole thing to help with the Svelte rewrite. Problem is, life's kinda busy for now and I don't really have any clue where to start (mostly because of the GO backend). I would be interested in giving it a shot in the near future though.

Take care and recover soon!

First of all, thank you so much!

No worries, the project's became kinda convoluted, first of all I want to skim some old code, effectively comment the backend and then resume with the svelte rewrite when things has settled down.