Hi :wave: I want to make a case for using Compose...
# compose-ios
g
Hi 👋 I want to make a case for using Compose Multiplatform for a new Android/iOS app over going with React Native. Does JetBrains have any material that would help convince CMP is a real alternative?
j
Hello! 🙋‍♂️ This page has some case studies about Kotlin Multiplatform in general, but you can search on the page for "Compose" to find UI-specific studies as well https://www.jetbrains.com/help/kotlin-multiplatform-dev/case-studies.html
g
Thanks @Jacob Ras 👍 I’ve seen the case studies, but I need more of a React Native or Flutter head-to-head. One could argue those case studies could have been implemented in either of the other 2 frameworks. I’ll go check some of the videos for something I can use
c
These kind of comparisons are hard to make, since every app has different needs and challenges. What I would consider first and foremost is the team that will implement and maintain the app. If you have a talented web/RN team, no matter how much CMP is better at doing the job, your team might have a hard time to even start using it. If you have a world class Flutter team, than Flutter will be the best tool for them. For native devs at our company the best was CMP. If you do not yet have a team you still have to consider how hard is it to recruite devs for the different tech in your region. For example in Hungary it is really hard to find experienced Flutter and/or React Native developers, but quite easy to find native Android Developers, who are familiar with 90% of how a CMP project looks like, and can easily learn the Multiplatform tricks and iOS distribution part of it. Last but not least you should validate that what you want to implement can be done fairly well with the chosen tech, or can be bridged via plugins, so you can anticipate how much native work you need to do, or if all the plugins/libs are available readily.
👍 1
z
Generally speaking, almost anything can be implemented in any framework, the question is more about how difficult it is, what kind of tooling support you get, how maintainable the code is, what are the risks involved if you might want to go for native UI later, etc. If you're looking for material from JetBrains, these might be a good place to start: • https://www.jetbrains.com/help/kotlin-multiplatform-dev/multiplatform-reasons-to-try.htmlhttps://www.jetbrains.com/help/kotlin-multiplatform-dev/kotlin-multiplatform-flutter.html And of course the landing pages highlight a bunch of the advantages: • https://www.jetbrains.com/kotlin-multiplatform/https://www.jetbrains.com/compose-multiplatform/
👍 3
g
Thanks for the input @Csaba Szugyiczki 💯 And thank you for the resources @zsmb I’ll check them out
p
I built everything with Kotlin Multiplatform + Compose Multiplatform, works like a charm with no issues: https://play.google.com/store/apps/details?id=com.bluesky.followers.analyzer&pcampaignid=web_share
g
I don't doubt CMP at all 😃 I want to build the project with it. I just need to convince other stakeholders
👍 1
s
if you’re part of a team, why don’t you get a one-two day hack-a-ton going where you make a simple app in all those frameworks split in two 3 teams and collate your results and make the decision as a team. If you’re a sole dev, you have to make your case. look I use CMP and made two basic apps with one code base. heres pros and cons. I don’t like flutters ui declarative syntax and I don’t like react for mobile, I tolerate it for web because I can use typescript. CMP is the auto winner for me out of the 3, so then I would do a spike of a simple app starting with one of the templates, and be like “this is my recommendation for new project..”