Justin helps dev and product teams navigate the waters of mobile app development and is an expert at integrating them into larger technical, customer, and business ecosystems.
cross platform solutions will never prevail over Native solutions
For UI: I agree. For logic: C, Python, Ruby, Java, etc prevail over asm...until you get into very specific performance or system architecture issues (e.g. the linux kernel is cross platform, but there is also some asm for some things)
As @kpgalligan
likes to say "Shared UI is a history of pain and failure. Shared logic is the history of computers."
Kotlin Multiplatform took the shared logic approach.
It is first-class on Android so you already have that platform covered.
It compiles to a standard ObjectiveC framework on iOS so it's like any other external native iOS library (Swift support in the works).
It transpiles to JS (kinda like TypeScript) for use on the web so it fits in with "native" web development too
And besides all the other compilation targets, JetBrains just announced much improved Wasm support for anyone who's interested in Wasm as the next important layer of a cross-platform stack.
apps that have to do with Camera, Audio Support and other hardware support stuff
From UI to hardware, no matter the solution, I totally agree with Ellen Shapiro:
if I client can't wait
Totally agree in this case. If the client can't wait and your core skills are JavaScript or .NET or Dart then it will be faster to make a Cordova, or React Native, or Xamarin Forms, or Flutter app than learn Kotlin and swift and the rest of the native ecosystems. It will then be up to the client to continue with those technologies or to port to a fully native app (and I have seen first hand when clients wait too long before porting to native)
There are increasingly more native mobile developers (those who develop for both iOS and Android). I have worked with a few, met many at conferences, and seen many on Twitter. It will be faster for them to develop fully native apps than learn (and deal with the issues of) a new tool. And, when they learn to architect for common Kotlin code, they'll be even faster.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
For UI: I agree. For logic: C, Python, Ruby, Java, etc prevail over asm...until you get into very specific performance or system architecture issues (e.g. the linux kernel is cross platform, but there is also some asm for some things)
As @kpgalligan likes to say "Shared UI is a history of pain and failure. Shared logic is the history of computers."
Kotlin Multiplatform took the shared logic approach.
Definitely, and that's something learned by Kotlin Multiplatform. "Unlike other "cross platform" ecosystems, Kotlin is designed to embrace the native platform it is integrating with."
From UI to hardware, no matter the solution, I totally agree with Ellen Shapiro:
Totally agree in this case. If the client can't wait and your core skills are JavaScript or .NET or Dart then it will be faster to make a Cordova, or React Native, or Xamarin Forms, or Flutter app than learn Kotlin and swift and the rest of the native ecosystems. It will then be up to the client to continue with those technologies or to port to a fully native app (and I have seen first hand when clients wait too long before porting to native)
There are increasingly more native mobile developers (those who develop for both iOS and Android). I have worked with a few, met many at conferences, and seen many on Twitter. It will be faster for them to develop fully native apps than learn (and deal with the issues of) a new tool. And, when they learn to architect for common Kotlin code, they'll be even faster.