KMP vs. Flutter - Who Will Win The Cross-Platform Battle?

SdĂ­let
VloĆŸit
  • čas pƙidĂĄn 17. 06. 2024
  • In this video I'll compare the two most viable cross-platform technologies for mobile developers in 2024.
    👉 Check out my KMP course: pl-coding.com/kmp?...
    đŸ’» Let me be your mentor and become an industry-ready Android developer in 10 weeks:
    pl-coding.com/drop-table-ment...
    ⭐ Courses with real-life practices
    ⭐ Save countless hours of time
    ⭐ 100% money back guarantee for 30 days
    ⭐ Become a professional Android developer now:
    pl-coding.com/premium-courses...
    Get my FREE PDF about 20 things you should never do in Jetpack Compose:
    pl-coding.com/jetpack-compose...
    Regular programming advice on my Instagram page: / _philipplackner_
    Join my Discord server:
    / discord
    00:00 Introduction
    01:37 Code Sharing
    02:34 Compilation
    04:36 UI Rendering
    06:13 How To Communicate With Native APIs
    08:55 Performance
    10:06 Maturity
    11:53 Future
    14:10 Personal Recommendation
  • Věda a technologie

Komentáƙe • 260

  • @stijndcl
    @stijndcl Pƙed 8 dny +26

    A big pro for KMP is that if you ever change your mind and want to go native again, you only have to re-write the iOS app cause the Android one is already native. If you do that with Flutter you have to write two new apps from the ground up.

  • @mahmoudalkateb2008
    @mahmoudalkateb2008 Pƙed 9 dny +57

    Im working with flutter,
    CMP has a potential tbh, i love the structure of composables comparing to flutter widget its more readable and flexible, can't wait to transition to KMP đŸ€©

    • @ahmedbathily7013
      @ahmedbathily7013 Pƙed 7 dny +3

      The problem with kmp is you can only share buisness logic but not UI ,in another side with flutter one codebase can be shared in all platforms buisness logic and ui

    • @WarBorg
      @WarBorg Pƙed 7 dny

      @@ahmedbathily7013 you can share UI in KMP with Compose Multiplatform it's just that it is still in beta for iOS and alpha for Web

    • @gsmtechzambia3985
      @gsmtechzambia3985 Pƙed 7 dny

      ​​​@@ahmedbathily7013you can share ui code using compose multiplatform (CMP), which also uses kotlin

    • @mahmoudalkateb2008
      @mahmoudalkateb2008 Pƙed 7 dny

      @@ahmedbathily7013 no that's not true, you can share UI with CMP, that's why it has potential you have the option to share UI with CMP or only business Logic.

    • @raheim5730
      @raheim5730 Pƙed 2 dny

      Ummm...kmp now share ui.

  • @safionweb
    @safionweb Pƙed 9 dny +124

    React Native crying in the corner.

    • @kiyotaka721
      @kiyotaka721 Pƙed 8 dny +18

      is it though? Currently RN is the most used cross platform app development library

    • @steinbeats
      @steinbeats Pƙed 8 dny

      😂😂😂 they doing RN dirty

    • @hashemmousavi2451
      @hashemmousavi2451 Pƙed 8 dny

      😂😂😂😂😂😂

    • @aj3413
      @aj3413 Pƙed 8 dny +14

      ​@@kiyotaka721 Honestly rn is popular because React is popular among web devs. As soon as a new framework comes as an alternative, react native will become irrelevant

    • @MrPDTaylor
      @MrPDTaylor Pƙed 8 dny

      And angular ionic

  • @DeceptiveRealities
    @DeceptiveRealities Pƙed 8 dny +11

    I've been using Jetpack Compose MP in a real iOS product and can't say I've seen any real problems or showstoppers. The only annoying thing is how many parts have to be marked as Experimental at the present time.

  • @helmutbierbaumer2648
    @helmutbierbaumer2648 Pƙed 8 dny +33

    Congrats
    Your videos are constantly getting better and better.
    Clearly the number one source for Android on CZcams!

    • @PhilippLackner
      @PhilippLackner  Pƙed 8 dny +5

      Thank you!!

    • @azmo_
      @azmo_ Pƙed 7 dny

      Video quality has improved, but not content quality

    • @PhilippLackner
      @PhilippLackner  Pƙed 7 dny +1

      @@azmo_ what can I do to improve that as well? :)

  • @borislavvelchev7275
    @borislavvelchev7275 Pƙed 9 dny +83

    KMP is the next big thing!

    • @gerdsfargen6687
      @gerdsfargen6687 Pƙed 9 dny +2

      I hope so..and that it stays around for a while.

  • @Niural
    @Niural Pƙed 8 dny +11

    I'm taking the risk and investing in Kotlin and KMP for my career as I'm about to graduate. At worst I think I can transition to native Android. Wish me luck guys.

  • @xD-saleem
    @xD-saleem Pƙed 8 dny +1

    Your channel blew up. I remember your first video! Good to see you again bro.

  • @mahiainti678
    @mahiainti678 Pƙed 8 dny +4

    3:53 I would note that Kotlin-to-Wasm is also a compilation target, although it's still in alpha. One great thing about it is that it allows to use the same Compose UI for web apps (while you cannot use Compose with Kotlin-JS)

  • @xybnedasdd2930
    @xybnedasdd2930 Pƙed 8 dny +18

    Please, for the love of god: do *NOT* assume performance differences without providing real-world benchmarks. For example, JVM-targeted Kotlin is oftentimes faster than Kotlin Native. Also: Flutter does *NOT* use DartVM for production apps, only for debug apps.

    • @TranMinh-oh5un
      @TranMinh-oh5un Pƙed 8 dny +4

      So, that means Flutter is better performance?

    • @thecoolnewsguy
      @thecoolnewsguy Pƙed 8 dny +2

      ​@@TranMinh-oh5unno just that it's faster in production than development phase

    • @DeceptiveRealities
      @DeceptiveRealities Pƙed 8 dny

      Yes - a good video let down by this part. What's on paper doesn't always translate to real world applications.

    • @scottstoll-dn2yx
      @scottstoll-dn2yx Pƙed 15 hodinami

      Flutter compiles debug builds you're working on as Just In Time which allows you to change state and show the changes in the very next frame so you can iterate quickly as you develop. But that is DEBUG or Development builds ONLY. Production builds are Ahead of Time compiled into binary executables, which are MUCH faster. Please get that right before doing any performance comparison.

  • @gerdsfargen6687
    @gerdsfargen6687 Pƙed 8 dny +4

    Philipp, do you have a video that shows a roadmap to go from the old system of Java Android dev to full blown Kotlin and adopting clean architecture with KMP and Compose?

  • @user-mh3jo5hw2v
    @user-mh3jo5hw2v Pƙed 8 dny +5

    I recently decided to try Kotlin. Having seen how much effort it takes to configure Gradle, I decided to abandon this idea. Until JetBrains implements Amper, I’ll better think about the Flutter + Rust combination (rinf).

  • @ignaciogarcia1174
    @ignaciogarcia1174 Pƙed 8 dny +7

    I love Kotlin but there are massive libraries I would need to create from the ground up. This means that Flutter has the edge when special libraries are needed.

    • @PhilippLackner
      @PhilippLackner  Pƙed 8 dny +4

      Which libraries are you missing in KMP?

    • @readmeandanswer8142
      @readmeandanswer8142 Pƙed 8 dny

      @@PhilippLackner check flutter gems, there are not even close to this number of solutions on the kmp.

    • @stijndcl
      @stijndcl Pƙed 8 dny +1

      Google is making big efforts to help KMP right now, they recently made a decent amount of Jetpack libraries multiplatform

    • @FahadAyaz
      @FahadAyaz Pƙed 6 dny

      ​@@PhilippLacknerI'd say the Firebase stack is currently pretty lacking. There's some unofficial ones but they're not complete and I've had issues there. They don't support Firebase Cloud Messaging at all, which is a pretty important component.
      I'm using Supabase for a personal project though and they support both KMP and Flutter, interestingly :)

  • @c4coding293
    @c4coding293 Pƙed 9 dny +32

    Flutter apps run in VM only on emulators but while running on physical devices no VM is created.

    • @TranMinh-oh5un
      @TranMinh-oh5un Pƙed 8 dny

      Sure?

    • @xybnedasdd2930
      @xybnedasdd2930 Pƙed 8 dny +1

      @@TranMinh-oh5un Yes.

    • @TranMinh-oh5un
      @TranMinh-oh5un Pƙed 8 dny +1

      @@xybnedasdd2930 I know about AOT. But are you sure that all dart code is compiled in AOT phase? Seems better than ART?

    • @c4coding293
      @c4coding293 Pƙed 8 dny

      @@TranMinh-oh5un When running Flutter apps on physical devices, no virtual machine (VM) is created. Instead, Flutter uses ahead-of-time (AOT) compilation to compile Dart code to native ARM code, which runs directly on the device's hardware. This allows for high performance and efficiency. In contrast, when running on emulators or simulators during development, Flutter can use a Dart virtual machine (VM) to enable features like hot reload, which speeds up the development process by allowing for quick changes without restarting the app.

    • @meshoraouf8929
      @meshoraouf8929 Pƙed 8 dny +2

      It runs in a VM, in a single activity, and in a single thread
      And the size is bigger like working with an engine like a game engine 😂
      This I believe

  • @user--10552
    @user--10552 Pƙed 7 dny +2

    hi
    is there something lightweight and effective for jetpack and kmp, something like vscode...
    Android studio really heavy?

  • @MichaelMossmanNZ
    @MichaelMossmanNZ Pƙed 8 dny

    Thank you Philipp for another great vid! ... 2:30 not a lot of syntactical sugar ... I love it =)

  • @frankleth9380
    @frankleth9380 Pƙed 7 dny

    Greetings from Denmark, Philipp, always good to see your videos

  • @tarapogancev
    @tarapogancev Pƙed 8 dny

    Great video! I work with both Jetpack Compose and Flutter, almost 50/50, and have to say I really enjoy Kotlin as a language much more than Dart. UI in Jetpack Compose is also much cleaner, but you eventually get used to Flutter's way as well. For now, I'd still go to Flutter when it comes to cross-platform apps. I feel comfortable with its large community of pub packages, and a wide span of learning resources, but I'm sure that I'll be learning KMP in the near future one it gets more support and a stronger base. This is a great start! 😄

  • @leonelp9593
    @leonelp9593 Pƙed 8 dny +1

    Really cool video Philip !
    in my opinion KMP/CMP will take over with time (in the short time, Flutter will definetly not disappear tho) because not only you will have all your androd native devs avaible initially on the market, but also its gonna be very easy to make ur already existing native Android app to be Cross-platform.
    And with CMP it seems that its gonna be the "Quick" way to do an MVP (kinda like Flutter or RN) where after your MVP has been succesful you can just easily make the UI native in each platform if you want.
    i mean i dont see any Cons tbh

  • @henrik908
    @henrik908 Pƙed 8 dny +4

    How to setup a kMM project on arch? ☠

  • @lynx0976
    @lynx0976 Pƙed 8 dny

    I think writing libraries for multiple platforms will be very sweet in KMP. It would be nice to use Compose multiplatform for Android and expand the UI to other platforms when those platforms become stable.

  • @acromos
    @acromos Pƙed 8 dny +23

    Flutter is to Cross-Platform as Python is to Machine Learning.

    • @user-zy4yh8iw1f
      @user-zy4yh8iw1f Pƙed 7 dny +2

      Flutter is great, but ig even tauri could be a thing, it's releasing mobile support soon.

  • @bennguyen1313
    @bennguyen1313 Pƙed 3 dny

    Is Flutter suitable for making applications that access hardware attached to a PC? Either as a browser/web-app , or as a standalone pc executable?
    For example, if the hardware connects via usb or pci (and can be accessed via a 32-bit or 64-bit DLL), how easily (or well documented) would it be for Flutter to call those dll functions? Platform Channels / FFI?

  • @Haider5c
    @Haider5c Pƙed dnem +1

    do you hear of impller ? this engine solved so many rendering problems and cmp use skia that had so many problems in the past

  • @rithikrithik5249
    @rithikrithik5249 Pƙed 8 dny +1

    there is no tutorial about Pre-registration in google play console make a video step by step plz many small scale developer are not knowing about Pre-registration.

  • @TshegoEagles
    @TshegoEagles Pƙed 8 dny

    Am learning a lot from you Phill, thank you

  • @GeminiVS
    @GeminiVS Pƙed 2 dny

    is there any posible chance that KMP will support HarmonyOs in the future? the HarmonyOs seem to support Kotlin and few more android language.

  • @rexitspersonal8353
    @rexitspersonal8353 Pƙed 9 dny

    Great perspective, understood everything

  • @rishusharma1630
    @rishusharma1630 Pƙed 8 dny

    Great video as always sir!! Can you make a tutorial for webview oauth with jetpack compose?? I have been trying to figure that out for quite sometime now 😅

  • @dadlord689
    @dadlord689 Pƙed 6 dny +1

    Flutter is occupying less ram as it don't have vm, while in theory should be able to do everything that platform provide. Quite impressive. It is just a 2D game engine with a simplified language, that seems to be very ok for the most task. Bunch of widgets already made. I don't know who needs native crap so hard to awoid Flutter, but it had enough troubles with iOS builds in the past to get a bad reputation. Overall cross platform is for low budget/ low responsibility type of things. And Flutter already has few game engines built ontop of it making it more of an eye candy then anything else. Also you can write server side code with Dart, that mekes knowing it more valuable now.

  • @FahadAyaz
    @FahadAyaz Pƙed 6 dny

    For Compose Multiplatform, it's pretty annoying that we don't have a @Preview that we can use in common code yet. At least not in Android Studio. They do in Fleet but it didn't seem to work for me, not sure why

  • @maxwellkjr
    @maxwellkjr Pƙed 9 dny +6

    React Native/Electron left the chat

  • @programmieren3197
    @programmieren3197 Pƙed 8 dny +2

    I am a native iOS developer and I love KMP cause Kotlin is on the same level as Swift and i can build a native UI vor IOS

  • @events4089
    @events4089 Pƙed 8 dny

    Philip how to prepare Resume for a kmp developer

  • @Exiide89
    @Exiide89 Pƙed 9 dny +3

    Ease of development will win. Which one is easier and comprehensive without having to channel with native code? And also, how quick the platform development team is to implement features. For example , Flutter can't handle Content URI at present on its own. I put in a feature request on content uri and there was some work in progress by flutter team on it. But its been in limbo for the last month or so.

    • @fernando_s97
      @fernando_s97 Pƙed 9 dny

      What's content Uri?

    • @Exiide89
      @Exiide89 Pƙed 9 dny

      ​​​@@fernando_s97Its the standard way of handling file paths now where indirect addresses in the format Content:// are generated by OS instead of direct File:// paths. Idea is to avoid direct access to files and not let the actual address of the file be known.

    • @TheClaudio133
      @TheClaudio133 Pƙed 8 dny

      is that a topic related with dynamic links?

    • @dannicron
      @dannicron Pƙed 8 dny

      If ease of use won, every app would be in PhoneGap

    • @LemuelXu
      @LemuelXu Pƙed 7 dny

      Define "win"

  • @user-vs9ey3bd4t
    @user-vs9ey3bd4t Pƙed 8 dny +2

    current salary is just 600$,I even purchased a 2000$ mac book only for KMP,

  • @mateuszd7586
    @mateuszd7586 Pƙed 4 dny +1

    Hi,
    I agree with your point of view, especially with a future of it.
    I'm 11 years experienced mobile developer (7 years Android, 4 Flutter, now back to native Android since 3 months). Flutter is really cool framework which really works, has the best way of state management via for example BLoC solution. Main problem for all cross-platform frameworks are developers from totally different environments. iOS devs, like you said, they are really suspicious for anything outside from Apple. We had few iOS devs in my Flutter team, but all of them or almost all changed project to native iOS. So I don't believe that in a future KMP or Flutter will be so popular to change iOS native developers to any cross-platform solution.
    Another problem of Flutter/ReactNative is that developers can know framework, but do not know mobile platform on which they are developing. So still native devs are needed to solve some OS specific problems.
    KMP, however, requires native developers to write the UI parts of the application, which Flutter does not require.
    Thank you for this video :)

    • @AdeIskandar-lx4rn
      @AdeIskandar-lx4rn Pƙed 3 dny

      amazing experience, Why did you decide back to native Android?

    • @mateuszd7586
      @mateuszd7586 Pƙed 3 dny

      @@AdeIskandar-lx4rn Thank you :) My Flutter project has been moved to client side and no Flutter projects/jobs in Poland for Senior Dev. More offers for native Android.

  • @venkateshlingampally7220
    @venkateshlingampally7220 Pƙed 8 dny +4

    why don't you make Flutter development tutorials?

  • @adnandzindosoda
    @adnandzindosoda Pƙed 8 dny +16

    I will dive into kmp 2026. Until that they will change everything 100x

    • @akashkumardas6521
      @akashkumardas6521 Pƙed 8 dny +2

      Same thought

    • @user-jchjkitv77896
      @user-jchjkitv77896 Pƙed 8 dny

      For now I'm with flutter but it looks like Google is shifting to kmp I think I'll wait as well

    • @FahadAyaz
      @FahadAyaz Pƙed 6 dny

      ​@@user-jchjkitv77896I'm don't think that they're planning to abandon Flutter but they're two different approaches to solve the same problem. One isn't necessarily better than the other.
      I think Google adopted KMP and will support Compose Multiplatform because it's much more familiar if you're already developing for Android and many things can be reused, so that lowers the barrier for entry. Personally, I'm likely to stick with Compose Multiplatform.

  • @amnchouhn
    @amnchouhn Pƙed 8 dny

    hey can you please tell whether I can publish my app on my own like a simple notes app or mini project to just get a job (No plans to earn money or monetize) just to show the recruiter that I can publish app on playstore

    • @yewo.m
      @yewo.m Pƙed 7 dny

      You definitely can. You typically just need to make a payment for a developer account when publishing to either app stores. On Google Play I know it's $25. For the Apple store I'm not so sure
      Have you already developed the app?

    • @amnchouhn
      @amnchouhn Pƙed 6 dny

      @@yewo.m No I haven't. Asked this questionn just to know is it even worth it or not. Just learnt the basics, yet to build an app, thanks for answering. Are you professional android developer?

  • @darkcamper5533
    @darkcamper5533 Pƙed 8 dny

    make a video about Pre-registration in google play console step by step plz there is no tutorial

  • @denisdavidek
    @denisdavidek Pƙed 8 dny

    As a native Android developer, I do think that KMP is the next big thing. I will start checking and learning it soon.

  • @HindiSongslofi
    @HindiSongslofi Pƙed 7 dny

    Flutter apps have options to make ui similar to iOS using Cupertino components and Cupertino scaffold

  • @TheFlexath
    @TheFlexath Pƙed 8 dny

    Thank you, Philipp

  • @ShidoKarasu
    @ShidoKarasu Pƙed 5 dny

    Thank you so much for this video, Philipp, it was a real good timing, the company that I work for, from time to time, comes back with the "exotic" idea of changing the whole 4 year long native android and iOS apps to flutter because of...I don't know. Looks like they want that for some reason, maybe they think it will reduce costs of anything like that. Basically throw away all the code we've been written, all developers expertises, to change to flutter. Which is a realy weird move, we usually see flutter apps become native, but not the other way around. So I'm having more and more ammunition to talk to them, again. Thank you

  • @TahiruAgbanwa
    @TahiruAgbanwa Pƙed 8 dny +3

    Nope , dart VM is for only debugging on emulators on real devices flutter compiles to native arm code. I don't know where you got your data from but yh.

  • @UnderDogStudioz799
    @UnderDogStudioz799 Pƙed 6 dny

    It was observed that implementation of nested composables has given performance drop...

  • @forno_nicolas
    @forno_nicolas Pƙed 4 dny +1

    Last WASM update for flutter web and impeller for android are a painful call for me to abandon Js Frameworks and html
    I feel that in a near future all will lean into WASM and some universal WASM UI Renderer.

    • @pitzera
      @pitzera Pƙed dnem

      I think so too. We have an app online build in flutter for web site with html&Js rendering manually disabled and it works. But, of course, there is one huge downside at the moment: Google SEO only supports HTML websites for their index. Without options to support SEO, any technology besides html and JS will not run on main pages, only on sub level of the front-end. That's a shame.

  • @shizanahamadali3748
    @shizanahamadali3748 Pƙed 21 hodinou

    if you explain with some visual edits, its will really help me to understand very easily

  • @amtrax02
    @amtrax02 Pƙed 8 dny +1

    But it is still easier to write in flutter when someone doesn't work in Apple environment

  • @charles_hacks
    @charles_hacks Pƙed 8 dny

    What about react native?

  • @ayeshdon
    @ayeshdon Pƙed 8 dny

    If you have experience with Flutter or React Native, it will be a great asset in the future. Many existing Flutter and React Native apps will need ongoing maintenance and support. While KMP/CMP might be the next big thing in the mobile development industry, it's important to think positively: Flutter and React Native developers will still be in high demand.

  • @ivasuktelesuk100
    @ivasuktelesuk100 Pƙed 8 dny +3

    Hot Reload. I am using it in RN project and its amazing. As initially Android dev I couldnt forget days when I need to wait minutes on really huge projects for each incremental change 😱 Flutter has it as well as I know. Unforunately KMP out of the game here for now seems (

    • @_runtime
      @_runtime Pƙed 7 dny

      Well, if you use hot reload for UI, then compose previews cover almost everything. And Live Edit will get you covered on Android.

    • @FahadAyaz
      @FahadAyaz Pƙed 6 dny

      ​@@_runtimeunfortunately it doesn't work on Compose/Kotlin Multiplatform. Stuff is generally much faster nowadays though as a lot of stuff is cached and doesn't need to be recompiled unless the code in particular files is updated

  • @user-ly4eb2cg4c
    @user-ly4eb2cg4c Pƙed 8 dny +2

    Aaah shit, here we go again, another framework to choose from.

  • @loopstarnoob3921
    @loopstarnoob3921 Pƙed 8 dny

    Could you make more build a full app tutorials
    The old ones seem too diffrent/outdated

  • @TheBerlinFactor
    @TheBerlinFactor Pƙed 8 dny +1

    Isn't Flutter by definition somewhat higher level? Considering for example the single-window limitation? (Workarounds exist, but it's not straight-forward to use.) KMP feels more low-level in that regard. More potential. But more complex. Flutter feels simpler overall. K(MP) feels more versatile overall.
    What I find astonishing is the simple build setup and management in Flutter vs the crazy Gradle mess of K(MP). Hoping for Amper to bring some alleviation there.
    Now if they would only make Dart a little less annoying.. 😀
    After a few weeks with Flutter/Dart, however, I feel like you can iterate crazy fast compared to KMP. Hot reload/restart has it merits. And afaict KMP (for me mostly targeting Android) is not close, yet, in that regard.
    The "standard library" is, however, quite annoying, coming from Kotlin... ‟\_('')_/‟
    But then there is also Clojure-Dart. Haven't used this yet. But will look at this next. Looks crazy promising. Plus, there seems to be an easy way to use K(MP) in Flutter. Another next thing to look at.
    All things considered, when Flutter is a viable option for a task, it's perfectly fine to pick it, right? If you need the versatility of KMP, then Flutter probably isn't an option anyway...
    Who will win? IDK. Considering the madness of the JS ecosystem... Probably some mad solution will win for cross-platform, too? 🙃

  • @_JSN
    @_JSN Pƙed 8 dny +4

    I have been using Kotlin since 2017, but Dart is a nicer language to code in. I like composables more than widgets though.

    • @programmieren3197
      @programmieren3197 Pƙed 8 dny +1

      Why do you think so. Dart is not very good for functional programming and don’t has data classes

    • @_JSN
      @_JSN Pƙed 8 dny

      @@programmieren3197 I think Dart is just more intuitive and more concise (not always, but most times). It doesn't give you decision fatigue because it doesn't have as many keywords and "syntactical sugar" ways of doing things.
      It has a very consistent style that makes it easy to jump into someone else's code and there is not as much of a learning curve as with Kotlin. If you know Java/Javascript/C# it's relatively easy to learn Dart compared to learning Kotlin. Things like making http requests and parsing JSON are relatively trivial in Dart. And don't even get me started on how easy it is to use pub vs using gradle.
      As for functional programming, I'm not sure what you mean by it's not very good for functional programming. Could you please explain further?
      As for data classes, you can achieve the same behaviour in Dart by using Equatable.
      Edit: You can also achieve "data classes" in Dart by using Freezed.

    • @_JSN
      @_JSN Pƙed 8 dny

      @@programmieren3197 Idk what happened to my original reply, but you can use Freezed or Equatable in Dart to achieve the same behaviour as data classes

    • @gorudonu
      @gorudonu Pƙed 8 dny

      I agree, I like dart more than kotlin (and I've been using kotlin since it was in beta). I also think Flutter widgets are better than composables.

    • @_JSN
      @_JSN Pƙed 8 dny +1

      @@gorudonu The biggest benefit for me with widgets is that they are actual classes that you can extend, unlike composables. I just find it easier to do what I want using composables for the most part. Like making custom dropdown menus for example.

  • @samTheTechieGuy
    @samTheTechieGuy Pƙed 8 dny +2

    KMP is still not stable/production ready. We tried KMP at my company and we gave up after a few POC's. Will it pick up, get adapted widely by companies in the future? That is a Million dollar question and I don't know the answer to that. My Company has moved on to MAUI(Previously Xamarin) by Microsoft for Cross Platform Technology and we have been making great progress with it. As it sits today, my confidence level on KMP is very low and I don't see Companies jumping on the KMP Bandwagon right away. If Companies do not adapt KMP on a large scale, there will not be much jobs and investing time in this technology may not be worth it for any developer.

    • @ivasuktelesuk100
      @ivasuktelesuk100 Pƙed 8 dny

      I wondering what have been arguments for Xamarin having RN and Flutter nearby?

    • @samTheTechieGuy
      @samTheTechieGuy Pƙed 8 dny

      @@ivasuktelesuk100 RN is completely Javascript based framework, it does not have AOT(Ahead of Time) compilation and you cannot run javascript directly on iOS, you will need some sort of a plugin. The biggest drawback with Flutter is, developers have to learn Dart, as Dart is the underlying language used. It is very tough to find developers who are willing to learn/invest in Dart. Also, with KMP round the corner, there is a strong rumor that google might retire Flutter someday in favor of KMP. Xamarin uses C# as the underlying language and it is pretty easy to find developers having experience in C# and also Microsoft has a huge developer community support.

    • @philipalveo
      @philipalveo Pƙed 8 dny

      It depends per country, tbh both MAUI and KMP are rare, KMP being rarer because it's still comparatively new compared to MAUI but I think it will catch up. If you have listened to the whole video you would understand lol.
      Our company is critically studying KMP to for a while now, I know others too. You cant say or predict anything atm

  • @Apenschi
    @Apenschi Pƙed 6 dny

    KMP is bound to the abilities of the JVM, which e.g. means no sound null safety. KMP is bound to Skia rendering whereas Flutter will get it's own optimize (much better) Impeller engine. For Web Flutter will soon compile to WebAssembly. Flutter's aggressive composition lead to much better reusability of GUI components compared to Compose. KMP has no macros. And so on... But the biggest problem for Kotlin in general is that it is "only" an improved version of Java. And it's success is made by Googles need to leave Java. But Oracle is not stupid. Java will catch up syntactically and will also have features that are better than in Kotlin (see pattern matching). That means Kotlin will have a hard time spreading beyond Android and could easily even be replaced by Java on Android again some time in the future.

  • @realth000
    @realth000 Pƙed 8 dny

    I'm using flutter in recent two years, it's great. Now im trying kmp because Kotlin is more powerful than dart3 and i need to learn some android native for flutter side. So kmp is another choice.
    I only do these in side projects, flutter and kmp they are absolutely enjoyable.
    Thanks for your video!

  • @mitotv6376
    @mitotv6376 Pƙed 7 dny

    What is KMP??

  • @iyadzac
    @iyadzac Pƙed 7 dny

    what about react native? in my company there's more demand of RN than flutter.

  • @user-sj6xy6ql4g
    @user-sj6xy6ql4g Pƙed 8 dny

    Hi @philipp lackner, as you know there is lack of resources to learn kmp in the internet in General, can you give me Websites or any place to learn more and more about how to use kmp?
    Thanks in Advance.

    • @PhilippLackner
      @PhilippLackner  Pƙed 8 dny

      I'm onto it, just follow here and more will come soon :D

    • @user-sj6xy6ql4g
      @user-sj6xy6ql4g Pƙed 8 dny

      @@PhilippLackner
      But Please I want vedio about kmp and Cmp every day đŸ˜‚â€ïž

  • @taiwo_teninlanimi
    @taiwo_teninlanimi Pƙed 6 dny

    In terms of performance and development time, Flutter to me is the best đŸ€·â€â™‚ïž. Hot reload, Hot restart. Brings speed ✚.

  • @wagnerarcieri
    @wagnerarcieri Pƙed 6 dny

    check your mic setup, sound is muffled

  • @AnkitKumar-vd2dd
    @AnkitKumar-vd2dd Pƙed 8 dny +2

    If now to anything else then also flutter will win ❀against KMP because of its massive community which outnumber all others be it react native or anything else.
    This massive ecosystem of platform specific and number of quality and good open source libraries are not provided with anything other than flutter, keep this is mind also.
    And just consider Rust, Go, Java are all more perforant that JavaScript but it's still more wildey used, for web development than any others.

  • @dadlord689
    @dadlord689 Pƙed 6 dny

    Yeah, it didn't get less confusing. Looks more like widgets unification sucks with compose and probably will walk the full rode of Flutter issues before will become usable. And KMP is usable already, but doesn't shine enough for a studio to get rid of platform specific developers to adopt it. Shared code could come with a dll + server side, and KMP doesn't makes UI development easier. The only benefit it may have is easing up the Android development madness as it is, but I am guessing.

  • @TahiruAgbanwa
    @TahiruAgbanwa Pƙed 8 dny +2

    This is really biased, Google only cooperates with Jetbrains because google owns android and would surely like to have control over the native android framework and not because they believe anything about the future being kotlin or anything related. Google adopted flutter for fuschia because they built the os from ground up and would use their own tech for it but android is a whole other thing, it was bought by Google because they wanted to control its native development kit hence cooperation with the developers of the android development tool (jetbrains).

  • @pyrochlore
    @pyrochlore Pƙed 7 dny

    How about Tauri?

  • @nithinjoseph6097
    @nithinjoseph6097 Pƙed 2 dny

    I think market is down for native android development. All the clients want multi platform and they choose flutter. So in india native developers should learn flutter for carrier safety.

  • @domephant2425
    @domephant2425 Pƙed 8 dny +13

    I think KMP's future will be very bright, while i'm not so sure about flutter's. I think the target audience of these frameworks differs quite a lot. I think KMP is more suited for native developers trying to write cross-platform apps because they can use their skills and knowledge from the native platform. Flutter and React Native in my opinion are more geared towards the general developers and web developers trying to write apps, therefore they have a higher level of abstraction. I think both approaches are good, but KMP feels like a breeze of fresh air after trying flutter, because from my experience you lose a lot of control using flutter

    • @TahiruAgbanwa
      @TahiruAgbanwa Pƙed 8 dny +1

      That’s is literally the opposite as flutter rather gives all the flexibility you need and flutter compared to KMP/CMP is growing really fast and doesn’t seem to slow down cause the tech is great and does not need the backing of Google

    • @domephant2425
      @domephant2425 Pƙed 8 dny +3

      @@TahiruAgbanwa you have flexibility with flutter, absolutely. Since it's basically a canvas you can do whatever you want and for a lot of apps that's awesome. But that's also the problem when building apps that try to resemble parts of the native platform. The higher level of abstraction hurts there (iOS rendering was broken for years til Impeller, and don't get me started on Flutter for Web) and some things you simply cannot fix from that high up on the abstraction ladder. Flutter's growth is really strong, but comparing that to KMP doesn't really make sense considering how long Flutter is on the market already. And KMP is also growing rapidly and can partly rely on the Kotlin ecosystem.

  • @adamwarvergeben
    @adamwarvergeben Pƙed 7 dny +1

    Google fired the Dart Team and embraced KMP. I think it's obvious

    • @FahadAyaz
      @FahadAyaz Pƙed 6 dny +1

      That's not true at all.

    • @taiwo_teninlanimi
      @taiwo_teninlanimi Pƙed 6 dny +1

      Bro 😂😂, u need to work on ur research skills. Don't just say what you heard, ur a developer for a reasonđŸ€Šâ€â™‚ïž

    • @taiwo_teninlanimi
      @taiwo_teninlanimi Pƙed 6 dny

      Python dev teams were also fired

    • @taiwo_teninlanimi
      @taiwo_teninlanimi Pƙed 6 dny

      U said embraced 😂, they're supporting. It's all for the monopoly and credit in supporting 2 bright technologies that would be widely demanded over time

  • @amitthecoder
    @amitthecoder Pƙed 8 dny

    Very interesting topic
    Very interesting video

  • @TimKaragosian
    @TimKaragosian Pƙed 8 dny +1

    I hate to say this, but it all comes down to financials/business adoption. If companies will not hire/pay developers to use KMP then Flutter will continue. Google's adoption of it and the seamless transition from an Android developer being able to build out to two or more platforms using minimal extra for platform native should help its expansion.

    • @PhilippLackner
      @PhilippLackner  Pƙed 7 dny +1

      If you initialize the state in the carousel that should not be an issue

    • @TimKaragosian
      @TimKaragosian Pƙed 6 dny

      @@PhilippLackner I'll have to check that out. If you have a video, it looks like I've missed it. Also I wanted to ask about your thoughts on an updated KMP premium video with some of the newer features. I loved the other one on the Translate app and was curious if you were going to wait for a true release before another one or not.
      I'm currently building a game in it!

    • @PhilippLackner
      @PhilippLackner  Pƙed 6 dny +1

      @@TimKaragosian I'll definitely make another course once Compose MP is stable for iOS. I'm just always a bit careful making long courses on non-stable technologies, since it's close to impossible to update a whole course when the main technology its about changes. Every video possibly relies on that, so I want to be sure that the foundation doesn't change in its core.

  • @arozendojr
    @arozendojr Pƙed 8 dny

    Did you realize that codepush, there is no mature solution, besides a shared UI the next problem will be codepush, to this day there is no native mobile solution, we only have web

  • @laxmandeadpool8260
    @laxmandeadpool8260 Pƙed 8 dny +1

    Bro totally ignored react native

  • @AppsStudio2023
    @AppsStudio2023 Pƙed 2 dny

    I'm native android developer and no moving to KMP ..HOPE THAT I'LL ENJOY

    • @mic9969
      @mic9969 Pƙed 2 dny

      no moving to kmp ? why

  • @morgan2226
    @morgan2226 Pƙed 8 dny +5

    no matter how many times you say it's a personal opinion, flutter cult will just do their thing. Which makes me say communities are a big factor that people should consider when deciding to get into a tech.

  • @sudhendramondal1226
    @sudhendramondal1226 Pƙed 8 dny +2

    Flutter has the added advantage of building for web, which is stable

    • @programmieren3197
      @programmieren3197 Pƙed 8 dny

      Kemp to and better cause u can use HTMl and CSS if you want

    • @jeanpierresaldivar8388
      @jeanpierresaldivar8388 Pƙed 8 dny

      Only for personal projects, not for business because you can't use SEO in a flutter web 😅😅

    • @sudhendramondal1226
      @sudhendramondal1226 Pƙed 7 dny

      @jeanpierresaldivar8388 True, but you can use a blog, etc, to attract traffic to your page, depending on your needs. If KMP is able to solve this in future iterations, it will be great.

  • @senk0n
    @senk0n Pƙed 8 dny

    Comparing without React Native is not complete tbh, as on itself RN feels more native for the end user, and React has some cool improvements with the latest update

    • @MrlegendOr
      @MrlegendOr Pƙed dnem

      React Native is trash🙃

  • @azmo_
    @azmo_ Pƙed 7 dny +3

    bro show me code not your face

  • @mkathirindia
    @mkathirindia Pƙed 7 dny

    What about dotnet MAUI ?

    • @eugeneturenko3946
      @eugeneturenko3946 Pƙed 7 dny

      It's even younger than KMP. Plus many companies don't even care about developing/porting plugins for anything but Flutter, React Native, Swift, Kotlin/Java.

  • @pitzera
    @pitzera Pƙed 7 dny +1

    Is it possible there are logical errors in you argumentantion about performance? "KMP is better because it shares the same memory space and call stack as the plattform ...." - haven't you sad before that KMP runs in a JVM, also on desktop (optional, but what is the default)? Are JVMs really native? How do JVMs communicate with the host without converting anything?
    Also there is a logic error in google giving up flutter: it would hurt them because multiple apps use flutter. Of course, its not that difficult for google to rewrite an app from scratch, but there would be some pain.
    Jetbrains would not give up kotlin native if there financial situation changes is also hopeful thinking.
    I'm not a than of biased comparison, especially if the 'facts' are not on very very solid bases. There was, like others sad, a bit much personal preference.

  • @kfirossmatityahu4295
    @kfirossmatityahu4295 Pƙed 7 dny

    And there is Klutter for the best of 2 worlds

  • @Apenschi
    @Apenschi Pƙed 6 dny +1

    Comparing KMP to Flutter without compose?!? Flutter IS the couterpart of Compose! Flutter is for Dart what Compose is for Kotlin! So you can't compare KMP to Flutter.

  • @bazilkorath3620
    @bazilkorath3620 Pƙed 8 dny

    When are the Android Java and Kotlin guys gonna simplify the unwanted nested folders in the soure code, why do u need so much nesting inside the codebase ? Why cant we have a single source directory ? Iam coming from the web world, may be thats why this irritates me so much. But isn't Kotlin the language that came to fix the issues with Java. Then why nobody talks about this ?

    • @PhilippLackner
      @PhilippLackner  Pƙed 8 dny +1

      Because mobile apps are on average quite more complex than a web frontend and therefore need a clearer layering. Also we got a build system since our code doesn't just run instantly, so build flavors, build types, modules and their configuration. Nobody forces you to use packages, but there's good reason people do

    • @DeceptiveRealities
      @DeceptiveRealities Pƙed 8 dny

      Well, that's up to you to decide how you lay out a project. You don't have to use deeply nested packages. The project I'm currently working on has about 20 packages off the root. There are one or two at a nesting level of two with only one class in them. You could dump everything in one package, but I don't think that would be a good idea (just as having 5 or 6 levels of nesting is not a good idea).

    • @willcoder
      @willcoder Pƙed 8 dny

      With more folders, it's easier to hide the bugs! đŸ€Ș

  • @user-zh2kx5gq1g
    @user-zh2kx5gq1g Pƙed 8 dny

    With KMP, is it really 1 codebase?! Maybe its code will need to be tweaked a little for both platforms sure, but that then defeats the purpose of 1 codebase. Flutter is precisely that: 1 code base. No tweaking required

    • @PhilippLackner
      @PhilippLackner  Pƙed 8 dny

      Both platforms require one codebase with platform-specific adjustments

    • @user-zh2kx5gq1g
      @user-zh2kx5gq1g Pƙed 8 dny +1

      @@PhilippLackner no. Not true. Flutter requires no specific adjustments for a particular platform

    • @PhilippLackner
      @PhilippLackner  Pƙed 8 dny +4

      @@user-zh2kx5gq1g how can flutter then know how let's say the file system works on Android vs. On IOS vs. on Windows vs. on MacOS?😂
      Just because you're using plugins that help with that doesn't mean they don't have to implement native code for each platform. Same works for KMP if you create a library that defines this behavior for each platform. Then it will also "magically" work.

    • @petarsebic9590
      @petarsebic9590 Pƙed 8 dny +1

      @@PhilippLackner you tell him :D

  • @subhashverma2710
    @subhashverma2710 Pƙed 9 dny +7

    KMP

  • @azmo_
    @azmo_ Pƙed 7 dny +2

    I'm on team KMP. But this video seems so off the cuff to me.

  • @michaelappiah-kubi2829
    @michaelappiah-kubi2829 Pƙed 8 dny +1

    Currently Flutter will serve you better than KMP. If KMP picks up however it would be the ideal . Give it a couple of years

  • @DevLife717
    @DevLife717 Pƙed 8 dny

    True, Flutter is much better but ironically RN is the most widely adopted.

  • @XYZSSS90
    @XYZSSS90 Pƙed 8 dny

    Flutter is just loads of libraries if one of the library's production stops we have to find another it is so annoying. I love my android studio + kotlin 😂 forever

  • @thaddeusojike9250
    @thaddeusojike9250 Pƙed dnem

    KMP (Kotlin Multiplatform) and CMP (Compose Multiplatform) are two distinct things. This isn't obvious from this video. KMP has nothing to do with UI. And that's why you can't do a fair or proper comparison with Flutter. You can compare Flutter with CMP, although that wouldn't be fair either since CMP isn't yet stable on iOS and Web. Good video all the same ... 👍

    • @PhilippLackner
      @PhilippLackner  Pƙed dnem +1

      I said pretty clearly that those are different things 😅

    • @thaddeusojike9250
      @thaddeusojike9250 Pƙed dnem

      oh. guess I missed it. Like I said, good video. Please keep up the good work.

  • @amjadafridi6110
    @amjadafridi6110 Pƙed 8 dny

    Obviously flutter if we can't code for iOS independently

  • @muhamadazamudin2023
    @muhamadazamudin2023 Pƙed 8 dny

    Definitely KMP.

  • @MrlegendOr
    @MrlegendOr Pƙed 2 dny +2

    Biased Kotlin video 🙃

  • @parzival123
    @parzival123 Pƙed 8 dny

    I thought kmp never exists thats why i learn flutter first

  • @abdkak4119
    @abdkak4119 Pƙed 8 dny

    I like your videos 💙

  • @213information
    @213information Pƙed 9 dny

    React Native vs KMP vs Flutter

    • @MrlegendOr
      @MrlegendOr Pƙed dnem

      throw React native away because is trash🙃

  • @neagutibi
    @neagutibi Pƙed 6 dny

    Why Google supports KMP? Not necessary because they see more future in KMP. It's just not putting all your eggs in a single basket. Probably they don't have the slightest idea if Flutter will win over KMP, so better to be in a position that you'll benefit whatever happens.