-
Notifications
You must be signed in to change notification settings - Fork 7.3k
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
Jetpacktify our quickstarts ✨ #1217
Comments
This comment has been minimized.
This comment has been minimized.
@rosariopfernandes thanks for starting the conversation and breaking down the tasks!
Oh and don't worry about snippets. I'd be happy to have this excuse to transfer more of them to |
@samtstern I share the same concern on (3). I'll see if I can create a small sample app to demonstrate what this would look like. |
@rosariopfernandes I assigned RTDB and Firestore to myself, will start giving them a look today. |
@samtstern Thanks for the assists with ConstraintLayout! I'll see if I can finish my draft for auth tonight. |
@rosariopfernandes I'll take the Firestore migration to Navigation so I can get some practice with that. |
@samtstern I had a feeling you would take it, that's actually why I kept it for last ;) |
@rosariopfernandes we're so close! I almost feel bad that we'll probably end up deleting the Java at some point in the next year and going Kotlin-only, but I think we'll both be pretty happy about that 😄 |
@samtstern It'll be a bit sad to see Java go, since we spent so much time maintaining it. But going Kotlin-only will make maintenance much easier, so I'm happy with that. 😄 |
@samtstern I was taking a look at the firestore quickstart to see how we could implement a ViewModel and I found the |
@rosariopfernandes hadn't heard of I think since one of the goals of the quickstart is to teach people how to use the Firestore APIs we should probably stick to our current implementation (or something like it) for now. |
cc @gkaldev who may pick up this work in the future! Kalyan if you plan to do anything related to Firebase + Android + GitHub make sure to say hi to @rosariopfernandes (the hidden wizard behind the curtain). |
Superseded by #1457 |
Following up on my suggestion to implement Modern Android App Architecture here, I've come up with a list of actionable tasks which we can discuss in this issue.
1. Replace RelativeLayout with ConstraintLayout
ConstraintLayout seems to be the recommended way to design layouts in Android, right now. I suggest we replace all our
RelativeLayout
usages withConstraintLayout
.Quickstarts to be updated
Dynamic Links- removed this one because it's usingLinearLayout
Cloud Storage- removed because it usesLinearLayout
2. Use the Navigation Component
Starting in Android Studio 4.0, creating a new project now gives you a single activity with 2 fragments and the Navigation Component included to help navigate between the 2 fragments.
I suggest we update our quickstarts to use the same single-activity-multiple-fragments approach with the Navigation Component.
Quickstarts to be updated
3. Use ViewModel+LiveData+Repository
The Android's App Architecture Guide recommends structuring the app with a ViewModel and a Repository for better separation of concerns.
Not only will this be a huge refactor, but we might also run into other issues because of the quickstarts which include snippets that are shown on the Firebase Docs. So I'd suggest we start with the databases quickstarts first, to see if it's worth refactoring the others.
The text was updated successfully, but these errors were encountered: