stream-chat-android
compose-samples
Our great sponsors
- Appwrite - The Open Source Firebase alternative introduces iOS support
- InfluxDB - Access the most powerful time series database as a service
- CodiumAI - TestGPT | Generating meaningful tests for busy devs
- ONLYOFFICE ONLYOFFICE Docs — document collaboration in your environment
- SonarQube - Static code analysis for 29 languages.
stream-chat-android | compose-samples | |
---|---|---|
6 | 96 | |
1,230 | 15,869 | |
6.2% | 4.4% | |
9.6 | 8.5 | |
3 days ago | 13 days ago | |
Kotlin | Kotlin | |
GNU General Public License v3.0 or later | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
stream-chat-android
-
Adventures in Tracking Upload Progress With OkHttp and Retrofit
So that's the implementation we ended up with for now! You can find all of this code in the Chat Android SDK's GitHub repository if you want to look at it in a real project.
-
Need suggestions for a chat SDK to handle 1K users daily.
Check out Stream on Github. They have a few chat SDKs for iOS, Android, React and a few others. Website: https://getstream.io/
-
Publishing Android libraries to MavenCentral in 2021
afterEvaluate { publishing { publications { release(MavenPublication) { // The coordinates of the library, being set from variables that // we'll set up later groupId PUBLISH_GROUP_ID artifactId PUBLISH_ARTIFACT_ID version PUBLISH_VERSION // Two artifacts, the `aar` (or `jar`) and the sources if (project.plugins.findPlugin("com.android.library")) { from components.release } else { artifact("$buildDir/libs/${project.getName()}-${version}.jar") } artifact androidSourcesJar artifact javadocJar // Mostly self-explanatory metadata pom { name = PUBLISH_ARTIFACT_ID description = 'Stream Chat official Android SDK' url = 'https://github.com/getstream/stream-chat-android' licenses { license { name = 'Stream License' url = 'https://github.com/GetStream/stream-chat-android/blob/main/LICENSE' } } developers { developer { id = 'zsmb13' name = 'Márton Braun' email = '[email protected]' } // Add all other devs here... } // Version control info - if you're using GitHub, follow the // format as seen here scm { connection = 'scm:git:github.com/getstream/stream-chat-android.git' developerConnection = 'scm:git:ssh://github.com/getstream/stream-chat-android.git' url = 'https://github.com/getstream/stream-chat-android/tree/main' } } } } } }
We’ll use our very own Android Chat SDK in our examples. This SDK is made up of multiple artifacts, but for simplification, we’ll just talk about publishing the low-level networking client, which lives in the stream-chat-android-client module of the GitHub repository.
-
Build an Android Chat app with Jetpack Compose
We already ship a UI Components library in our Chat SDK which contains ready-to-go, fully-featured Android Views to drop into your app, along with ViewModels that let you connect them to business logic in just a single line of code. You can check out how that works in our Android Chat Tutorial.
compose-samples
-
Let's create notification reminder app in Jetpack Compose.
Basic understanding of Jetpack Compose.
-
Architecture Help
The compose-samples repo has a comprehensive list of samples ranging from low to complex projects which might be worth a look.
- Compose UI or layouts?
-
Leveraging Rust and the GPU to render user interfaces at 120 FPS
And what was learned from Flutter has produced something I consider even more interesting: Compose UI (https://developer.android.com/jetpack/compose) and JetBrains' Compose Multiplatform (https://www.jetbrains.com/lp/compose-mpp/)
- New app: xml or compose?
-
Clean Architecture VS. Official documentation!
Now, same story, in the current documentation the list is replaced by a single UserMessage without any explanation of the previous example. It just says "For a more advanced use case, displaying a list of user messages on screen, check out the Jetsnack Compose example." .
-
Dart 3 will be on pair with Kotlin and other top languages (you can see more features in the proposal)
As for the strange infix syntax, you're correct - it's not important (for Dart anyway). Kotlin supports writing code that have DSL like syntax making things like typesafe HTML or Jetpack Compose possible.
-
Jetpack Compose; A Modern UI ToolKit
Sample apps
This is what Jetpack Compose according to the Android Developers team;
-
Getting Started Guide for Kotlin Multiplatform Mobile (KMM) with Flexible Sync
JetPack Compose for UI building.
What are some alternatives?
MPAndroidChart - A powerful 🚀 Android chart view / graph view library, supporting line- bar- pie- radar- bubble- and candlestick charts as well as scaling, panning and animations.
filament - Filament is a real-time physically based rendering engine for Android, iOS, Windows, Linux, macOS, and WebGL2
Flutter - Flutter makes it easy and fast to build beautiful apps for mobile and beyond
MVICore - MVI framework with events, time-travel, and more
android-mvvm-dagger-rxjava-retrofit - A sample project which demostrate use of MVVM and Dagger 2 with RxJava2 along with Retrofit
badass-runtime-example-kotlin-tornadofx - Using the Badass Runtime Plugin with Kotlin and tornadofx
Decompose - Kotlin Multiplatform lifecycle-aware business logic components (aka BLoCs) with routing (navigation) and pluggable UI (Jetpack Compose, SwiftUI, JS React, etc.)
old-reddit-redirect - Ensure Reddit always loads the old design
molecule - Build a StateFlow stream using Jetpack Compose
accompanist - A collection of extension libraries for Jetpack Compose
tivi - Tivi is a TV show tracking Android app, which connects to trakt.tv
Coil - Image loading for Android backed by Kotlin Coroutines.