What Is Kotlin Multiplatform And How Does It Work? - KMP for Beginners

  Рет қаралды 66,847

Philipp Lackner

Philipp Lackner

Күн бұрын

Пікірлер: 156
@vishwam8632
@vishwam8632 6 ай бұрын
Excited for more videos on Kotlin and compose Multiplatform playlists
@r2rxheisenberg128
@r2rxheisenberg128 6 ай бұрын
Exited?
@ayitinya
@ayitinya 6 ай бұрын
@@r2rxheisenberg128 right...
@mrdarip4289
@mrdarip4289 6 ай бұрын
​@@r2rxheisenberg128I think he meant excited
@vishwam8632
@vishwam8632 6 ай бұрын
@@r2rxheisenberg128 now ok
@YasirZaman-jo4tf
@YasirZaman-jo4tf 6 ай бұрын
@@mrdarip4289 not think sure.
@gofullstack
@gofullstack 6 ай бұрын
7:23 The bridge here isn't entirely true because Flutter doesn’t depend on the native platform like RN used to unless it needs access to the camera and other hardware. For inputs, dialogues and other UI-related things no bridge is required just like a game engine and even when you need a bridge the performance difference is too slim. So that e-commerce you are dreaming of building can work fine with Flutter. Nice video by the way.
@subikeshps2289
@subikeshps2289 6 ай бұрын
Great video Philipp When I was trying out Kotlin multiplatform, I did come across some performance issues and even some runtime errors when the code was running in an iOS device. I tried to report them as much as I can, but most issues were because of objective C to swift interoperability. So it's better to test all the features thoroughly before directly using it a production app.
@ivan.angulo
@ivan.angulo 6 ай бұрын
Is true that Kotlin compiles to JVM bytecode but is then is converted to a Dalvik Executable (DEX). Android itself not longer uses JVM for running apps, instead uses Android Runtime (ART). During the installation of the APK, the ART runtime compiles the DEX files into native machine code. ART is the succesor of the Dalvik runtime.
@TiagoDvl
@TiagoDvl 6 ай бұрын
Really looking foward to this. Thanks once again, Philipp
@drantunes
@drantunes 6 ай бұрын
There is a problem with your speech in your last 2 videos. Flutter can call NDK functions through FFI, which makes it possible to generate bindings for native communication (in the similar way that Kotlin does for Swift or Objective-C interop - there is no magic). Of course, this mapping is not simple considering cross-platform (if it were, KMP should already be on all platforms)... it would be like building the NDK in the same language for all platforms (so, for quick adoption, a "more simple" approach is to use a communication interface with the current platform's SDK (e.g. kotlin, swift, c++, js, etc). But if your app needs 10 cents more performance in native, in Flutter you can use FFI to that. I really hope to see this magic in KMP of being able to access native resources directly, without any binding. This would be valuable for any other cross-platform framework that could use KMP as a native access layer.
@futynuty
@futynuty 5 ай бұрын
I don’t know about Flutter (and developing for Android in general), but Philipp saying that Flutter’s bridge INTERPRETING compiled code. KMP compiled into binary, so no interpretation needed. It is just like your C code calling library function.
@drantunes
@drantunes 5 ай бұрын
⁠no, Flutter compile to binary machine code and runs direct in the target platform… no interpretation, the release is compiled with AOT approach. This is a common mistake of who not uses Flutter, because the framework works with JIT and AOT compiler (developer and production).
@TheDeeStain
@TheDeeStain 5 ай бұрын
Please explain to me how many developers would use FFI that is communicating to native c/c++ code because that is all it communicates with right? (which still requires bindings) I feel like the usecase here is about less than 1% of ALL app developers that need that and is entirely different than what he is referring to native API's. (kotlin, swift, etc..)
@futynuty
@futynuty 5 ай бұрын
@@drantunes JustInTime compiler and AheadOfTime compilers are interpreters. If you need compilation at runtime - it is interpretation. KMP produces a binary code, which just called as any other library code. No anything, but the logic, developer wrote in the code. This is why it is Zero overhead interoperability.
@gofullstack
@gofullstack 6 ай бұрын
4:53 But Dart doesn't run on JVM since it compiles to native code and that also means there is no Dart VM when the code is native and everything is delegated to the code when launched. Am I correct?
@gofullstack
@gofullstack 6 ай бұрын
0:43 are they going to be limitations that Flutter don't have?
@ramjeegupta5490
@ramjeegupta5490 6 ай бұрын
I was looking for this playlist, Thank you and very excited for this
@events4089
@events4089 6 ай бұрын
Philip please introduce kotlin amper technology for build tool configuration for kmp
@zidan6900
@zidan6900 6 ай бұрын
where did the illustration in 3:40 came from? I think the iOS already stable by now right?
@dragonview5007
@dragonview5007 6 ай бұрын
When comparing Flutter and KMP, you always mention the downsides of Flutter but not Compose Multiplatform, don't get me wrong, I was like you, and that changed after trying Dart and JVM environments multiple times, Dart environment is much modern and much more simpler, the disadvantage of having to write a bridge to native code is there for a reason, how will hot reload work for example? it's very difficult to implement this on native targets even if they support it which they doesn't, shrinking the application is not a feature in Kotlin/Native, Dart it's and it's designed in a way so that you don't even need rules like on Android (R8 for Android or Proguard for JVM) Hot reload and Hot restart is a feature you will not see how valuable it's unless you use it a lot. Besides Compose Desktop has many issues and not stable yet they marked it as stable, too many issues like in Release for production applications, it will limit you to use Material 2 dependency even if you only include Material 2, Cupertino or something else, inconsistneisy like using different three Preview annotations, these are small problems and yet it's not solved yet as the focus is mostly on iOS and Wasm, it's also worth mentioning the bundle size is too big (50 MB) with the requirement of installing JRE, and this usually with the use of Proguard. Using packages and dev packages, writing scripts is much, much easier on Dart envrionemtn, For writing desktop applications I prefer Flutter Desktop, anyone who used both for a long time would agree. It's much easier to configure the project, you don't need things like declaring mavenCentral() as it's already declared (pub.dev) on pubspec and yet you still can use other sources, you even can use a library from Git repository, using fixes before they even release and try out things very quickly, it's just much less pain compared to JVM or Kotlin (Kotlin heavily rely on Java even if you use Kotlin/Native targets), you might disagree if you work your whole life with Kotlin and Java. Notice this is not complaining like some might though. I still use both though, in fact I even used KMP for writing Flutter plugins Yet it's still personal preference, it's useful to recognizing the full potential of the Flutter and Dart environment, both are powerful environments, yet still many consider the end of Flutter because of KMP without seeing the full features of Flutter.
@kinggeorges625
@kinggeorges625 6 ай бұрын
Bonne nouvelle. On attend impatiemment la suite des videos 😋
@shizanahamadali3748
@shizanahamadali3748 6 ай бұрын
thank guru, you helping students to archive there goals
@DaleHawkins
@DaleHawkins 6 ай бұрын
Looking forward to it!
@radeklukas
@radeklukas 8 күн бұрын
Is it possible to use some sort of abstraction / bridge layer in KMP so that I don't have to write separate native code for notifications etc.?
@abhishekkumarjha1661
@abhishekkumarjha1661 5 ай бұрын
Just a question it's mentioned that you mac for ios but. Is it vice-versa like can we build for Android on Mac??
@alexmercerind
@alexmercerind 6 ай бұрын
Awesome. Looking forward to the playlist.
@CursoSketchware-c1z
@CursoSketchware-c1z 6 ай бұрын
You already have my Like and View guaranteed❣❣❣
@kurtisharen
@kurtisharen 5 ай бұрын
Interesting timing. I’m actually starting to learn Kotlin at the moment. I learned Java and C back in college, but as far as Kotlin, I got as far as putting together a quick cheat sheet of formatting things like variables and functions. I don’t have internet at my house at the moment outside of my phone’s hotspot data, so my day today has been hauling my desktop to my grandmother’s house just to install Android Studio and hauling it back. I already have an idea for an app I want to develop, something kind of silly and dumb that’s more an excuse for learning to make an app and use the Google Maps API. I was about to start working on learning to put it together exclusively on Android when I found this video appear on my feed. So, like I said, interesting timing.
@LucasFerreira-ri6rg
@LucasFerreira-ri6rg 4 ай бұрын
Philipp, the course's description says you built the iOS UI using SwiftUI and not Compose. Did you update it? I want to start but I don't need to build native UI for iOS. My goal is to make it totally at KMP/Compose.
@futynuty
@futynuty 5 ай бұрын
You can use any libraries in appropriate platforms. They don’t need to be multiplatform. For example, if you need to use platform specific logging libraries, you just need to wrap each of them into common multiplatform API. This is just an implementation of your API, which on specific platform using available library. If one want to use log4j API in his/her KMP application, they will call method directly on JVM targets, but the Kotlin implementation of the same API on native target calling (or not) existing logging library. All these will happened in compiled binaries, so no different from one implementing direct calls.
@mortezamgh1347
@mortezamgh1347 5 ай бұрын
Thanks, waiting for next episodes of KMP from you
@yoshitoneo8616
@yoshitoneo8616 6 ай бұрын
You can also use the Mac Virtual Machine for compiling iOS platform
@HafizUmair-d8k
@HafizUmair-d8k 5 ай бұрын
can we use xml instead of compose in KMP
@northrider3762
@northrider3762 5 ай бұрын
Philip, hi. Can I use KMP on Windows operating system?
@PhilippLackner
@PhilippLackner 5 ай бұрын
yes, you just can't launch apps in an iOS/MacOs environment
@futynuty
@futynuty 5 ай бұрын
@@PhilippLacknerwhat do you meant “can’t launch”? Definitely can if you running on Mac. I cannot run Windows, because I am working on Mac.
@ajaykotiyal427
@ajaykotiyal427 4 ай бұрын
How Kotlin directly call iOS Native APIs? both are separate systems? without Swift, is it possible ? same with other platforms (except Android).
@arozendojr
@arozendojr 6 ай бұрын
Maybe if you compare the generated apk, you won't find the intermediate layer, because flutter transpiles it to native code in the final artifact
@PhilippLackner
@PhilippLackner 6 ай бұрын
Doesn't mean it isn't there in the binaries 😄
@arozendojr
@arozendojr 6 ай бұрын
@@PhilippLackner I could be wrong, kmp compose ios, does the same thing for the iPhone ios artifact, that's why the ios artifact is bigger
@akbarputra8726
@akbarputra8726 6 ай бұрын
Can KMP make .a library for IOS?
@yohanespradono5224
@yohanespradono5224 3 ай бұрын
which cross platform solution is best for building MacOS app (not ios)?
@PhilippLackner
@PhilippLackner 3 ай бұрын
If you know you only need a mac app, why think about cross platform 😅
@yohanespradono5224
@yohanespradono5224 12 күн бұрын
@@PhilippLackner because i only have windows (for development) and a hackintosh (for compiling and testing). i am building a desktop app for windows and macos.
@jadmurr7883
@jadmurr7883 3 ай бұрын
Hey, I’m interested in mastering KMP, but I’m a beginner and know nothing. Do you have a video or course where I can learn everything from zero? I’m assuming I should learn coding in kotlin but since KMP is new I don’t want to waste time in older courses. Please any advice is welcome, and thank you in advance.
@allanandliftedhands2669
@allanandliftedhands2669 6 ай бұрын
Finally. I hope this will cover Web as well.
@undeadredemption_
@undeadredemption_ 6 ай бұрын
Thank you Philip , you sir are a LEGEND 🙏
@wejdan4234
@wejdan4234 6 ай бұрын
Great, I will follow this list with the other commands for Android Studio
@tjkn8734
@tjkn8734 6 ай бұрын
Hello. I am interested in KMP/CMP. I wonder what are the prerequisites for learning these; what level of android and iOS experience we should have first? Thanks
@PhilippLackner
@PhilippLackner 6 ай бұрын
Kotlin and Android basics knowledge helps
6 ай бұрын
Android apps actually do not run on the JVM. They run on the Android Runtime (Art) or natively in case of Flutter and NDK. Android does not have any JVM. This is wrong in this video.
@himanshukhanna2589
@himanshukhanna2589 6 ай бұрын
Bro art is based on jvm
6 ай бұрын
@@himanshukhanna2589 True but it isn't the same.
@lordryns
@lordryns 6 ай бұрын
Does this Apple policy extend to IOS or can use emulators to test your ios app?
@amansaxena9018
@amansaxena9018 6 ай бұрын
Hello Philipp please make a complete tutorial video on api using with retrofit
@padmakargarg9720
@padmakargarg9720 6 ай бұрын
Can you make a call recording app in kotlin
@hanswurschtms
@hanswurschtms 6 ай бұрын
DIY.
@architgoyal4u
@architgoyal4u 5 ай бұрын
how does phone auth works in kmp?
@yusufbounaas6165
@yusufbounaas6165 6 ай бұрын
very informative video as usual , and for just a note you can leverage your iphone to test your ios code until you get a mac 😊
@Code_Cracker-n5r
@Code_Cracker-n5r 6 ай бұрын
Hi Phillip, On KZbin I searched for the DSA series In Kotlin but I didn't find a single video on it Please make a DSA series in Kotlin. Thank you!
@szpitor
@szpitor 6 ай бұрын
Finally. Thank you Phillip
@roland8061
@roland8061 6 ай бұрын
Would be nice to see how to setup a compose web app (WASM) and if there are any limitations for now, comparing to the other targets.
@futynuty
@futynuty 5 ай бұрын
WASM is still in alpha, so it may change significantly and often. Play with that, but don’t use for anything close to production
@alexnovikov1609
@alexnovikov1609 6 ай бұрын
I checked KMP and year ago. iOS support was in betta and Web support was absent (they call it “experimental”) but I couldn’t find any template for all 4 platforms. As I can see after an year, nothing changes for iOS. What is about Web? Can I build an app for 4 anounced platforms now?
@futynuty
@futynuty 5 ай бұрын
Actually for more that 4: JVM, Android, iOS intel, iOS arm, tvOS, watchOS, macOS intel, macOS arm, Linux intel, Linux arm, windows, and finally WASP, which is in alpha (experimental)
@ChrisAthanas
@ChrisAthanas 6 ай бұрын
GET READY FOR THE KMP JUGGERNAUT! I have full iOS/Android KMP example projects on my channel
@aminelhag
@aminelhag 6 ай бұрын
That is what I am waiting for it. Thanks for now.
@mrmohammadshah
@mrmohammadshah 4 ай бұрын
How to an ebook app using KMM?
@Kaiyes_
@Kaiyes_ 5 ай бұрын
so whats the difference between compose multiplatform vs kotlin multiplatform ?
@futynuty
@futynuty 5 ай бұрын
Compose is the UI library, which was redesigned into KMP. The KMP itself is the set of tools to compile Kotlin code targeting different platforms. Compose is a set of code, which can be compiled for all thouse target platforms.
@_runtime
@_runtime 6 ай бұрын
Can you give some info on the frequency you will be releasing the episodes on the playlist? Also, an interesting topic is Kotlin-to-Swift export, would be nice if you touch it too.
@futynuty
@futynuty 5 ай бұрын
Kotlin is not converted to Swift. It is compiled into library, which will be linked into the application AFAIK
@jblacktube
@jblacktube 6 ай бұрын
Yay! I've been hoping you'd do a full kmp walkthrough! You truly have a talent for making topics like these much easier to understand. I'm hoping you cover MacOS as part of your KMP examples, though I suspect that may not be something that you don't plan on dwelling on very much. Maybe though you could dedicate one episode each to Mac, Windows and Linux?
@anirudhaj1023
@anirudhaj1023 6 ай бұрын
man, i used to do kotlin apps with jetpack compose and switched to flutter i find flutter more easy than kotlin, but still things like constraint layout and coroutines are not available... so should i switch back to kotlin??
@theSiliconCoder
@theSiliconCoder Ай бұрын
Use hybrid architecture. Native and flutter working as one.
@YasirZaman-jo4tf
@YasirZaman-jo4tf 6 ай бұрын
2 new things I learned today: JVM for android Native binary for apple.
@fig7047
@fig7047 6 ай бұрын
Yeah, but I wonder if what actually happens on Apple is that they convert Kotlin to Swift (or C++ even). Presumably, it's XCode that has to build it on Apple. Idk.
@YasirZaman-jo4tf
@YasirZaman-jo4tf 6 ай бұрын
​@@fig7047 yes you are right but a better sound will be: for android: Kotlin code -> JVM bytecode -> Runs on JVM for iOS: Kotlin code -> Native binary -> Runs natively
@YasirZaman-jo4tf
@YasirZaman-jo4tf 6 ай бұрын
​@@fig7047 yes you are right but a better sound will be: for android: Kotlin code -> JVM bytecode -> Runs on JVM for iOS: Kotlin code -> Native binary -> Runs natively
@osisuper98
@osisuper98 6 ай бұрын
@@fig7047Nope, they don’t convert Kotlin to Swift on IOS or to Java on Android. The compiler does all the magic. On the JVM (Android & Desktop with JDK installed), the Kotlin Compiler converts your Kotlin code into Java bytecode so it runs on those target platforms, whereas on IOS it generates LLVM code (native code) which produces binary machine code. Kotlin/Native is a technology for compiling Kotlin code to native binaries which can run without a virtual machine, such as embedded devices or iOS. Kotlin/Native supports the following platforms: - macOS - iOS, tvOS, watchOS - Linux - Windows (MinGW) - Android NDK
@futynuty
@futynuty 5 ай бұрын
My understanding is that they compile to the library, but to run/debug you need to link and execute it on XCode
@valkthegreat8948
@valkthegreat8948 6 ай бұрын
IOS sucks, we still have desktop Win/Linux, web and Android. Greetings from Brazil sr. Lackner! I'am learning lots of amazing stuffs in your channel, both english and tech content. Thanks for sharing knowledge with us.
@CursoSketchware-c1z
@CursoSketchware-c1z 6 ай бұрын
Achei alguem de casa 😂
@jithind-feverx2818
@jithind-feverx2818 6 ай бұрын
KMP🔥
@osamamohsen3993
@osamamohsen3993 6 ай бұрын
Thanks philipp ❤️
@ЕгорСауткин-щ6г
@ЕгорСауткин-щ6г 6 ай бұрын
Ok, i will watch this)
@pakkerto
@pakkerto 4 ай бұрын
KMP is brilliant, thanks for the video
@РасулКапезов-з8д
@РасулКапезов-з8д 6 ай бұрын
Omg, Phillip! Thanks a lot!
@gorudonu
@gorudonu 6 ай бұрын
eh.. kotlin also has "bridge" or whatever you want to call it, when compiling to ios. you still have GC for kotlin code on ios so it's not magical like you want it to be. sure, you can extend ios objects but guess what does that compiler generate under the hood... bindings
@futynuty
@futynuty 5 ай бұрын
I think there is no binding. At least with JVM Kotlin using the same classes (0 overhead). I bet the same true with native. This is why they don’t promise Kotlin to work with Java and native in the same binaries. The Kotlin code actually compiled into different binaries for different platforms, which results in 0 overhead integration.
@gorudonu
@gorudonu 5 ай бұрын
@@futynuty like I said in my previous comment, kotlin native uses GC. There's some code generated to make it smoother but it's still not the same as objc
@futynuty
@futynuty 5 ай бұрын
@@gorudonu Kotlin Native compiles into .framework file, which contains the binary library. I guess GC is used just to link it into final application
@futynuty
@futynuty 5 ай бұрын
@@gorudonu you are right: Kotlin is not an Objective-C. Nobody says it is. Both source files compiled into the same final artifact (.framework). Kotlin Native is NOT cross-compiler. It is MULTIPLATFORM compiler.
@hoanghai5572
@hoanghai5572 6 ай бұрын
Most important things is Swift now support offically for multiplatform
@iro3d
@iro3d 6 ай бұрын
Great video. Though I wish there would have been no background noise (music).
@SPimentaTV
@SPimentaTV 6 ай бұрын
But we already have Flutter 😅 Maybe Google will be ditching Flutter and promote Kotlin Multiplatform
@codingCouncil
@codingCouncil 6 ай бұрын
Flutter doesn’t do native UIs.
@pablovaldes6022
@pablovaldes6022 6 ай бұрын
Flutter cannot do swiftui
@mic9969
@mic9969 6 ай бұрын
Flutter can nnot do anything
@gregsullivan7408
@gregsullivan7408 5 ай бұрын
Judging by the amount of articles that try to assert Flutter's bright future, I have little doubt that you are correct. 😉
@SalahPrayer
@SalahPrayer 2 ай бұрын
​@@pablovaldes6022KMP cannot do swiftui either 😂
@RefkiMeholli
@RefkiMeholli 6 ай бұрын
Nice .. thank you .
@henrik908
@henrik908 6 ай бұрын
Philip is the king 👑 of Kotlin and compose.
@edhahaz
@edhahaz 2 ай бұрын
It's coming soonTM. Or you could use Expo today.
@aaronperron
@aaronperron 6 ай бұрын
I really hope KMP takes off 🚀 I tried Flutter and I did not like it.( I'm coming from Native Android and IOS)
@kausikmr
@kausikmr 6 ай бұрын
How is KMP is better than Flutter?
@gondaimgano
@gondaimgano 6 ай бұрын
Can’t wait for KMP but one thing Flutter has no bridge buddy 😅
@PhilippLackner
@PhilippLackner 6 ай бұрын
Flutter can't call platform APIs directly like KMP can
@gondaimgano
@gondaimgano 6 ай бұрын
@@PhilippLackner that is a good point on a small limited platform perspective like your biometric etc but on the most part are you aware that Flutter uses Skia to completely render its own UI system making it essentially way faster.
@PhilippLackner
@PhilippLackner 6 ай бұрын
@@gondaimgano who speaks of UI rendering? I'm talking about platform APIs like camera access.
@gondaimgano
@gondaimgano 6 ай бұрын
you are right 😅probably its the way you delivered it. In any case 😊all the best on the next vids 🎉really excited to see what you will come out with 🎉
@topGfanboy
@topGfanboy 6 ай бұрын
​​@@PhilippLackneryou are just overhyping kotlin... Kotlin doesn't have an inbuilt vm like dart.. Dart is way more powerful and compiles to machine code.. Kotlin just is a slave of Java.. And how can it could even use native api's since all it can do is just to make java byte code with some sugary syntax... I think people are actually going to ditch this java shadow toy called kotlin...I always prefer java for accessing android system api's rather than kotlin's fun mimic sugary syntax.. I always feels kotlin like, a failed copy cat to java..
@princeneo294
@princeneo294 6 ай бұрын
This is nice
@randon.integer
@randon.integer Ай бұрын
Flutter uses Dart VM only for development with JIT compilation, in production it compiles to Native code with AOT compilation. Please stop confusing people
@AlexanderSuraphel
@AlexanderSuraphel 6 ай бұрын
I don't see what KMP compared to React Native. 1. Most of the code you write will depend on third party library which is not available on Kotlin native ( Kotlin android can import java libraries but not the case in JVM). 2. Renders Flutter like UI in every platform except Android if you use compose UI (which is pointless since you can always share code via shared C++ etc libaries if you're doing to make native UI for every platform ). React Native native modules actually let you share code.
@belkocik
@belkocik 3 ай бұрын
Guys, it's time to learn Kotlin. :D
@AlfredBethune-r3h
@AlfredBethune-r3h 2 ай бұрын
Gerhard Stravenue
@GarlandKobak-y4u
@GarlandKobak-y4u 3 ай бұрын
Barton Fall
@LukeHardy-b1o
@LukeHardy-b1o 3 ай бұрын
Block Trail
@fitzventure
@fitzventure 2 ай бұрын
So it's Xamarin, just with Kotlin instead of C#. Interesting.
@LorettaRodriguez-b2t
@LorettaRodriguez-b2t 2 ай бұрын
Norene Pike
@kshitizagnihotri8777
@kshitizagnihotri8777 6 ай бұрын
These cross platform technologies are actually ruining the market , and developer career , because Developer does not get time to focus on particular technology, a good developer has to reach deep in a particular technology, in this case iOS is better it is not open source like Android
6 ай бұрын
Something which JS based Frameworks and Flutter have been able to do for years… it’s not a new concept.
@KathlynBilleaudeau-u6k
@KathlynBilleaudeau-u6k 3 ай бұрын
Mohammad Prairie
@Designguidetv
@Designguidetv 6 ай бұрын
you know Swift multiplatform is coming? it's already working on linux!
@StevensonMaud-z5l
@StevensonMaud-z5l 2 ай бұрын
Hahn Station
@RajuYadav-qm4ic
@RajuYadav-qm4ic 5 ай бұрын
is it free
@BradleyOdelette-w5r
@BradleyOdelette-w5r 3 ай бұрын
Sean Loaf
@Aditya_6996
@Aditya_6996 6 ай бұрын
crazy
@HemingwayLindsay-l9x
@HemingwayLindsay-l9x 2 ай бұрын
Stamm Summit
@kamalzubairov2344
@kamalzubairov2344 6 ай бұрын
This all sounds like a Xamarin. Their approach to running applications on multiple platforms was exactly the same, but they have failed
6 ай бұрын
Not really, Microsoft has just rebranded it to .Net Maui
@futynuty
@futynuty 5 ай бұрын
Never heart about Xamarin, but check RIP page. It said the technology based on .NET, so what would you expect? Actually, KMP is very different. It compiles to native binary and not in byte code. The .NET is more like Microsoft version of JVM, and JVM is still alive. However KMP is different and tries to deliver on original promise by Sun Microsystems, but on new level.
@arozendojr
@arozendojr 6 ай бұрын
kmp looks a lot like flutter in operation
@1antoinette
@1antoinette 6 ай бұрын
KMP also needs bridges for calling native APIs, except for Android. You make it sounds like KMP will be like pure native app on other platforms, but no, it will be just be like Flutter, plus the ability to write native UI And Compose MP is still inferior against Flutter in all other platforms except for Android. KMP is great, and I'll be watching this playlist, I want to learn more, but it looks like you are either biased against Flutter, or doesn't have clear knowledge on what you are talking about.
@PhilippLackner
@PhilippLackner 6 ай бұрын
Which bridge does it need?
@1antoinette
@1antoinette 6 ай бұрын
@@PhilippLackner if you are not directly interacting with APIs, that's basically still a bridge, I know KMP compile its code for native APIs, and it's more native than calling platform channels on flutter. But there is still an abstraction bridge
@PhilippLackner
@PhilippLackner 6 ай бұрын
That's what I was saying in the video, KMP *can* call platform specific APIs directly without a bridge. Read here: www.jetbrains.com/help/kotlin-multiplatform-dev/multiplatform-connect-to-apis.html#expected-and-actual-functions-and-properties "The Android implementation uses the APIs available on Android, while the iOS implementation uses the APIs available on iOS. You can access iOS APIs from Kotlin/Native code." I also recommend checking Jim Sproch's Tweets on this, really informative :) twitter.com/JimSproch/status/1740214020785991716
@futynuty
@futynuty 5 ай бұрын
Philipp is correct: Kotlin get compiled into native binaries and so calls native API directly. The only case of what people may call “bridge” in this case is when your business logic API is not directly matches the platform API. However, this is not what “bridge” in this context means. You would have to write this code even if you writing your whole application in plain C. Kotlin provides you the implementations of its constructs, but this is not a bridge either, just a 3rd party libraries.
@m1thrandir
@m1thrandir 6 ай бұрын
first
@j2shoes288
@j2shoes288 6 ай бұрын
I can't even get logging to work. KMM is absolute trash.
@futynuty
@futynuty 5 ай бұрын
First of all doesn’t mix KMM and KMP. They are different. I think there are a few KMP logging libraries. Why you cannot log?
@ToddAzaria
@ToddAzaria 2 ай бұрын
28974 Kiehn Causeway
@PigouArmstrong
@PigouArmstrong 2 ай бұрын
5915 Alberto Spring
KMP vs. Flutter - Who Will Win The Cross-Platform Battle?
16:19
Philipp Lackner
Рет қаралды 60 М.
coco在求救? #小丑 #天使 #shorts
00:29
好人小丑
Рет қаралды 120 МЛН
Sigma Kid Mistake #funny #sigma
00:17
CRAZY GREAPA
Рет қаралды 30 МЛН
The ONLY Correct Way to Load Initial Data In Your Android App?
12:27
Philipp Lackner
Рет қаралды 40 М.
I've Used Jetpack Compose For 4 Years - Here's the Good and the Bad
16:12
Releasing Faster with Kotlin Multiplatform
32:24
Gradle
Рет қаралды 15 М.
20 Programming Projects That Will Make You A God At Coding
14:27
The Coding Sloth
Рет қаралды 1,5 МЛН
The Ultimate Gradle Kotlin Beginner's Crash Course For 2025
42:17
Philipp Lackner
Рет қаралды 21 М.
Google’s Quantum Chip: Did We Just Tap Into Parallel Universes?
9:34
coco在求救? #小丑 #天使 #shorts
00:29
好人小丑
Рет қаралды 120 МЛН