You might have thought I was done with mobile development talk. NEVER!
lol Anyway I want to take this time to talk about my feels towards
Compose Multiplatform and what I\'m hoping happens over the near future.
What is Compose Multiplatform?
------------------------------
Compose Multiplatform (CMM) is a cross platform development solution for
Android and iOS. With Compose you use kotlin and jetpack compose (or
compose\...not sure the difference) to build the UI. Backend you can
also use kotlin if that\'s your jam (it\'s mine).
So this is Kotlin Multiplatform?
--------------------------------
Nope. You would think that these should be one in the same but the
mobile space is very strange. Kotlin Multiplatform (KMM) is more about
having a unified backend and a native frontend using Jetpack compose or
swift ui.
I guess the simple version is that KMM is only a half solution and CMM
is for a fullstack solution.
What are you CMM thoughts?
--------------------------
I\'m so glad you \"asked\". Let me set the scene for you first. I\'m
working on a side project with friends. At first we were going to go
React Native (not my thing) and I would focus on DevOps. A company shift
happened and we explored KMM. The KMM app went well, but we wanted a
write once UI if possible. That\'s how we got to CMM.
The migration from KMM to CMM wasn\'t fun. I think it took me 2 weeks to
figure it out. The folder structure changed, you have to use 3rd party
navigation, there were no preview options, and the documentation was
lacking. I think the worse part for me was not being able to quickly
setup Azure devops to push apps out on commit. The way the iOS app gets
packaged is with some type of kotlin wrapper. I\'m sure I can figure it
out when I\'m not working so late but at this time that\'s not a thing.
I expected a smoother experience because I had a smooth one with other
cross platform solutions. When you are thinking production apps I would
also like to not need a bunch of 3rd party libraries. I know people are
getting more serious about that and I appreciate it.
With a little more documentation and examples I can see CMM being a
thing and maybe growing, BUT I think it needs to leave jetbrain\'s
hands. The need a big backing like Google to really push it to the
forfront. I would say they need a facebook or microsoft but they are
pretty heavy react native.
I\'ll end my thoughts saying I still wouldn\'t use this if I was new to
the space. I\'m going to stick to my pov of learning native development
of react native only. I\'m just not sure this will be a breakout
language platform and I don\'t even really like it right now. lol
Keheira\'s DevOps Moment
------------------------
I just wanted to take this space to say that it should be easy to do
CI/CD with CMM. There is some kotlin compile issue with iOS that is
kinda hard to get through on Azure Devops. I stopped putting hours into
it. What I noticed people doing was using fastlane.
If you want fast CI/CD without spinning your wheels join the others and
just use fastlane.
I was using azure because that\'s what we had and it would be nice to
take advantage of the platform since we haven\'t had anything setup with
fastlane anyway.
TLDR Thoughts
-------------
CMM is still too new and too many kinks. I think they should have
navigation sorted \"natively\" v having to pull in 3rd party libraries.
I also believe in better getting started documentation. LASTLY going
from KMM to CMM shouldn\'t be so confusing. It shouldn\'t be more than
\"add this folder and your good\". A whole new structure and setup that
can only be done from the web if not paying jetbrains is crazy.
On the other side of my thoughts\...it would be a good time for google
to drop flutter and invest in CMM. You are already tied into kotlin
which is nice. Push it further by helping move the CMM platform. Flutter
is not making gains like other platforms and a \"new\" language wasn\'t
what we needed in this space. We need a unifying mobile dev language
(which kotlin is) and a way to do multiplatform.
------------------------------------------------------------------------
I have an ask\...could you help me come up with some writing topics?
I\'d like to get back into blogging more. Suggestions can be posted
here: <https://forms.gle/3TdgpQy277Taewqo6>