Choosing frameworks, languages and architecture approaches at Trello, Birdie, MetalBear and Motive.
Good read. Never heard about KMM before tbh, I need to read into that!
> With Flutter, no one in our team had any experience with it and after reading multiple blog posts, we decided it wasn't worth the effort of learning a new technology and a new language.’
Reading multiple blog posts should not be how you decide that a technology is *not worth it*. Especially one that is incredibly hyped. There are plenty of people who do think that it is worth learning it from scratch. Just observe the stats that Flutter regularly share, e.g. in Flutter Forward.
I am probably a minority of people who have heard of KMM (Kotlin Muliplatform Mobile), but as someone who works on mobile apps and is trying to be observant about the industry, I don't see it being used or talked about. I think that is a huge red flag. It's been around for quite a few years, but only reached beta 4 months ago. In mobile development, there are plenty of issues which your programming language doesn't solve: deployment to app stores, test automation, screenshot automation for store listings, offline, push notifications - in fact Gergely wrote a book on it - "Building Mobile Apps at Scale". Look at the announcement of KMM Beta, 7 points on HN: https://news.ycombinator.com/item?id=33152772. Look at the announcement of Flutter 3: 604 points on HN: https://news.ycombinator.com/item?id=31344863. Don't use points for everything, but 100x is a big deal - I'd guess there was 1000x more Flutter apps on the stores than KMM. 😂
Jetbrains (creator of Kotlin and KMM) have recently announced they will kill of AppCode, their Swift/iOS/macOS IDE. That is to say, they are not committed to iOS or macOS - I think this is a silly move but unfortunately it wasn't profitable enough for them. Perhaps they're diverting resources to KMM. Google have been heavily investing in Flutter. As such, the common "Google-will-kill-it" argument actually applies to Jetbrains more than Google.
I would say Kotlin is a nicer programming language than Dart. However, my gut feeling is that the companies with KMM Apps that survive will probably be re-written in Flutter or just native Android/iOS in the next few years.
Disclosure: I have written Kotlin professionally but never used KMM. I have also worked on Flutter apps and packages. Flutter + Kotlin would be nice 😅 - I don't think this will happen though.
Great article! I have a question on Trello and their solution designed on RabbitMq. What was the exact rationale behind having 1 inbound cluster and 3 outbound clusters? I’d assume for scalability concerns, but it would be nice understanding how did they get to that setup eventually, also considering the complexity and probably infra costs that came with that