Expect/Actual in Kotlin Multiplatform - KMP for Beginners

แชร์
ฝัง
  • เผยแพร่เมื่อ 4 ม.ค. 2025

ความคิดเห็น • 55

  • @purplehazer417
    @purplehazer417 6 หลายเดือนก่อน +12

    Phillip, once I start learning a topic about development - you start making videos about it. It is unbelievable 😅

  • @4rju9YT
    @4rju9YT 6 หลายเดือนก่อน +3

    Finished the MVVM Shopping list playlist yesterday and this one today. I learned a lot about MVVM design and clean architectures, but I still feel like I don't fully understand the concepts. I think with more practice, I'll get there.
    You're a great mentor, man. I've been following your channel for a while and have watched some of your playlists, like Android Basics and other individual videos. But from yesterday, I'm going to start watching all your playlists in order.
    In your early videos, you used to ask if there was anything you could improve upon or if we didn't understand something. You were always looking for ways to improve. And now you've become a great mentor and TH-camr. You're an inspiration, and I have a lot of respect for you, big brother. ❤

  • @MixwellSidechains
    @MixwellSidechains 6 หลายเดือนก่อน +2

    Hi Phillip! I'm following this series closely, thanks for it. I'd like to contribute that to have the Desktop app run by clicking the run button you could:
    * Open the Run Configuration settings
    * Add a Shell configuration name it DesktopApp if you want
    * On the window set it to run the script from "text" not "From File"
    * Add those parameters "./gradlew run" and ensure that the absolute path of the configuration is the project folder
    * Save and run it as normal in the drop-down list.
    Hope it helps others. Maybe you can review that with others in the next video. I know you'll get what I mean. Thanks again for the videos. Can't wait for more.

  • @morpheus4564
    @morpheus4564 4 หลายเดือนก่อน

    Amazing. 🎉 have to switch from backend to frontend development now!

  • @BouchentoufZakaria
    @BouchentoufZakaria 6 หลายเดือนก่อน +2

    My day is missing you 😂❤

  • @kabindrashrestha3760
    @kabindrashrestha3760 4 หลายเดือนก่อน

    Hello Phillip!
    I've been following your channel for a while and all your videos are great.
    And this is a great video related to expect/actual.
    I want to request you to make a video on checking and listening internet connection and type of connection in Kotlin/Compose Multiplatform. This will be very helpful for me and many others.
    I hope this will be posted soon and Thank you for all those videos.

  • @PS3HDTests
    @PS3HDTests หลายเดือนก่อน

    Great video again. Thanks for sharing this

  • @seaviasfo
    @seaviasfo 4 หลายเดือนก่อน

    Liveview Native has a major advantage over KMP compose if you want the UI code to be native.... The way i prefer to write applications (multi-platform) is to provide a consumable backend API usually Phoenix or Rust ( Warp ), and SwiftUI, Jetpack Compose or web3 (Leptos || Sycamore || Yew || HTMX) to handle the UI. All of the common stuff is better in C using the android NDK, iOS has always supported C and its now possible to write common code in Rust so Win! Win!

  • @PascarlHome
    @PascarlHome 6 หลายเดือนก่อน +2

    Can't wait for a full clean architecture kmp tutorial.Great work 👍

    • @mic9969
      @mic9969 6 หลายเดือนก่อน

      yeah also waiting clean arch + mvvm + api some app

  • @moldovanpeter5123
    @moldovanpeter5123 6 หลายเดือนก่อน

    For simple stuff like engines, clients etc I use expect/actual but for a concrete implementation (storage access etc) I use delegations

  • @kinggeorges625
    @kinggeorges625 6 หลายเดือนก่อน

    Thanks for the video. We are waiting impatiently a full tutorial for a real world App with API requests

  • @TiagoDvl
    @TiagoDvl 6 หลายเดือนก่อน +3

    Bruh the 20:34 mark made me cackle a lil bit but wonderful work 🤣Im kind of starting to feel the urge to start mown project

  • @DaleHawkins
    @DaleHawkins 6 หลายเดือนก่อน

    Great video. I like where this series is heading!

  • @MajesticNut
    @MajesticNut 5 หลายเดือนก่อน +1

    In the case of BatteryManager what if we just use the interface BatteryManager and then implement it in androidMain and nativeMain without expect/actual keywords? What will happen then? Wouldn't it be the same and why not?

  • @paisita92hd42
    @paisita92hd42 5 หลายเดือนก่อน

    Amazing tutorial, thanks Philipp

  • @riezkymaisyar4038
    @riezkymaisyar4038 6 หลายเดือนก่อน

    love it as alwayss, thanks phillip

  • @ntikomathaba2662
    @ntikomathaba2662 6 หลายเดือนก่อน

    Your timing is impeccable!!! Thank you my GOAT 🐐
    Can we do networking next?

    • @PhilippLackner
      @PhilippLackner  6 หลายเดือนก่อน +1

      I have a video on ktor already, I don't think there's any difference in the implementation for KMP :)

  • @poison2wine
    @poison2wine หลายเดือนก่อน

    Could you please do a video on creating a custom multiplatform library?

  • @fsfaysalcse
    @fsfaysalcse 6 หลายเดือนก่อน +1

    Thanks a lot, This is my time to say shut up to my flatter Developer friend. Could please make a video of each platform trigger notification

  • @tch.777
    @tch.777 6 หลายเดือนก่อน

    Amazing like always!!! Ty ❤

  • @ahmedomara5323
    @ahmedomara5323 4 หลายเดือนก่อน

    Hello phillip
    i have this issue when try to add ios app, i am using macBook Pro 2019
    Empty execution target drop down when xcode has simulators other than iPhones

  • @mirmohammadtahasin4054
    @mirmohammadtahasin4054 5 หลายเดือนก่อน

    I have windows laptop and a ios phone. Can i run ios app on my physical ios device ?

  • @ayushrai3266
    @ayushrai3266 6 หลายเดือนก่อน +2

    Can we Use Room database for Ios App in Kmp projects ?

  • @anudeepananth
    @anudeepananth 6 หลายเดือนก่อน

    Can we use native kotlin and swift native firebase libraries using expect and actual to perform user authentication since firebase has no official support for KMM yet

  • @Hayabusa17
    @Hayabusa17 6 หลายเดือนก่อน +2

    Привет из Казахстана. Большое спасибо за видео❤, можете снять про архитектуру приложений на kmp?

  • @peter4vn
    @peter4vn 6 หลายเดือนก่อน +1

    0:00 pause

  • @mariamuitomole
    @mariamuitomole 6 หลายเดือนก่อน

    Philipp, on these paid courses you have, like the KMP course on the description, do you keep it up to date with the latest changes on the APIs? Like, on the course description it says you use SQLDelight for local database, but know that Room is coming for KMP, will you update the course to include room as an alternative? Same to Compose Multiplatform. On the FAQ it says it isn't on a "good stage yet", but maybe this answer was written a while ago, and now Compose Multiplatform seem to be in a good stage to be included. Will you include it on the course?

    • @PhilippLackner
      @PhilippLackner  6 หลายเดือนก่อน

      The courses are kept up-to-date with breaking changes. Updating single technologies is close to impossible to do well structured without re-recording the entire course since most lessons will depend on these technologies. Just because Room is out doesn't mean that there's no place for SQLDelight, both are viable libraries, so that's something I wouldn't update.
      Also, just because CMP is out doesn't mean every KMP app has to use it. There's still value in native UI since it will look and feel native. You don't get that with CMP. Once it becomes more stable, I'll make a separate course about it.

  • @sikka09
    @sikka09 6 หลายเดือนก่อน

    Nice explained

  • @SymeonPapazoglou
    @SymeonPapazoglou 5 หลายเดือนก่อน

    we want compose google maps with expect/actual and cocoapods setup pls!!!

  • @soumyajeetnayak3011
    @soumyajeetnayak3011 6 หลายเดือนก่อน

    i am getting error as Unresolved reference: platform , in iosMain and nativeMain, what to do, i checkedout the code from your github

  • @vertique
    @vertique 6 หลายเดือนก่อน

    Are you going to post videos about SwiftUI?

  • @muhurthreddy2944
    @muhurthreddy2944 6 หลายเดือนก่อน

    could u make another video on google sign in cuz a lot of things have changed plzzz

  • @jackeblan
    @jackeblan 4 หลายเดือนก่อน

    Why not interface/impl, though?

  • @wog4299
    @wog4299 6 หลายเดือนก่อน

    When will the series complete ?how much videos are you going to make ?

  • @Affiliate_Playbook
    @Affiliate_Playbook หลายเดือนก่อน

    🎉❤❤❤

  • @brianquigley1940
    @brianquigley1940 6 หลายเดือนก่อน

    👍

  • @natsucamellia
    @natsucamellia 4 หลายเดือนก่อน

    The fact that you have 23,853 unread emails is incredible.

  • @CSAbhiOnline
    @CSAbhiOnline 6 หลายเดือนก่อน

    All I understand is it's similar to an interface

  • @ZeeshanSyed-pq3gq
    @ZeeshanSyed-pq3gq 6 หลายเดือนก่อน

    Why does your face cam video look like 420p 😂

  • @j2shoes288
    @j2shoes288 6 หลายเดือนก่อน

    Son, why did you go back to KMP after a long time? It's still so immature/weak/flaky

    • @PhilippLackner
      @PhilippLackner  6 หลายเดือนก่อน

      It's a great technology

    • @j2shoes288
      @j2shoes288 6 หลายเดือนก่อน

      @@PhilippLackner you're funny! "great technology", sorry, I don't understand German. Let me Microsoft translate that? Oh, you mean "it's shit"! Crazy build times ( 8.5 mins for a Hello World app on an M3 for ios+android only! ), no logging, partially supported Compose, half the libraries don't work.

    • @_plaha_
      @_plaha_ 6 หลายเดือนก่อน

      @@j2shoes288 dude, you drank, go sleep

  • @int-64
    @int-64 5 หลายเดือนก่อน

    It didn't work for my laptop correctly and it was always showing 100% so I had to calculate it manually.
    val scale = batteryLevel.currentCapacity.toFloat() / batteryLevel.maxCapacity.toFloat()
    val value = (scale * 100.0).roundToInt()