I participated to the KotlinConf '19, 15 days ago (It took some time to write this article down 🤗).
I am a mobile app developper. I am fond of React Native, and a beginner in Kotlin and Kotlin multiplatform.
Yes, Kotlin, you are great...
- Kotlin is typed and has type inference
- Kotlin has extensions functions, null-safety, immutability and coroutines ❤️
- Kotlin is a language created by Jetbrains ❤️
- Kotlin has the best IDE plugins
- Kotlin has an incredible adoption
- Kotlin runs everywhere
Yes, yes, well done Kotlin ! However...
... in the cross-platform mobile Dev world (iOS and Android) React Native is still a competitor
During the Kotlin Conf, I noticed that speakers compared Kotlin multiplatform and React Native. Kotlin multiplatform is at its very beginning. And yet some speakers announced it is better than React Native because... it leans on Kotlin. Well, here are 3 reasons (although there are many) why I will still write my next app in React Native JS.
1. Shipping JS is easy and fast
React Native has its secret weapon : Code Push. Other frameworks can hardly fight against the fact we can build, deploy and distribute new code in less than 5 minutes. Once configured, React Native JS code will be in production before Native code.
100 points to React Native JS !
2. Learning JS is easy, approachable and pragmatic
There are a lot of resources on the Internet to learn JS. At BAM, Egghead.io is our favorite learning tool.
Number of teams welcome new developers from various backgrounds. Learning and teaching React JS is very easy. With a small investment one can code quality features in a couple of weeks.
At some of our HR events, we make the attendees play out with Expo on their computer. There is nothing better to start experimenting when you want to write your first mobile app - and you don't need anything installed on your computer but an Internet browser !
That's another 100 points to React Native JS !
3. The community is Huge
The React and React Native community itself maintain a lot of resources and helps with issues and bugs. Within the last 5 years, they created awesome npm packages that are now part of the JS landscape : Apollo GraphQL, Redux, MobX and Formik to name a few.
150 points to React Native JS.
What does KotlinConf attendees think of it ?
I heard "Cannot read undefined of undefined is a nightmare" quite often 😅. And only a few people experimented React Native.
- write and type our business logic (buildtime checked)
- avoid callback hell
- use async-await keywords
I encourage people to give React Native another try. Especially since the version 0.61, the dev experience is better and faster.
What does KotlinConf speakers think of it ?
At the end of the conference, in the keynote auditorium, someone asked to the board:
Here are two interesting responses from the Kotlin board:
So here what I analyse from what Leland and Maxim say (and I strongly agree with their suggestion) : let's stop mocking a technology for it defects. We should get inspired by other communities and learn how each one of them deal with its problems. One community is not exclusive for its members and has a lot to take from others.
I hope you will give React Native some thoughts. And I am really looking forward to Kotlin multiplatform evolution !
It takes a great deal of bravery to stand up to your ennemies, but a great deal more to stand up to your friends - 10 points for me ✌️⚛️🥇