Compose Multiplatform on iOS by: Sebastian Aigner and Nikita Lipsky
HTML-код
- Опубликовано: 3 май 2023
- Recording brought to you by American Express. americanexpress.io/kotlin-jobs
An overview of the exciting present and future of Compose Multiplatform, including live demos and how to get started with the latest additions to the multiplatform UI framework built by JetBrains.
This session is co-presented by Sebastian Aigner, Developer Advocate at JetBrains and Nikita Lipsky, Software Developer for Kotlin at JetBrains.
Talk by: by: Sebastian Aigner and Nikita Lipsky
#kotlinconf23 #kotlin #compose #KotlinConf Наука
Awesome presentation! I'm very excited for what the future of Kotlin Multiplatform can bring! Keep it up!
I’ve been working with it for over a month and it’s good and can only get better
This is so cool, powerful, and exciting 🎸. It'll make multiplatform development so much easier. I can't wait to start trying this out; as soon as I finish up my current project.
Yeaay, I also can't wait to start trying
I‘m so hyped, I‘m watching the Video the second Time today. 🤩
Sebastian is rightly excited about this Moment. I‘m sure this is going to be the next big thing in Mobile Development!
History in the making.
Glad to be part of it even if virtually
Very satisfying video to watch
Looking forward to this lecture!
Super-cool presentation!!!
I'm super excited about this! Though I do think it will probably not be used in my current project since we do want to maintain a native look on both platforms, but I love Compose a lot. I really would love to use this in some context.
Awesome presentation 🎉
21:20 Choosing to use Skia is a mistake as you can't precompile shaders on iOS. Same problem Flutter had and that they solved it by using their own renderer. Also, no mention about UI that look and feel like iOS native UI... It will be hard for this to compete with Flutter.
对的
Can't wait to each new day be more productive using kotlin 😊
Awesome!
Great Job 🎉
👍Awesome!
WOW 😮
Even for alpha, a lot of thinga is missing, for example the navigation for compose
Great 🎉
Is that Dash the Flutter mascot at 7:30 ? 😂
Did I see a ripple on iOS?
A dream came true kotlin the new java
Great content,is there any example where i can load mapkit on compose multiplatform😊, anybody please,thank you
Very interesting. While flutter switches to use Impeller render on iOS (because of problems with shaders and overall performance), jetpack compose multi platform still use Skia render(and will have same issues that has flutter now?). If performance will be the same in comparison with flutter - what the reason to use jetpack compose multi platform? Impeller looks very promising and can be big win for flutter.
I think Impeller is new and still being battle tested. But since it is open source, maybe they can switch to Impeller in the future and leverage flutter history
and what is the problem with skia? Android uses skia from version 1.0
@@myselfhaveachannel1565 on flutter they had ios jank
It would be great if someone can do a performance comparison test.
@@myselfhaveachannel1565 they probably did. People said impeller really fixed ios jank. You can look it up
Wow
You have asked for community inputs about the future of the ui layer. But wouldn't it be the case that most of the community is comprised from kotlin and android developers? It seems kind of limiting with regards to the much needed ios development prespective
Great talk though! :)
iOS devs already have their preferred solution. Better to ask people who are looking for cross platform solutions
Even for alpha, the pefromance is very bad and it's really buggy and don't offer a way to change the system status bar
Is this the end of native ios jobs??
Why do I feel like KMM is taking too long? Hopefully it's for the right reasons.
I think they will make something big and stable, not jsut for mobile, but for all plattaform, in way that you could choose going native or shared UI, or both of them.
In my opinion they are doing things at a good pace...
Experimental, alpha, beta and stable have small time gaps.
I think there is a bit of an overlap with flutter which also used skia in it's early days. I don't think flutter still uses skia nowadays though.
However, I really like kotlin compared to dart. Personal preference. 😂
It's just really interesting that kotlin being primarily used by Google's Android Compose now directly competes with flutter which is also sponsored by Google.
I wonder if in the future firebase would also support Compose Multiplatform in the docs and code samples. I think this would be the time I can say I would really begin using it. It's obvious how to use firebase with compose for android but I'll wait for offical docs best practices when it comes to using most firebase libraries on compose for ios.
Future looks interesting indeed. Good job KMM and compose Multiplatform team. 👍👍👍
Flutter paved the way but it will be crushed by KMM
Yeah, Im kinda tired of Flutter and dart so Im hyped to test this thing! But really funny that both comes from the same company indeed 😂
@@ChrisAthanas I think you're wrong on this, flutter is quite stable today.
@@ChrisAthanas no dude
Is hot reload coming to Compose multiplatform?
Still requires a compiler step so no hot load yet
@@ChrisAthanas so does flutter right?
@@seanknowles9985 yes flutter due to being an interpreted language does not require a compile step, similar to web development
I'm hoping that somehow one day we can also skip the compilation step on Kotlin... I think it's possible and it's such an annoying bottleneck for mobile development
@@ChrisAthanas C# blazor and Xamarin manage it somehow... That would be the next milestone to conquer. Now that compose for iOS is coming out the only thing left it feels is hot reload/fast refresh, then its perfect.
@@ChrisAthanas I'm lost on what you mean by Flutter being interpreted. Flutter utilises Dart which is not an interpreted language at all.
Can we do Multi-platform development in Linux ?
yes
Of course but you still need a Mac for the iOS part...
Yes but not ios
@@ChrisAthanas yes, for IOS developments, requires the use of MAC.
So, Its Compose Multiplatform or Kotlin Multiplatform ???
Both. CM is a Ui framework. KMM is a mobile development framework which is a subset of KM.
You can compare if the performance is мусор or not 😁
heck of talk
Oh, Apple is so going to hate this and will want to stop this, I'm sure.
Anyway... the cool thing is that part of the time developing, can be spend by targeting desktop. Much quicker development cycle and better debugging.
Then once you need to leverage phone specific features, to go there. And you can go back to desktop when you need to fix UI and core business logic. Keep 2 (or 3) IDEs open and use Alt-tab. (and buy some extra memory, lol)
I still dont know what apple is waiting for, they can use this same approach with SwiftUI or build a framework that can build cross-platform apps
@@SanusiAdewale Apple has only ever been interested in protecting their garden. The JVM was a huge threat to keeping things unique on their devices, they they outlawed it. They intentionally pick different languages like objective c and swift. They do use C++ though, but that's the ultimate portable low level language that you can't kill it so might as well leverage it.
Flutter and React Native apps run on iOS already. Still requires macOS + Xcode to build the iOS targets, so it's no skin off Apple's back to allow these frameworks to exist.
@@_____case I'll have to look at react native again, but flutter has these problems where at times it's sluggish, has various visual bugs, and is very slow to start.
The Compose Multiplatform prospect looks a lot better! You get a traditional J2D like structure including transformations, and Kotlin coding and this smart refresh mechanism. It's starting to look really very promising! Plus you get to code in Kotlin. I mean come on, what's not to like? And using IntelliJ? That's were I'll be !
@@Antiorganizer I'm sure someone using Swift won't be interested to begin with. As you've shown from your own comment, people prefer using the things they are familiar with. To even use something different from your preferred solution is a miracle in of itself. So basically even with this, Kotlin developers will love it, Swift developers will just be meh and so will the Dart devs. Everyone picks their poison and are used to how it benefits or does not benefit them and how to go about those situations.
Why are we making another flutter tho? This has a lot of problems flutter has, and a lot of ones flutter tried to solve already.
We are going to have to reinvent accessibility once again. On android it is fine, since, from what I know, it uses existing built-in android ui infrastructure.
And on the web it is a non-starter. Just like flutter. Shipping a single canvas element and 3 megs worth of renderer/stdlib onto the client is a dogshit approach.
Perf’s gonna be jank af. Accessibility thrown out of the water. Every single aspect of native platform would have to be reimplemented and shipped inside of the binary.
Applications going to feel like middle-ground between all of the platforms (akin to the ‘ol java swing APIs). Stretched mobile elements on web/desktop. Androidisms on iOS. Disregard of platform human interface guidelines on macOS, etc.
People argue over DX of native vs dart/flutter vs js/react-native vs kotlin/compose. For me it’s kinda same-ish. Neither one has terrible DX. Neither language is dogshit. Neither language is breathtaking to work in (okay, I kinda do like Swift’s language design, even though there are subtle issues). I’m sorry, but the type system of kotlin / lack of pattern matching / absence of value types / evolution speed makes it reside solely in a “barely a better java” category. Nothing too exciting. Still a nice language tho, arguably better than dart.
And after all of that we aren’t even getting out-of-app-store app updates like react native does, since shipping compiled binaries over-the-air is a no-go on a lot of platforms (iOS, android, PS4/5, XBox One/Series, etc.)
This is a fine way to do android and maybe windows apps. Might be better than shipping electron on desktop.
If your app is already “canvas heavy”, sure, this is okay, I guess. But I can count on my own two hands the amount of such apps.
Бля, Никита, чё с акцентом. Себастьян стоит лыбится вначале, когда ты говоришь. Я бы тоже ржал, если бы рядом был)))
Как будто из клюквенных фильмов вылез ты)
very interesting
skip to 10:00 ...
asking to clap is kind of cheap.