MVI Compose Multiplatform Contacts List App With Photos (iOS & Android) - KMM Tutorial

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

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

  • @PhilippLackner
    @PhilippLackner  Год назад +35

    Save 25% on ALL my more advanced premium courses and bundles with the code SUMMER25: pl-coding.com/premium-courses
    Disclaimer 1: Apparently, I was just too dumb to find the Export button for the Material3 builder. You can just use that to export your M3 theme and don't need to copy-paste all colors 😂
    Disclaimer 2:
    This is a simplified version of a contact list app. A real contact list app would also access the device's contacts (saved in the pre-installed contact list app for example). In Android this would work with the contact content provider. It was intentionally left out to not make this too long because this would be an additional implementation that differs on iOS and Android, but it's a good homework if you want to take this a step further 👍

    • @nymexe
      @nymexe Год назад +1

      Oh, you forgot to pin the comment)

    • @osisuper98
      @osisuper98 Год назад

      Will this coupon on premium courses be valid until ending of the month?

    • @PhilippLackner
      @PhilippLackner  Год назад

      @@osisuper98 no, 7 days

    • @JJ-fj6hl
      @JJ-fj6hl Год назад

      Does the discount apply to the course "Powerful REST APIs with Ktor"? I tried to use the code but it complains that it's invalid.

    • @yodgorbekkomilov3383
      @yodgorbekkomilov3383 Год назад +1

      @@PhilippLackner please create test-driven development course with kotlin multi-platform all the best a great course danke

  • @chips056
    @chips056 Год назад +64

    A free THREE hours course... Damn Philipp, you're truly the man!

  • @ayoubBoumzebra
    @ayoubBoumzebra Год назад +9

    At 13:50 actually, you can export the color themes from the top *export* button in the menu.
    Thanks for the video.

  • @trocchiettoski
    @trocchiettoski Год назад +1

    Philip I am not doing unfortunately android development anymore but I follow your video because you are an exceptional person thank you for your awesome effort and to make it free

  • @rhobpaz4577
    @rhobpaz4577 Год назад +1

    Thanks for making it available for free specially for latin-american people who would not be able to afford it otherwise, god bless Philipp!

  • @nedeljkobabic1651
    @nedeljkobabic1651 Год назад +1

    I started watching your kotlin coroutines playlist, and after some time I went to see your channel, and I was so happy when I saw that you are still creating tutorials about kotlin, keep up the great work!

  • @ma-ui8zz
    @ma-ui8zz Год назад +2

    It is so thoughtful of you to release such a valuable course for free on RUclips, thanks a lot.

  • @divyanshdxn
    @divyanshdxn 9 месяцев назад +2

    Finally completed the course this weekend. Really awwesome, now I'm going to migrate my wallpaper app project to compose MP 🎉🎉

  • @AhmadBakdash07
    @AhmadBakdash07 Год назад +19

    13:30 You can get the colours and themes as an XML file by pressing on the export button in the top right corner.

    • @saurabhsharma-om1rc
      @saurabhsharma-om1rc Год назад +1

      Thanks got to know after seeing your comment, and there is also an option to export for compose as well. That downloads Color.kt & Theme.kt

  • @skarloti
    @skarloti Год назад +7

    In your hands, you make the Kotlin language much more powerful than other languages ​​by demonstrating its power in multiplatformity. Through WebAssembly, will become even stronger in the next few months. Along with the sensational Generarive AI, I started looking for other applications as well. I will be interested in your implementation Tensorflow Lite and demonstrate some trained model graphically. There are already many ViT Transformers too.
    Thank you so much for this wonderful video tutorial that you are giving away absolutely free!

  • @haseeb776
    @haseeb776 Год назад +4

    Your passion for KMM is awe-inspiring, and your tutorial is a game-changer for aspiring developers. Kudos to your hard work and dedication! 👏👍

  • @danielhaslinger9266
    @danielhaslinger9266 Год назад +17

    Thank you for making this video! It couldn't have come at a better time because I'm currently super passionate about learning KMM.
    Seriously, your content is always top-notch and extremely valuable!
    I've gained an immense amount of knowledge from your premium courses and mentorship. Your feedback is always spot-on and incredibly helpful. If anyone wants to become an amazing Android developer, they absolutely can't go wrong with learning from you.
    Keep up the fantastic work, Philipp! Your videos truly make a difference, and I'm so grateful for all the knowledge you generously share.

    • @PhilippLackner
      @PhilippLackner  Год назад +3

      Thanks so much Daniel, looking forward to more work with you 🙌

  • @ThomasPhillips3
    @ThomasPhillips3 Год назад

    +1 to all the positive comments here. I've been an "aspiring" Android developer for way too long. You definitely are helping take me to the next level! Thank you so much!

  • @creponnekarim2865
    @creponnekarim2865 Год назад +2

    You're a hero buddy you're so amazing
    You made me land my first freelance job
    So thank you from
    The bottom of my heart

  • @icodethis
    @icodethis Год назад +2

    The best video in the world has arrived.

  • @idriscoding
    @idriscoding Год назад +3

    Three hours of free training, you are great🚀

  • @kunjeshvirani
    @kunjeshvirani Год назад +1

    Finally, the most awaited video came. Thank you 3000 times.

  • @haykmkrtchyan7093
    @haykmkrtchyan7093 4 месяца назад

    That's truly a terrific job Philipp. Thank you. Though 1 year has passed and I guess there are lots of new updates, it was worth watching it. Now I grapsed the overall concept and now I can dive deep 🙂

  • @rocketbro.h
    @rocketbro.h Год назад +1

    Dude this is so incredibly helpful. Great for learning KMM and Compose multiplatform but also a wonderful resourse for seeing clean architecture applied in practice, as you work. Just watching this has helped me understand so many foundational software concepts much better. THANK YOU

  • @anoopkumarueconomicsa8462
    @anoopkumarueconomicsa8462 Год назад +2

    You are amazing, l just started learning compose multiplatform yesterday. Just found this video, amazing. Keep going.

  • @akashkumardas6521
    @akashkumardas6521 Год назад +2

    This is really what everyone wants from you. Thank you

  • @KingFuYouTube
    @KingFuYouTube Год назад +2

    Damn this is insane.... 3 hours video. Thank you for the tutorials. Also, I am looking forward to using KMM soon. 😊

  • @ericwathome783
    @ericwathome783 Год назад +1

    Thank you for this Video. You can download the color codes. There's a download button at the top that allows you to download different formats e.g jetpack compose or XML

  • @mohameddouch9503
    @mohameddouch9503 Год назад +4

    13:40 you can export the colors using the button "export" in the top right

  • @apl4s
    @apl4s Год назад

    First leaving a like, then watching the video. Simply a free three-hour video that someone can use to expand their career in every way. Stupid who doesn't take advantage of it.

  • @tikayz
    @tikayz Год назад +1

    Thanks Phillip
    Your contents are very details and you explain every step to our understanding. Bless you mentor
    Hope to purchase your advanced courses soon 🎉
    Lots of love from Ghana 🇬🇭

  • @mrhchan94
    @mrhchan94 Год назад +1

    Thank you Phill for your dedication and hardwork.

  • @dzartxstudio
    @dzartxstudio Год назад +1

    We all gonna remember your name , thank you ❤

  • @treasuretechnology1724
    @treasuretechnology1724 Год назад +2

    Thank you Very Much, lots of love from Kenya

  • @patrickadutwum5480
    @patrickadutwum5480 Год назад +1

    Thanks for making this incredible course for free, happy to learn

  • @mytubekt
    @mytubekt Год назад

    Yes all serious developers watch till the end ;) Great video! Thanks for sharing!

  • @fazalulabid8483
    @fazalulabid8483 Год назад +3

    Thank You Philipp😍

  • @lanesOfCode
    @lanesOfCode Год назад +1

    let me jump straight into it, thanks.

  • @ajithma4091
    @ajithma4091 Год назад

    Thank you so much for this video. I will go through this tomorrow and try to build an app and see how well it goes.

  • @riyupapa39
    @riyupapa39 Год назад

    This is amazing video!!!. Thank you Philipp!! I hope Compose Multiplatform( with KMM ) will be popular ~

  • @MtaufiqH731
    @MtaufiqH731 Год назад

    This is truely amazing! God bless you!

  • @kinggeorges625
    @kinggeorges625 Год назад

    Cool, I've been waiting for this for so loong.
    Thanks Philip

  • @ernestguevara5968
    @ernestguevara5968 Год назад

    Wow, saved this vid.
    Will do this when I have a free time. Thanks man!!!

  • @UsamaThakurr
    @UsamaThakurr Год назад +2

    This is what I wanted ❤

  • @peppefailla1630
    @peppefailla1630 Год назад +1

    You're turning my life upside down man

    • @ChrisAthanas
      @ChrisAthanas Год назад +2

      no one can keep up with the marathon man

  • @mikegonzalez2012
    @mikegonzalez2012 Год назад +1

    If you are using Windows you CAN run the iOS app within a Virtual Machine. I use Virtual Box to run MacOSX on my Windows 10 machine. From that VM I can run Xcode.

    • @ChrisAthanas
      @ChrisAthanas Год назад

      hows the performance? Xcode native is a beast even on modern machines

    • @mikegonzalez2012
      @mikegonzalez2012 Год назад

      @@ChrisAthanasIt depends on your system. If you are running a VM I would suggest at least 16 GB of RAM. At least an i7. If you run less than an i7 it will be bad performance. If you don't have the RAM, it will crash.

    • @mikegonzalez2012
      @mikegonzalez2012 Год назад

      @@ChrisAthanas Personally I run an i7 12700k with 32 GB of RAM and it runs beautifully. But I built this machine for gaming. Honestly Dev and Gaming use similar specs though.

  • @d_o_o_m_g_u_y
    @d_o_o_m_g_u_y Год назад

    Week 3 of learning compose. This looks good, and am doing it. God help me

  • @rhythamnegi
    @rhythamnegi Год назад

    I love to learn about KMM , this SUNDAY i will complete

  • @DavidSantiagoIriarteZamora
    @DavidSantiagoIriarteZamora Год назад +1

    Awesome, thank you very much !

  • @NiMa-1629
    @NiMa-1629 Год назад +1

    This looks awesome, thanks!

  • @mahadsaid7175
    @mahadsaid7175 Год назад

    i like the KMM projects you make, they are very detailed

  • @i_youtube_
    @i_youtube_ Год назад

    Thank Philipp you for this free course.

  •  Год назад

    Philipp you are AMAZING! 🙌

  • @veda1015
    @veda1015 Год назад +1

    Thankyou man for this awesome video

  • @Sidner77
    @Sidner77 Год назад +1

    This is very cool. Thank you!

  • @mounirboussetta
    @mounirboussetta Год назад +1

    You don't need to copy each color code, you do have the option to download all colors codes from the top right dropdown menu (export).

  • @coalacorey
    @coalacorey Год назад +1

    Wow, I've been looking for exactly this type of video! I'm looking to turn an Android app into a KMM one as I get a lot of requests for an iOS version.

  • @nastenkaoo
    @nastenkaoo Год назад +2

    you are perfect guy

  • @hassanjamil841
    @hassanjamil841 Год назад

    13:40 I can see an export color theme option by google on the top bar. I think the feature can be useful. Anyways, great work done and an informative video just like always, keep it up, you are really doing a great job sharing the knowledge with people for free. And for people like me videos are really a helpful content to learn.

  • @ThomasPonzo
    @ThomasPonzo 10 месяцев назад +1

    with the expect class you can now generate the actual class for you if you alt enter on the classname

  • @misakidebugged
    @misakidebugged Год назад +1

    I absolutely appreciate this!! I've been thinking of using Dart (Flutter) but going away from Kotlin was bumming me out

    • @vibovitold
      @vibovitold Год назад +1

      Yeah, Dart isn't nearly as nice as a language (somewhere between Java and Kotlin I'd say, yet still closer to Java), and now that we've got Jetpack Compose I feel like Flutter lost its main relative advantage (in-code declarative layouts and associated state management)

  • @Snoootz
    @Snoootz Год назад +1

    AWESOME!

  • @davebudah
    @davebudah Год назад +1

    Thank you so much

  • @ЕвгенийЕльцов-щ9ъ
    @ЕвгенийЕльцов-щ9ъ Год назад +1

    It's awesome!!!!

  • @garrisonsnow7776
    @garrisonsnow7776 Год назад

    Thanks for giving back 👍

  • @azatsabirov863
    @azatsabirov863 Год назад

    Thanks for such amazing video!

  • @giuliopimenoff
    @giuliopimenoff Год назад +1

    This is amazing :>

  • @philipberthiaume2314
    @philipberthiaume2314 Год назад +1

    It should be stated that from compose 1.2.0, the padding parameter is required for the Scaffold, incase anyone is confused. Also, I adapted the code to use the inhouse version of the SQL database.

    • @ChrisAthanas
      @ChrisAthanas Год назад

      Is the inHouse version of the SQL, is that cross-platform too?

  • @innocentkumwenda8139
    @innocentkumwenda8139 Год назад +1

    Thanks Philipp

  • @Indently
    @Indently Год назад +1

    Can you do this but using Python?

    • @ChrisAthanas
      @ChrisAthanas Год назад

      Is Python used for mobile development on Android or iOS for native development?

  • @lindaporsius
    @lindaporsius Год назад

    You are my hero ❤

  • @krisztianbotos168
    @krisztianbotos168 Год назад

    Hey Philipp, the theme builder page allows to export the color theme written in Kotlin by clicking the export button in the top right corner.

  • @BrunoMilhan
    @BrunoMilhan Год назад

    Great video Philipp, thanks for sharing with us. I’ve been waiting for a long time a vídeo about kmm from you, because i know you use most modern techniques and a clean close approach, and after I watch this video I continue considering that still not worth it. I think that isn’t a good idea not to use android libraries like hilt or room, to use something else just to make a code shareable. I’m really passionate about kotlin, and I dream with kmm for a long time but I think that is not the moment yet. Now, kmm is adding more complexity in both projects instead of make it more easy to understand for both developers, android and ios. I think Flutter continues to be the the best option now, even though it’s another approach and you need to use dart(the worst language….). thanks for sharing your experience. =)

    • @PhilippLackner
      @PhilippLackner  Год назад +4

      Compose Multiplatform is now pretty much flutter with kotlin + making it easier to write native specific code, so I don't see how that argument counts 😄

  • @aksharshah
    @aksharshah Год назад +1

    You are amazing...😊

  • @bhushank1234
    @bhushank1234 10 месяцев назад

    Philipp, this course was awesome. The hands of session really helped me get good knowledge. Really appreciate.
    Now the KMM has official version is out, what is your opinion on its performance on iOS platform. Does it match or comes close to the native iOS app performance. Please let me know your view?

  • @SaherAlSous-welcomes-you
    @SaherAlSous-welcomes-you Год назад

    Thank you Philipp...

  • @UpLiftingU007
    @UpLiftingU007 Год назад

    just amazing 🙏

  • @saddam_howladar_dev
    @saddam_howladar_dev Год назад +1

    Great course thank you ❤❤
    i think its better to use Circuit A Compose-driven architecture for Kotlin can you at least make a crash course about circuit please it will be very helpful 🙏🙏

  • @RAJSINGH-mr7hq
    @RAJSINGH-mr7hq Год назад +1

    You are awesome 👌 👏

  • @Landofcoding
    @Landofcoding Год назад +1

    Amazing

  • @nomugop8017
    @nomugop8017 Год назад +1

    omg! God bless you

  • @aiklklivlind9451
    @aiklklivlind9451 Год назад

    Phillip always make a great content, thank you bro, you are making programming world better

  • @TheZaurHasanov
    @TheZaurHasanov Год назад +1

    thanks 👍🏻❤️

  • @Alexmez
    @Alexmez 11 месяцев назад

    Great video 🎉

  • @maheshj01
    @maheshj01 Год назад

    At 13:36 you can export the color scheme see the export button at the top right and you know what to choose.

  • @nymexe
    @nymexe Год назад +1

    13:35 There was a button in the top right corner to export the material colors)

  • @world_music_lyrics4416
    @world_music_lyrics4416 Год назад +1

    which shortcat do you use for creating new kotlin class on mac? CMD+N not directly creating class on mac

  • @alexnovikov1609
    @alexnovikov1609 Год назад

    It is just in time! Thank you very much, Philipp!

  • @yuuzuX
    @yuuzuX Год назад

    Using Precompose can also make managing ViewModel easier.

  • @EusouGabrielChen
    @EusouGabrielChen 10 месяцев назад

    Amazing!

  • @animecontent232
    @animecontent232 Год назад

    I love you more than myself ❤

  • @MevApps
    @MevApps 10 месяцев назад +1

    Why didn't you use supportingText in your TextFields instead?

  • @vikramragunathan6392
    @vikramragunathan6392 23 дня назад

    Super 👍

  • @JorgeCastro-sb3ss
    @JorgeCastro-sb3ss Год назад +1

    @PhilippLackner First of all, I thank you because the content you share is impressive. Is it possible to navigate back in the view stack by swiping like natively? In all the Compose Multiplatform examples I've seen so far, it's always done through the action of an icon or button.

  • @vladk3524
    @vladk3524 Год назад

    Thank you

  • @ajayhatte6510
    @ajayhatte6510 Год назад

    Hi philipp,
    Thanks for this video on Compose multiplatform.Can you please share from where you get resources or references for compose multiplatform for e.g. platform specific implementation for ImagePicker ?

  • @shoprecartteam9567
    @shoprecartteam9567 Год назад +1

    Please make a video on theme customization, Changing the background color of IconButton and shape and NavigationBarItem. There is no topic out there.

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

    Awesome video, thanks! I'm also wondering is it possible to send ImagePicker parameter from the App to a certain Voyager screen and if so, how? Best regards!

  • @tmjromao
    @tmjromao Год назад

    Many thanks for sharing your knowledge. One question regarding the project, why haven't you use Moko for sharing resources? it would help if on top of the video you have used what you explained before. Hard to keep up with all the libraries around, setting up KMM project files. Any how, great content. Best regards

    • @PhilippLackner
      @PhilippLackner  Год назад

      That would've involved too much setup, the video is already 3h+ long

  • @easybusinessou
    @easybusinessou Год назад

    Great 👍👍👍

  • @andrukva9592
    @andrukva9592 Год назад +2

    Hi, could you please show how to implement video and audio communication in an application between users without using third party services in jetpak compose, kotlin?

    • @ChrisAthanas
      @ChrisAthanas Год назад

      So, a walky-talky? Using a private server? Or peer to peer?

  • @lbecker12
    @lbecker12 Год назад +1

    Thanks for this! I have a couple gradle questions for you -
    1) Why does the base project use a newer compose kotlinCompiler version (1.4.4) than the compose version (1.4.0)?
    2) Also, why do we add the dependency for (androidx.activity:activity-compose:1.7.0) in the android gradle file as well as the shared file, but different versions? I see shared uses a slightly newer version ("androidx.activity:activity-compose:1.7.2") in androidMain.
    I've been having a lot of versioning issues in my own projects and am a little unclear on when it needs to be added to both/why versioning is different in this example, so any information you can provide is greatly appreciated!

    • @ChrisAthanas
      @ChrisAthanas Год назад

      Yes, this is all a very common and frustrating problem with Android development. The only thing that works, is googling and looking at the docs, and stack overflow.... its a mess

  • @jayantkumar1954
    @jayantkumar1954 Год назад

    Wow ❤❤❤❤

  • @scottmiddleton143979
    @scottmiddleton143979 Год назад +1

    Im unsure about whether to switch to this Moko shared viewmodel approach in a KMM project that isnt using compose multiplatform. I quite like the wrapper you create in your paid course as it allows for platform specific implementation if needed. For example in my personal project I have a Google Map with Clustering setup. The ClusterItem class differs between iOS and Android and I map to it in my platform specific viewmodel wrappers. Interested to know if anyone has any thoughts

    • @PhilippLackner
      @PhilippLackner  Год назад +2

      I'd be careful at the moment to switch anything important to compose MP until it's stable

  • @ericstefan5700
    @ericstefan5700 Год назад +1

    Do one for Desktop!