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

  Рет қаралды 57,345

Philipp Lackner

Philipp Lackner

Күн бұрын

Пікірлер: 403
@saqibshafin
@saqibshafin 5 ай бұрын
9:37 Flutter does not run in DartVM in Production/Release builds, they are AOT compiled in Production builds, meaning, they don't need VMs to run. Meaning, performance is near-native, if not native. They use VM in debug/development mode though.
@msiprime
@msiprime 4 ай бұрын
U r right
@farellalvaro8392
@farellalvaro8392 3 ай бұрын
You're correct! Dart is AOT compile, not like kotlin that's run in JIT. AOT basically turns your code into near native perfomance which is faster and safer from reverse engineering
@cliff3650
@cliff3650 Ай бұрын
@@farellalvaro8392 The JVM on Android used to be Dalvik that only does JIT. Since Android 4.4, ART (Android Runtime) had been introduced to support AOT compilation. KMP compiles to DEX on Android that supports AOT.
@mahmoudalkateb2008
@mahmoudalkateb2008 5 ай бұрын
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 5 ай бұрын
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 5 ай бұрын
@@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 5 ай бұрын
​​​@@ahmedbathily7013you can share ui code using compose multiplatform (CMP), which also uses kotlin
@mahmoudalkateb2008
@mahmoudalkateb2008 5 ай бұрын
@@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 5 ай бұрын
Ummm...kmp now share ui.
@safionweb
@safionweb 5 ай бұрын
React Native crying in the corner.
@kiyotaka721
@kiyotaka721 5 ай бұрын
is it though? Currently RN is the most used cross platform app development library
@steinbeats
@steinbeats 5 ай бұрын
😂😂😂 they doing RN dirty
@hashemmousavi2451
@hashemmousavi2451 5 ай бұрын
😂😂😂😂😂😂
@aj3413
@aj3413 5 ай бұрын
​@@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 5 ай бұрын
And angular ionic
@helmutbierbaumer2648
@helmutbierbaumer2648 5 ай бұрын
Congrats Your videos are constantly getting better and better. Clearly the number one source for Android on KZbin!
@PhilippLackner
@PhilippLackner 5 ай бұрын
Thank you!!
@azmo_
@azmo_ 5 ай бұрын
Video quality has improved, but not content quality
@PhilippLackner
@PhilippLackner 5 ай бұрын
@@azmo_ what can I do to improve that as well? :)
@namet952
@namet952 2 ай бұрын
@@PhilippLackner don't pay attention to it, it's just envy
@AzazelezazA
@AzazelezazA 5 ай бұрын
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.
@diegoflassa
@diegoflassa 5 ай бұрын
Good luck!!
@danghuukhai2885
@danghuukhai2885 3 ай бұрын
You will also be able to use Kotlin in backend dev.
@iMagUdspEllr
@iMagUdspEllr 3 ай бұрын
Google wants to replace its mobile OS with Fuschia and it's programming language with Flutter and Dart. But, Google gives up on projects regularly. Also, it's pretty simple to transition to another language as long as you can learn C and classes (like in C++ or Python), then you can learn any other language. The hardest task would be to transition to a niche programming language or something like Rust. But, my main point is that it is weird to say that you're going to specialize in Kotlin. You'll be able to use any language. If you want to specialize in mobile, web, embedded, AI, or something like that, that is different. Learning the ins and outs of making mobile apps is the specialization work, not the language.
@k4ba
@k4ba 3 ай бұрын
@@iMagUdspEllr I been waiting for Fuschia for half decade lol... now, let's say Fuschia becomes next Google OS, first problem is that people that already uses Android including all the companies that power their devices with it will most-likely refuse to just transition like that, this is a big request to your customers and Google already makes billions out of it, it's a risky if not dumb play. But worst case scenario for Kotlin devs is that Fuschia becomes real... well, no problem, Kotlin MULTI-PLATFORM remember?
@iMagUdspEllr
@iMagUdspEllr 3 ай бұрын
@@k4ba I think they were going to have Android run on top of Fuschia in a virtual machine during the transition. If Fuschia manages to be more efficient than Android, we could see performance break even during the transition period and then significantly increase once Android can be sidelined.
@stijndcl
@stijndcl 5 ай бұрын
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.
@alijawad6596
@alijawad6596 4 ай бұрын
As a beginner application developer. Why would I need to shift my cross platform app to Native app? Besides Client decision.
@taiwo_teninlanimi
@taiwo_teninlanimi 4 ай бұрын
@@alijawad6596 thank you. Such a bright question 😂
@knflux9840
@knflux9840 4 ай бұрын
@@alijawad6596 In the case of KMP I dont see any real scenarios as to why one would need to go back to native completely but in case of frameworks like Flutter, there can be various issues that can force a rewrite to native like bad performance for example.
@chronyan2-er3mk
@chronyan2-er3mk 3 ай бұрын
@@alijawad6596 Performance. Sometimes, businesses pivot - for example you have an app that provides downloadable wallpapers but transitions into creating home screen widgets. But this is rarely the case.
@caresvlbdjz
@caresvlbdjz 29 күн бұрын
@@knflux9840 very difficult to find a scenario where performance is bad using Flutter, if you expect that, you write in native since the beginning.
@DeceptiveRealities
@DeceptiveRealities 5 ай бұрын
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.
@xybnedasdd2930
@xybnedasdd2930 5 ай бұрын
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 5 ай бұрын
So, that means Flutter is better performance?
@unknownguywholovespizza
@unknownguywholovespizza 5 ай бұрын
​@@TranMinh-oh5unno just that it's faster in production than development phase
@DeceptiveRealities
@DeceptiveRealities 5 ай бұрын
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 5 ай бұрын
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.
@vibovitold
@vibovitold 5 ай бұрын
Performance differences don't matter nearly as much as people assume, when it comes to mobile apps. Mobile apps don't do much computations etc. (and if they do, there's something wrong with them). The overwhelming majority of perceived sluggishness is caused by network traffic and other physical realities which the language or platform has got little to do with. A much smaller portion of it is caused by layout rendering, which once again is not inherent to the language, and definitely more often with the app being just poorly implemented. The performance of the VM itself is negligible from user's perspective. Maybe for the start-up time, but even then only marginally.
@programmieren3197
@programmieren3197 5 ай бұрын
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
@c4coding293
@c4coding293 5 ай бұрын
Flutter apps run in VM only on emulators but while running on physical devices no VM is created.
@TranMinh-oh5un
@TranMinh-oh5un 5 ай бұрын
Sure?
@xybnedasdd2930
@xybnedasdd2930 5 ай бұрын
@@TranMinh-oh5un Yes.
@TranMinh-oh5un
@TranMinh-oh5un 5 ай бұрын
@@xybnedasdd2930 I know about AOT. But are you sure that all dart code is compiled in AOT phase? Seems better than ART?
@c4coding293
@c4coding293 5 ай бұрын
@@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 5 ай бұрын
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
@tarapogancev
@tarapogancev 5 ай бұрын
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 once it gets more support and a stronger base. This is a great start! 😄
@Khubaiblj
@Khubaiblj 3 ай бұрын
Where can i learn flutter as a beginner cuz i all the KZbin videos i watched are outdated
@tarapogancev
@tarapogancev 3 ай бұрын
@@Khubaiblj I started learning from a Udemy course (Flutter & Dart - The Complete Guide by Maximilian Schwarzmuller, Dart - Intermediate Course by Bryan Cairns), but there are many amazing KZbin courses that teach for free! Some of these channels are Flutter Guys, Vandad Nahavandipoor, Reso Coder, to start with. :)
@thaddeusojike9250
@thaddeusojike9250 5 ай бұрын
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 5 ай бұрын
I said pretty clearly that those are different things 😅
@thaddeusojike9250
@thaddeusojike9250 5 ай бұрын
oh. guess I missed it. Like I said, good video. Please keep up the good work.
@mahiainti678
@mahiainti678 5 ай бұрын
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)
@petereriksson6760
@petereriksson6760 4 ай бұрын
but beyond in Flutter. Even beyond beta if I am not mistaken...
@ayeshdon
@ayeshdon 5 ай бұрын
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.
@borislavvelchev7275
@borislavvelchev7275 5 ай бұрын
KMP is the next big thing!
@gerdsfargen6687
@gerdsfargen6687 5 ай бұрын
I hope so..and that it stays around for a while.
@dadlord689
@dadlord689 5 ай бұрын
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.
@vladimirkraus1438
@vladimirkraus1438 3 ай бұрын
I hacked a simple test app on Windows in both KMP (I should better say Compose multiplatform) and Flutter... Flutter had much smaller runtime memory footprint (it is compiled to native binary and does not require JVM, unlike KMP) and felt much much quicker when used. So on desktop KMP is still inferior to Flutter. Though I admit the KMP code was shorter and much more readable. Overall I liked KMP better but the performance is till not there yet, unfortunately. KMP is lagging behind Flutter on desktop by about 2 years of development, IMO.
@gerdsfargen6687
@gerdsfargen6687 5 ай бұрын
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?
@maxwellkjr
@maxwellkjr 5 ай бұрын
React Native/Electron left the chat
@ivasuktelesuk100
@ivasuktelesuk100 5 ай бұрын
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 5 ай бұрын
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 5 ай бұрын
​@@_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
@shizanahamadali3748
@shizanahamadali3748 5 ай бұрын
if you explain with some visual edits, its will really help me to understand very easily
@sqrlware
@sqrlware 5 ай бұрын
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).
@ЕгорДемидов-ы1ж
@ЕгорДемидов-ы1ж 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).
@nobodydoe
@nobodydoe Ай бұрын
Well, if you think with Flutter you don't have to deals with Gradle (which is a pain in the neck), I have bad news for you
@ЕгорДемидов-ы1ж
@ЕгорДемидов-ы1ж Ай бұрын
@@nobodydoe during at time I wrote comment, I'll managed to understand many of the nuances of Gradle-building. Overall, modularization doesn't seem to be that difficult with Koin. In other cases, CMP provides richer interaction between abstractions. Thank to reply, buddy.
@leonelp9593
@leonelp9593 5 ай бұрын
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
@ignaciogarcia1174
@ignaciogarcia1174 5 ай бұрын
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 5 ай бұрын
Which libraries are you missing in KMP?
@readmeandanswer8142
@readmeandanswer8142 5 ай бұрын
@@PhilippLackner check flutter gems, there are not even close to this number of solutions on the kmp.
@stijndcl
@stijndcl 5 ай бұрын
Google is making big efforts to help KMP right now, they recently made a decent amount of Jetpack libraries multiplatform
@FahadAyaz
@FahadAyaz 5 ай бұрын
​@@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 :)
@mateuszd7586
@mateuszd7586 5 ай бұрын
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 5 ай бұрын
amazing experience, Why did you decide back to native Android?
@mateuszd7586
@mateuszd7586 5 ай бұрын
@@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.
@vibovitold
@vibovitold 5 ай бұрын
​@@mateuszd7586 what do those Flutter widgets bring to the table that Jetpack Compose doesn't provide? (as you praise Flutter for "the best way of state management via for example BLoC solution"). honest question, i've never done much in Flutter. the framework itself seems nice, but i wouldn't give up Kotlin for Dart unless i'd have a gun to my head, and even then i'd be like "how do i know it's actually loaded?"
@Haider5c
@Haider5c 5 ай бұрын
do you hear of impller ? this engine solved so many rendering problems and cmp use skia that had so many problems in the past
@Haider5c
@Haider5c 2 ай бұрын
update i use kmm know and i thinks it better solution than flutter still need to learn swiftUI
@denisdavidek
@denisdavidek 5 ай бұрын
As a native Android developer, I do think that KMP is the next big thing. I will start checking and learning it soon.
@FahadAyaz
@FahadAyaz 5 ай бұрын
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
@michaelappiah-kubi2829
@michaelappiah-kubi2829 5 ай бұрын
Currently Flutter will serve you better than KMP. If KMP picks up however it would be the ideal . Give it a couple of years
@DeceptiveRealities
@DeceptiveRealities 5 ай бұрын
Oh? In what way?
@sqrlware
@sqrlware 5 ай бұрын
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.
@futynuty
@futynuty 4 ай бұрын
Just 1 point to clear: there is a difference between “cross platform” and “multiplatform”. Also, one can call Kotlin code from platform specificity code and wise versa.
@xD-saleem
@xD-saleem 5 ай бұрын
Your channel blew up. I remember your first video! Good to see you again bro.
@TheBerlinFactor
@TheBerlinFactor 5 ай бұрын
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? 🙃
@rahmitufanoglu5380
@rahmitufanoglu5380 5 ай бұрын
You talk about the platform channels as if it were really witchcraft. But in reality it's a very good solution. KMP is just a layer on top of an existing layer. You still have the JVM dependency as you see when building desktop applications. And the community contribution in Flutter is very very high.
@neagutibi
@neagutibi 5 ай бұрын
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.
@morgan2226
@morgan2226 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.
@henrik908
@henrik908 5 ай бұрын
How to setup a kMM project on arch? ☠️
@_JSN
@_JSN 5 ай бұрын
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 5 ай бұрын
Why do you think so. Dart is not very good for functional programming and don’t has data classes
@_JSN
@_JSN 5 ай бұрын
@@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 5 ай бұрын
@@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 5 ай бұрын
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 5 ай бұрын
@@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.
@dadlord689
@dadlord689 5 ай бұрын
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.
@lynx0976
@lynx0976 5 ай бұрын
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.
@amtrax02
@amtrax02 5 ай бұрын
But it is still easier to write in flutter when someone doesn't work in Apple environment
@acromos
@acromos 5 ай бұрын
Flutter is to Cross-Platform as Python is to Machine Learning.
@AyushVachhani
@AyushVachhani 5 ай бұрын
Flutter is great, but ig even tauri could be a thing, it's releasing mobile support soon.
@vladimirkraus1438
@vladimirkraus1438 3 ай бұрын
Your comment does not make any sense.
@AyushVachhani
@AyushVachhani 3 ай бұрын
@@vladimirkraus1438 mine? Or the guy who wrote the comment?
@vladimirkraus1438
@vladimirkraus1438 3 ай бұрын
@@AyushVachhani the guy who wrote the comment... Sorry for confusion.
@AyushVachhani
@AyushVachhani 3 ай бұрын
@@vladimirkraus1438 what he's trying to say is that it's an industry gold standard for cross platform, and he isn't wrong ig
@tiberiusrubicon9261
@tiberiusrubicon9261 2 ай бұрын
Skia is a heart of both these frameworks. But on the other hand - Flutter has Impeller - new engine, specifically created for iOS and MacOS.
@Exiide89
@Exiide89 5 ай бұрын
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 5 ай бұрын
What's content Uri?
@Exiide89
@Exiide89 5 ай бұрын
​​​@@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 5 ай бұрын
is that a topic related with dynamic links?
@dannicron
@dannicron 5 ай бұрын
If ease of use won, every app would be in PhoneGap
@LemuelXu
@LemuelXu 5 ай бұрын
Define "win"
@tw5265-p5t
@tw5265-p5t 3 ай бұрын
The most sensible comparison of KMP and Flutter! Thanks pal..
@TimKaragosian
@TimKaragosian 5 ай бұрын
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 5 ай бұрын
If you initialize the state in the carousel that should not be an issue
@TimKaragosian
@TimKaragosian 5 ай бұрын
@@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 5 ай бұрын
@@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.
@powerpcx86
@powerpcx86 2 ай бұрын
0:14 Qt enters the chat :)
@GuseynGulamov
@GuseynGulamov Ай бұрын
There is no kmp in this battle, currently it's only about flutter vs react. If you wanna go cross platform just ignore kmp.
@ShidoKarasu
@ShidoKarasu 5 ай бұрын
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
@vibovitold
@vibovitold 5 ай бұрын
Rewriting already created native apps to cross-platform is absurd, as it not only misses, but kind of actively reverts the core benefit of going cross-platform in the first place. That benefit is that you go faster without having to write the native code : ) But that's already happened in your case, so what the hell, and on the top of that you incur the extra cost of rewriting the stuff, which will inevitably get some of the things wrong, not to mention you've got to support both versions side by side for a while until the Flutter one catches up, which will take longer than your most pessimistic estimation I GUARANTEE. My advice: google "Things You Should Never Do, Part I" by Joel Spolsky. It's an awesome read. It's over 20 years old by now, and as valid today as it was back then, and 20 years before. Give it to whoever suggests such things.
@rithikrithik5249
@rithikrithik5249 5 ай бұрын
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.
@frankleth9380
@frankleth9380 5 ай бұрын
Greetings from Denmark, Philipp, always good to see your videos
@AppsStudio2023
@AppsStudio2023 5 ай бұрын
I'm native android developer and no moving to KMP ..HOPE THAT I'LL ENJOY
@mic9969
@mic9969 5 ай бұрын
no moving to kmp ? why
@domephant2425
@domephant2425 5 ай бұрын
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
@sqrlware
@sqrlware 5 ай бұрын
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 5 ай бұрын
@@sqrlware 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.
@andreygritsay762
@andreygritsay762 2 ай бұрын
@@domephant2425 CMP is not any better on web too as it uses the same Skia engine
@domephant2425
@domephant2425 2 ай бұрын
​@@andreygritsay762 yes, but you don't have to rely on CMP to render your application. I don't think CMP is gonna be better on Web than Flutter, i think both solutions will be mostly terrible. You can just write your standard web application and use KMP for sharing logic. Flutter simply doesn't give you that option.
@adnandzindosoda
@adnandzindosoda 5 ай бұрын
I will dive into kmp 2026. Until that they will change everything 100x
@akashkumardas6521
@akashkumardas6521 5 ай бұрын
Same thought
@user-jchjkitv77896
@user-jchjkitv77896 5 ай бұрын
For now I'm with flutter but it looks like Google is shifting to kmp I think I'll wait as well
@FahadAyaz
@FahadAyaz 5 ай бұрын
​@@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.
@brmIamin
@brmIamin 5 ай бұрын
Aaah shit, here we go again, another framework to choose from.
@cesarlabastida1392
@cesarlabastida1392 3 ай бұрын
I have been using compose for android development the past 6 months for my company's app. Kotlin compose it's intuitive, concise and powerful I would even say it's addicting to use
@MichaelMossmanNZ
@MichaelMossmanNZ 5 ай бұрын
Thank you Philipp for another great vid! ... 2:30 not a lot of syntactical sugar ... I love it =)
@yohanespradono5224
@yohanespradono5224 2 ай бұрын
why is it always hard to decide which stack we're going to use.😆
@sudhendramondal1226
@sudhendramondal1226 5 ай бұрын
Flutter has the added advantage of building for web, which is stable
@programmieren3197
@programmieren3197 5 ай бұрын
Kemp to and better cause u can use HTMl and CSS if you want
@jeanpierresaldivar8388
@jeanpierresaldivar8388 5 ай бұрын
Only for personal projects, not for business because you can't use SEO in a flutter web 😅😅
@sudhendramondal1226
@sudhendramondal1226 5 ай бұрын
@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.
@iyadzac
@iyadzac 5 ай бұрын
what about react native? in my company there's more demand of RN than flutter.
@realth000
@realth000 5 ай бұрын
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!
@seankang
@seankang 4 ай бұрын
I think you need to work in flutter more to make this video
@NoName-rp6cx
@NoName-rp6cx Ай бұрын
I'm a flutter developer, and I'm confused about what the future of technology will be. Native has a strong advantage, for example, Google support (which is quite influential in my opinion), in the CIS there are 5 times more vacancies on kotlin than on flutter (350 versus 1500) and salary forks are 1.2-2 times more, a lot of companies have been making native products for a long time, and this should have to to support
@JeudryPeñaPeña
@JeudryPeñaPeña 5 ай бұрын
current salary is just 600$,I even purchased a 2000$ mac book only for KMP,
@vladimirkraus1438
@vladimirkraus1438 3 ай бұрын
You do not need $2000 macbook for KMP...
@JeudryPeñaPeña
@JeudryPeñaPeña 3 ай бұрын
@@vladimirkraus1438 i mean, yea but, why not
@nomointernal638
@nomointernal638 4 ай бұрын
I think that the performance comparison is highly theoretical. In practice, I do not expect much performance differences between Flutter and KMP. Nevertheless, I agree that the Kotlin-language is more expressive than Dart, even though this is rather an academic issue with modern Dart versions.
@mikegonzalez2012
@mikegonzalez2012 5 ай бұрын
Right tool for the job. If the project doesn't need fully flushed native capabilities, then Flutter is a great alternative. That being said, you should always try to go Native so that the app can be extensible later.
@krtirtho
@krtirtho 5 ай бұрын
The fact I'll be not treated as a first class user of Kotlin/KMP because I use VSCode, Vim etc and not any Jetbrains IDE is already a huge setback. Flutter can be used in any editor, provides the best Developer experience. And HMR? I don't think KMP has that (no preview doesn't count). So as a developer I would choose Flutter over KMP just becuase Jetbrains would never let their best framework to be used in some other IDE/code editor. If they stop doing that I think a lot of people outside of native android developement will consider KMP. Jetbrains IDE/Android studio is the first reason why I never went down the native path, personally.
@petereriksson6760
@petereriksson6760 4 ай бұрын
Honestly, last time I looked at KMP, it was too immature (it was a while ago, so my choice came down to Flutter vs React native... I didn't choose React native but isn't the current choice between those three?
@azmo_
@azmo_ 5 ай бұрын
I'm on team KMP. But this video seems so off the cuff to me.
@taiwo_teninlanimi
@taiwo_teninlanimi 5 ай бұрын
Feel it's a bit biased 🤷‍♂️
@h3w45
@h3w45 3 ай бұрын
Flutter is the best
@SPENDUSDT
@SPENDUSDT 5 ай бұрын
is there any posible chance that KMP will support HarmonyOs in the future? the HarmonyOs seem to support Kotlin and few more android language.
@ahmadabdullah5763
@ahmadabdullah5763 Ай бұрын
Flutter does not run in DartVM in Production/Release builds, they are AOT compiled in Production builds, meaning, they don't need VMs to run. Meaning, performance is near-native, if not native. its way too early to start using kmp
@taiwo_teninlanimi
@taiwo_teninlanimi 5 ай бұрын
It's called "Kotlin Multi-Platform" for a reason and not "Kotlin Cross-Platform". Flutter for me is for "Cross-Platform" development. What developers needs are Cross Platform Framework. And again, Flutter performs better than KMP. From saying "you don't need Cross-platform development when you can directly make Native Apps" to "Kotlin is Cross-Platform (which is Multi not Cross), Flutter should sit aside" 🤣. Kotlin Devs, Flutter Devs aren't arguing with ya'll. Let everyone code in peace. And you can also write platform specific code. External packages are written for each platform. That's why there are "platform-specific" packages.
@MrlegendOr
@MrlegendOr 5 ай бұрын
This video is biased for real 🙃
@taiwo_teninlanimi
@taiwo_teninlanimi 5 ай бұрын
@MrlegendOr Honestly, Some time ago, This channel only posted content based on Native Apps are still important, but now its turned to, KMP is better than flutter. 😂. FYI, Flutter is too big to fail.
@kernelpanic5672
@kernelpanic5672 9 күн бұрын
Flutter is the best. My app runs at 120Hz, chats with thousands of messages with media and text with a very complex layout. Not a single glitch!
@senk0n
@senk0n 5 ай бұрын
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 5 ай бұрын
React Native is trash🙃
@GCoder-sl1sq
@GCoder-sl1sq Ай бұрын
@@MrlegendOr Explain this in technical concepts... or are you simply copying what your favorite technology coach said?
@MrlegendOr
@MrlegendOr Ай бұрын
​@@GCoder-sl1sq 1. Advanced and custom I/O 2. Performance issues 3. Lack of consistency across platforms 4. Large footprint 5. Need Expo router 6. Using web driven lang to build a mobile's apps is a no go by simple logic 7. Expo crashes and glitches often 8. Not fully customisable 9. Better option for applications: Flutter (1) and Kotlin MultiPlat (2) are much better (no match) 🙃
@MrlegendOr
@MrlegendOr Ай бұрын
@@GCoder-sl1sq 1 Advanced and custom I/O 2 Performance issues 3 Lack of consistency across platforms 4 Large footprint 5 Need Expo router 6 Using web driven lang to build a mobile's apps is a no go by simple logic 7 Expo crashes and glitches often 8 Not fully customisable 9 Better option for applications: Flutter (1) and Kotlin MultiPlat (2) are much better (no match) 🙃
@AnkitKumar-vd2dd
@AnkitKumar-vd2dd 5 ай бұрын
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.
@rafaelmarcos9733
@rafaelmarcos9733 18 күн бұрын
I've been studying native Android development for a few months, but I saw that there is more demand for flutter, so I don't know if I should stop and study Flutter just o make some money instead of hunting kotlin vacancies. Note: money is not my main purpose when studying, I just see there are more people asking for apps in both platforms instead of adnroid specific apps. I'll give KMP a try too, but I didn't see as many opportunities for it as flutter for beginners.
@mrgrovesempire
@mrgrovesempire Ай бұрын
Need to check your facts. You were factually incorrect on Flutter performance section.
@arozendojr
@arozendojr 5 ай бұрын
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
@dera_ng
@dera_ng 5 ай бұрын
Exactly, I can't trust Flutter because Google can stop funding it at ANYTIME
@kfirossmatityahu4295
@kfirossmatityahu4295 5 ай бұрын
And there is Klutter for the best of 2 worlds
@vibovitold
@vibovitold 5 ай бұрын
Klutter, nice one : ) and that's an actual plugin! one of the best names ever
@aj3413
@aj3413 5 ай бұрын
13:39 I would disagree as flutter right now has a huge community. If Google someday disowns Flutter for KMP this would make a perception among devs about Google's decision being flaky. Furthermore, it will make devs think twice before before developing in KMP.
@adamwarvergeben
@adamwarvergeben 5 ай бұрын
Google fired the Dart Team and embraced KMP. I think it's obvious
@FahadAyaz
@FahadAyaz 5 ай бұрын
That's not true at all.
@taiwo_teninlanimi
@taiwo_teninlanimi 5 ай бұрын
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 5 ай бұрын
Python dev teams were also fired
@taiwo_teninlanimi
@taiwo_teninlanimi 5 ай бұрын
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
@adamwarvergeben
@adamwarvergeben 4 ай бұрын
@@taiwo_teninlanimi bro is yapping more than Theo but cooking nothing. Literally four replies, the first being false, the second hypocritical, the third useless info and the last agreeing with me
@TshegoEagles
@TshegoEagles 5 ай бұрын
Am learning a lot from you Phill, thank you
@Apenschi
@Apenschi 5 ай бұрын
The "Bridge layer" is only for calling native code in Flutter apps. The Flutter engine e.g. the rendering is written in C++ and runs natively in Android and iOS so theres is no "bridge" used in genral as you implied. In fact Flutter is extremely fast. And as a native developer in Java and Kotlin I can tell you that it is hard to get the same smootheness and fluency of animations and stuff even when programming natively! And what Dart VM ?!?!? I strongly have the impression, that you don't really know what you are talking about. As you said yourself Dart is compiled to nativ machine code, so no VM.
@rishusharma1630
@rishusharma1630 5 ай бұрын
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 😅
@Aditya.Rawat45
@Aditya.Rawat45 5 ай бұрын
Hey, I know flutter but I'm thinking to shift to native android development. What are the market trends as of now,how do i start?
@DevLife717
@DevLife717 5 ай бұрын
True, Flutter is much better but ironically RN is the most widely adopted.
@taiwo_teninlanimi
@taiwo_teninlanimi 5 ай бұрын
In terms of performance and development time, Flutter to me is the best 🤷‍♂️. Hot reload, Hot restart. Brings speed ✨️.
@mitotv6376
@mitotv6376 5 ай бұрын
What is KMP??
@scotter7663
@scotter7663 3 ай бұрын
Recent layoffs at google have hit the flutter project hard, with one flutter developer quoted saying "becoming a serious flutter developer at this point is prob a waste of time" And Google even recommende KMP over Flutter when "deep interoperability with the hardware and Android platform" are needed. I lean towards using KMP over Flutter for any new projects
@cowballlau
@cowballlau 4 ай бұрын
Or KMP for front-backend logic + flutter for UI development😜
@JagdishOnYT
@JagdishOnYT 5 ай бұрын
Flutter apps have options to make ui similar to iOS using Cupertino components and Cupertino scaffold
@fallermatthew
@fallermatthew Ай бұрын
Honestly, I am currently building a solution in Flutter, and I kind of hate it. The actual tooling for doing the cross platform targeting is fine, but the UI framework itself just feels like a really ugly poorly thought out version of Compose or SwiftUI. After I finish the Flutter version, I’m very tempted to bite the cost and effort to migrate all of the code to KMP…
@venkateshlingampally7220
@venkateshlingampally7220 5 ай бұрын
why don't you make Flutter development tutorials?
@mikegonzalez2012
@mikegonzalez2012 5 ай бұрын
Kotlin is like... I'm gonna kill the rest of you trying to do front end with Compose for Web. Then I'm going to take you apart on the backend using KTOR, and I'm not even talking about how many Spring libs I will take over. Kotlin will be king in the future.
@user--10552
@user--10552 5 ай бұрын
hi is there something lightweight and effective for jetpack and kmp, something like vscode... Android studio really heavy?
@scotter7663
@scotter7663 3 ай бұрын
Fleet is supposed to be a more lightweight IDE from jetbrains. I've only used it for Java tho not Kotlin or KMP
@realnull
@realnull Ай бұрын
You missed one more big multiplatform framework here, UNITY support all platforms as KMP except JVM Desktop, you are using C# and platform-specific stuff is very easy to implement you will just add precompiler directives like #if UNITY_IOS and compiler will only generate it when target is IOS.
@PhilippLackner
@PhilippLackner Ай бұрын
@@realnull nobody is using unity for non-games 😅
@realnull
@realnull Ай бұрын
@@PhilippLackner don't be a 100% sure about that. I saw some unity applications on some embedded devices. I do agree it is a niche and very small amount of non game apps are made with unity, however it is more stable and mature than KMP right now in September 2024
@theprantadutta
@theprantadutta 19 күн бұрын
Bro, React Native deserves at least an honorable mention.
The Future of Kotlin, Android, and Everything
25:21
Touchlab
Рет қаралды 5 М.
Молодой боец приземлил легенду!
01:02
МИНУС БАЛЛ
Рет қаралды 1,7 МЛН
Amazing remote control#devil  #lilith #funny #shorts
00:30
Devil Lilith
Рет қаралды 16 МЛН
When Cucumbers Meet PVC Pipe The Results Are Wild! 🤭
00:44
Crafty Buddy
Рет қаралды 55 МЛН
Disrespect or Respect 💔❤️
00:27
Thiago Productions
Рет қаралды 42 МЛН
Kotlin Multiplatform vs Flutter: Which should we use?
4:42
Kei Fujikawa
Рет қаралды 26 М.
What Is Kotlin Multiplatform And How Does It Work? - KMP for Beginners
10:17
Flutter just got Flocked! What does it mean for Flutter's future?
11:26
Maximilian Schwarzmüller
Рет қаралды 63 М.
Sqlite Is Getting So Good
28:52
ThePrimeTime
Рет қаралды 202 М.
React Native vs Flutter - Which should you use?
22:31
Simon Grimm
Рет қаралды 48 М.
Why Are Open Source Alternatives So Bad?
13:06
Eric Murphy
Рет қаралды 689 М.
Building a Mobile App in 2024: The BEST Technologies
13:31
Dan Ilies
Рет қаралды 96 М.
Молодой боец приземлил легенду!
01:02
МИНУС БАЛЛ
Рет қаралды 1,7 МЛН