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

refactor: Implement the subscribe button in Jetpack Compose #6111

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Isira-Seneviratne
Copy link
Collaborator

Jetpack Compose is a declarative UI framework for Android that simplifies Android development greatly.

This PR adds Compose to the project and migrates the subscribe button functionality to use Compose.

To be done:

  • Theming
  • Subscribe/unsubscribe dialogs

@Bnyro
Copy link
Member

Bnyro commented Jun 6, 2024

To be honest I'm not really sure about migrating to Compose currently - we should probably discuss this first. If we only migrate parts of the app to Compose there will most likely be behavior and design/theme differences, so that doesn't really feel good. If we consider it, we should stop doing any updates for multiple months and take that time to fully rewrite the app in Compose.

I quite like Jetpack Compose, but still this would be lots and lots of efforts to migrate LibreTube to it.

I don't have much free time at the moment and this would need a lot of time testing/bug fixing obviously.

@Isira-Seneviratne
Copy link
Collaborator Author

To be honest I'm not really sure about migrating to Compose currently - we should probably discuss this first. If we only migrate parts of the app to Compose there will most likely be behavior and design/theme differences, so that doesn't really feel good. If we consider it, we should stop doing any updates for multiple months and take that time to fully rewrite the app in Compose.

I quite like Jetpack Compose, but still this would be lots and lots of efforts to migrate LibreTube to it.

I don't have much free time at the moment and this would need a lot of time testing/bug fixing obviously.

Migrating to Compose piece by piece is a valid strategy. That way, development doesn't have to be paused.

@Bnyro
Copy link
Member

Bnyro commented Jun 14, 2024

https://github.com/material-components/material-components-android is still actively developed and there has never been anyone saying that it would become deprecated/abandoned anytime soon. The app is pretty much feature-complete and thus I don't think it would be any worth it to spend efforts into migrating to a new framework.

We have no idea how long LibreTube will continue to work, and that can really just become hit or miss.

@Isira-Seneviratne
Copy link
Collaborator Author

It would reduce a lot of unnecessary code, e.g. the fragments could be replaced with separate composables nested in a scaffold.

@IndusAryan
Copy link
Contributor

IndusAryan commented Jun 21, 2024

Hi guys, nice pr bro, in the current state libretube will work for many years, XML isn't going anywhere, problem with jetpack is that it lacks the full required documentation, although i am not your team member but as an old contrrubutor i can say Isira is skilled enough to rewrite the app slowly, So i think he can continue development in another branch but he will face problems as other additions will be pushed continiously to main branch as bnyro said, what if you guys release a full stable LT that doesnt require frequent update ?

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

Successfully merging this pull request may close these issues.

None yet

3 participants