Tech Radar Native

Find out what our experts say about the techniques, platforms, tools, languages, and frameworks associated with native technologies.
Adopt
Trial
Assess
Hold
Hold
Assess
Trial
Adopt
Hot Reload in SwiftUI
40
Swift Testing
39
Swift Perception
38
Compose Multiplatform
37
Amper
36
Typed Errors in Kotlin with Arrow
35
Swift Dependencies
34
Room
33
Factory
32
Kotlin Multiplatform (KMP)
31
Compose Stability Configuration File
30
µ-Features Architecture
29
Tuist 4
28
The Composable Architecture
27
Swift 6 Migration
26
SF Symbols
25
KSP
24
Gradle Version Catalog
23
Koin
22
Hold
Assess
Trial
Adopt
Adopt
Trial
Assess
Hold
Adopt
Our perspective

In conclusion, although Koin is not the inversion of control library recommended by Google, its ease of use and multi-platform compatibility make it a preferred choice for our new projects. For an existing project using Hilt, a migration to Koin should only be considered if a switch to KMP is planned soon.

Our perspective

Although RefreshVersion is another viable solution, Gradle Version Catalog has been standardized by Gradle and Google as the official dependency management solution. We recommend switching to this solution for any project that is not already using one of the two viable solutions.

Our perspective

Although KAPT is still a viable option, KSP surpasses it in every way. It provides better support for Kotlin- specific features and is twice as fast. We strongly recommend switching to KSP.

Our perspective

We recommend using this technology for all your native projects. Despite some subtleties in the creation of custom icons, SF Symbols offers undeniable advantages in terms of integration speed, convenience, flexibility and performance.

Our perspective

Given these considerations, we recommend migrating to Swift 6. Although major changes require careful evaluation of the investment, the benefits of improved compile speed and verified concurrency are substantial.

Our perspective

At Theodo, we've successfully implemented The Composable Architecture in production projects and highly recommend it for state management in SwiftUI applications.

Our perspective

We always recommend using Tuist for new projects. We also recommend migrating to Tuist 4, as the long-term performance and project management benefits far outweigh the initial transition challenges.

Our perspective

At Theodo, micro- features have become a benchmark choice for new native projects. We've been able to test just how much this architecture can simplify the upgrading or partial redesign of complex applications.

Trial
Our perspective

At Theodo, we see great potential in this solution. Although it is new and may have yet unknown limitations, we recommend a gradual implementation to ensure project compatibility.

Our perspective

We encourage you to start your new Android projects directly with KMP to guarantee their scalability. This in no way affects the project itself but will make it easier for you to share code in the future.

Our perspective

We recommend you give Factory a try in your projects, as it offers significant potential for improving the code quality and performance of iOS applications. Although there are trade-offs, its benefits warrant serious evaluation for future projects.

Our perspective

There are serious competitors to Room, such as SQL Delight or Realm, which also offer compatibility with KMP. In any case, Room remains relatively simple to use it's a safe bet for Android and soon for KMP too. You can safely integrate it into your Android application and envisage its use in a future Multiplatform version.

Our perspective

Swift Dependencies offers a compelling way to manage dependencies, whether in a TCA project or as an incremental migration in a non-injection project, although the lack of important functionality may be a barrier to adoption.

Our perspective

Arrow is a powerful tool for making Kotlin code more robust and readable. Both are already must- haves, but Raise, while promising, remains limited by its reliance on experimental features.

Assess
Our perspective

Amper is specifically designed to facilitate the development of Kotlin multiplatform projects and could become an interesting solution to explore for developers who want to simplify the management and maintenance of their builds.

Our perspective

CMP is very promising, and we believe in its potential: for projects targeting Android and desktop, it can be adopted without hesitation. For iOS, it's also highly recommended, despite its beta status. For the web, however, it's still too early to use CMP in largescale production. The rapid progress made by JetBrains, and the community is encouraging, so we'll be keeping a close eye on this technology.

Our perspective

In conclusion, swift perception is a valuable solution for developers who want to use @Observable on iOS versions prior to 17. Despite its drawbacks, it allows you to prepare your code for the future without losing users. At Theodo, we're integrating it into our R&D and recommend that you try it for your iOS 14 to 16 compatible projects.

Our perspective

At Theodo, we're keeping a close eye on Swift Testing. Its innovative approach and features make it a serious candidate for future adoption. However, due to its newness, it is currently in the evaluation phase. We believe that Swift Testing has the potential to become a key tool in our testing strategy as it proves its reliability and adds new features (such as UI or performance testing).

Hold
Our perspective

In spite of the technical feat, we don't recommend using this library due to its important drawbacks. Nevertheless, it shows that hot reloading is possible, and some Apple engineers might be inspired by it.

Discover the full version

Find out what our experts have to say about the techniques, platforms, tools, languages and frameworks associated with the main mobile technologies we use every day at BAM: React Native, Flutter and Native.