Expect/Actual in Kotlin Multiplatform - KMP for Beginners

Поделиться
HTML-код
  • Опубликовано: 21 янв 2025

Комментарии • 55

  • @MixwellSidechains
    @MixwellSidechains 7 месяцев назад +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.

  • @purplehazer417
    @purplehazer417 7 месяцев назад +12

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

  • @BouchentoufZakaria
    @BouchentoufZakaria 7 месяцев назад +2

    My day is missing you 😂❤

  • @PascarlHome
    @PascarlHome 7 месяцев назад +2

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

    • @mic9969
      @mic9969 7 месяцев назад

      yeah also waiting clean arch + mvvm + api some app

  • @TiagoDvl
    @TiagoDvl 7 месяцев назад +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

  • @morpheus4564
    @morpheus4564 5 месяцев назад

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

  • @kabindrashrestha3760
    @kabindrashrestha3760 5 месяцев назад

    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.

  • @DaleHawkins
    @DaleHawkins 7 месяцев назад

    Great video. I like where this series is heading!

  • @PS3HDTests
    @PS3HDTests 2 месяца назад

    Great video again. Thanks for sharing this

  • @kinggeorges625
    @kinggeorges625 7 месяцев назад

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

  • @riezkymaisyar4038
    @riezkymaisyar4038 6 месяцев назад

    love it as alwayss, thanks phillip

  • @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 6 месяцев назад

    Amazing tutorial, thanks Philipp

  • @ntikomathaba2662
    @ntikomathaba2662 7 месяцев назад

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

    • @PhilippLackner
      @PhilippLackner  7 месяцев назад +1

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

  • @ahmedomara5323
    @ahmedomara5323 5 месяцев назад

    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

  • @ayushrai3266
    @ayushrai3266 7 месяцев назад +2

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

  • @moldovanpeter5123
    @moldovanpeter5123 7 месяцев назад

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

  • @tch.777
    @tch.777 7 месяцев назад

    Amazing like always!!! Ty ❤

  • @kaushalp8433
    @kaushalp8433 4 дня назад

    is it mandatory to have xcode installed when i am building KMP project in mac os, I am getting xcode not installed error

  • @mariamuitomole
    @mariamuitomole 7 месяцев назад

    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  7 месяцев назад

      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.

  • @anudeepananth
    @anudeepananth 7 месяцев назад

    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

  • @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!

  • @mirmohammadtahasin4054
    @mirmohammadtahasin4054 5 месяцев назад

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

  • @fsfaysalcse
    @fsfaysalcse 7 месяцев назад +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

  • @poison2wine
    @poison2wine Месяц назад

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

  • @vertique
    @vertique 7 месяцев назад

    Are you going to post videos about SwiftUI?

  • @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

  • @sikka09
    @sikka09 7 месяцев назад

    Nice explained

  • @Hayabusa17
    @Hayabusa17 7 месяцев назад +2

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

  • @wog4299
    @wog4299 7 месяцев назад

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

  • @peter4vn
    @peter4vn 7 месяцев назад +1

    0:00 pause

  • @muhurthreddy2944
    @muhurthreddy2944 7 месяцев назад

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

  • @SymeonPapazoglou
    @SymeonPapazoglou 6 месяцев назад

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

  • @jackeblan
    @jackeblan 5 месяцев назад

    Why not interface/impl, though?

  • @ThirdPlanet_Earth
    @ThirdPlanet_Earth Месяц назад

    🎉❤❤❤

  • @brianquigley1940
    @brianquigley1940 7 месяцев назад

    👍

  • @CSAbhiOnline
    @CSAbhiOnline 7 месяцев назад

    All I understand is it's similar to an interface

  • @ZeeshanSyed-pq3gq
    @ZeeshanSyed-pq3gq 7 месяцев назад

    Why does your face cam video look like 420p 😂

  • @natsucamellia
    @natsucamellia 5 месяцев назад

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

  • @j2shoes288
    @j2shoes288 7 месяцев назад

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

    • @PhilippLackner
      @PhilippLackner  7 месяцев назад

      It's a great technology

    • @j2shoes288
      @j2shoes288 7 месяцев назад

      @@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()