architecture-components-samples VS KaMPKit

Compare architecture-components-samples vs KaMPKit and see what are their differences.

architecture-components-samples

Samples for Android Architecture Components. (by android)

KaMPKit

KaMP Kit by Touchlab. A collection of code & tools designed to get your mobile team started quickly w/Kotlin Multiplatform (by touchlab)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
architecture-components-samples KaMPKit
26 10
23,231 2,053
0.3% 1.7%
2.3 5.2
4 months ago about 2 months ago
Kotlin Kotlin
Apache License 2.0 Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

architecture-components-samples

Posts with mentions or reviews of architecture-components-samples. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-19.

KaMPKit

Posts with mentions or reviews of KaMPKit. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-06.
  • Is Kotlin Multiplatform the right answer ?
    2 projects | /r/Kotlin | 6 Dec 2023
    In KaMP Kit we actually use Koin to add the Application instance: https://github.com/touchlab/KaMPKit/blob/main/app/src/main/kotlin/co/touchlab/kampkit/android/MainApp.kt
    2 projects | /r/androiddev | 5 Dec 2023
    So yes I would recommend using KMP. If you already use kotlin then it's an easy transition, you just have to learn how all the pieces work together. If you're unsure about it start with a small module and import that into your android sample. You can also view some sample projects to get started like https://github.com/touchlab/KaMPKit and https://github.com/JetBrains/compose-multiplatform-template.
  • Kotlin Multiplatform Is Stable and Production-Ready
    2 projects | news.ycombinator.com | 2 Nov 2023
    I've been using Kotlin Multiplatform Mobile (KMM) heavily for the past 2 years on my current startup. I'm currently in the process of removing the entire thing.

    KMM is an alternative to a cross platform mobile library like Flutter, React Native, etc. The idea is that we could write all of our mobile app's business logic, networking layer, and caching layer in Kotlin, and KMM will codgen the matching iOS code. "We only need to write it once!" is the selling point. Then we get a blank canvas to build our UI using 100% native SwiftUI & Jetpack.

    In reality, the codegened iOS code gets you 90% of the way there, the but extra 10% is extremely frustrating to work with. Enums (Sealed Classes in Kotlin) get mangled in translation and you lose exhaustive switch statements. Basic data types like Bool and Int get wrapped so you can only access them using additional .boolValue or Int64(..) constructors. Entire companies are being built around solving the pain point of this last 10%: https://touchlab.co

    In my opinion, the fatal mistake the KMM team made was designing it to support Objective-C, instead of just Swift. So you're using a Kotlin layer -> mangled through Objective-C -> accessed from Swift. It's a confusing decision, as the only iOS teams still actively using Objective-C are legacy apps (like the Twitter app), which seems like the opposite target market for new mobile tech like KMM. Kotlin and Swift are both modern languages, and my gut says the interop between the two would be much better without Objective-C in the middle.

    Further discussion from Droidcon if you're interested: https://www.droidcon.com/2022/08/01/sdk-design-and-publishin...

    > As you progress beyond "POC" to integrating and shipping real production code, the design of the "SDK surface" becomes more complicated and nuanced (or, possibly, problematic)... An Android consumer can see all the richness of the Kotlin language, but the iOS side gets filtered through Objctive-C into Swift. Much can get lost along the way.

  • Getting Started With Kotlin Multiplatform Mobile
    7 projects | dev.to | 17 Feb 2022
    KaMPKit This one is really good, and is kinda a best practice starting point. Touchlab is a very active contributor to the KMM community and it's definitely worth keeping an eye on their blog linked above.
  • KoMPose Kit: KaMP Kit goes Jetpack Compose
    3 projects | dev.to | 24 Aug 2021
    Hey folks, Brady from Touchlab here. I've only been at Touchlab since the beginning of the year, but KaMP Kit, our simple-but-not-too-simple sample project to help those considering Kotlin Multiplatform, started way back at the end of 2019. Back then, Jetpack Compose had just been announced in May. It was a time full of optimism about the modern mobile UI development experience, but also of wild instability. The first method of getting Jetpack Compose to work on your machine involved pulling down the AndroidX development toolchain, and running a special version of Android Studio via terminal commands. Eventually, preview, alpha, and beta version of Compose could be used in the canary version of Android Studio (more history). Starting July 28, 2021, Compose went stable, and a version of Android Studio Arctic Fox, which supports Compose, was released in the stable channel shortly thereafter. Now we can use a stable version of Compose with a stable version of Android Studio. We at Touchlab have been excited about Compose for a long time; you can watch us geek out about it here. And though the community has been interested in Compose for KaMP Kit since at least May 2020, we didn't want folks who are trying out Kotlin Multiplatform with KaMP Kit to also have to learn a changing Jetpack Compose API, and require them to use a special version of Android Studio. Now that these obstacles have been removed, we feel comfortable fully endorsing Jetpack Compose in KMM.
  • Google and Facebook Login on Android with Coroutines
    2 projects | dev.to | 30 Jul 2021
    I recently started using Google One Tap and Facebook login for some auth work for one of our clients at Touchlab, and wanted to make sure I was using the recommended best practices using coroutines and the new Activity Result API. This was trickier than I realized, because the docs for Google One Tap are out of date, and the API for Facebook login is out of date. So after figuring it out, I wanted to share some code snippets for my future self, and I hope you get something useful from it as well.
  • Encrypted Key-Value Store in Kotlin Multiplatform
    3 projects | dev.to | 7 Jun 2021
    Multiplatform Settings is a solid multiplatform key-value store, created by Touchlab's own Russell Wolf, used extensively at Touchlab, as well as in Jetbrains' KMM Production Sample. There is a Settings interface that is implemented for Android, iOS, MacOS, and JVM platforms. At first glance, it doesn't look like Multiplatform Settings offers any encrypted storage. But thanks to the abstraction that Android has built into SharedPreferences and Multiplatform Settings' support for saving to the iOS keychain, our work is pretty easy.

What are some alternatives?

When comparing architecture-components-samples and KaMPKit you can also consider the following projects:

kmm-production-sample - This is an open-source, mobile, cross-platform application built with Kotlin Multiplatform Mobile. It's a simple RSS reader, and you can download it from the App Store and Google Play. It's been designed to demonstrate how KMM can be used in real production projects.

ReKotlin - Unidirectional Data Flow in Kotlin - Port of https://github.com/ReSwift/ReSwift to Kotlin

workflow-kotlin - A Swift and Kotlin library for making composable state machines, and UIs driven by those state machines.

compose-samples - Official Jetpack Compose samples.

multiplatform-settings - A Kotlin Multiplatform library for saving simple key-value data

tivi - Tivi is a TV show tracking Android app, which connects to trakt.tv

facebook-android-sdk - Used to integrate Android apps with Facebook Platform.

android-mvvm-dagger-rxjava-retrofit - A sample project which demostrate use of MVVM and Dagger 2 with RxJava2 along with Retrofit

realm-kotlin - Kotlin Multiplatform and Android SDK for the Realm Mobile Database: Build Better Apps Faster.

jetpack-navigation-ftue-sample - [DEMO] Sample code to display "First-Time User Experience" in a Single-Activity app using Jetpack-Navigation, NavGraphs, Dagger, SavedStateHandle, Hilt, and EventEmitter - based on the FTUE example code in simple-stack-tutorials, but originally described by Google.

architecture-components-samples - Samples for Android Architecture Components.

nowinandroid - A fully functional Android app built entirely with Kotlin and Jetpack Compose