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

แชร์
ฝัง
  • เผยแพร่เมื่อ 21 พ.ย. 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.

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

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

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

  • @icodethis
    @icodethis ปีที่แล้ว +2

    The best video in the world has arrived.

  • @anoopkumarueconomicsa8462
    @anoopkumarueconomicsa8462 ปีที่แล้ว +2

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

  • @fazalulabid8483
    @fazalulabid8483 ปีที่แล้ว +3

    Thank You Philipp😍

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

  • @kunjeshvirani
    @kunjeshvirani ปีที่แล้ว +1

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

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

  • @treasuretechnology1724
    @treasuretechnology1724 ปีที่แล้ว +2

    Thank you Very Much, lots of love from Kenya

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

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

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

  • @akashkumardas6521
    @akashkumardas6521 ปีที่แล้ว +2

    This is really what everyone wants from you. Thank you

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

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

  • @idriscoding
    @idriscoding ปีที่แล้ว +3

    Three hours of free training, you are great🚀

  • @ma-ui8zz
    @ma-ui8zz ปีที่แล้ว +2

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

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

  • @mohameddouch9503
    @mohameddouch9503 ปีที่แล้ว +4

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

  • @lanesOfCode
    @lanesOfCode ปีที่แล้ว +1

    let me jump straight into it, thanks.

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

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

  • @mrhchan94
    @mrhchan94 ปีที่แล้ว +1

    Thank you Phill for your dedication and hardwork.

  • @patrickadutwum5480
    @patrickadutwum5480 ปีที่แล้ว +1

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

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

  • @KingFuYouTube
    @KingFuYouTube ปีที่แล้ว +2

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

  • @mytubekt
    @mytubekt ปีที่แล้ว

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

  • @riyupapa39
    @riyupapa39 ปีที่แล้ว

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

  • @dzartxstudio
    @dzartxstudio ปีที่แล้ว +1

    We all gonna remember your name , thank you ❤

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

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

  • @i_youtube_
    @i_youtube_ ปีที่แล้ว

    Thank Philipp you for this free course.

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

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

  • @nastenkaoo
    @nastenkaoo ปีที่แล้ว +2

    you are perfect guy

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

  •  ปีที่แล้ว

    Philipp you are AMAZING! 🙌

  • @MtaufiqH731
    @MtaufiqH731 ปีที่แล้ว

    This is truely amazing! God bless you!

  • @peppefailla1630
    @peppefailla1630 ปีที่แล้ว +1

    You're turning my life upside down man

    • @ChrisAthanas
      @ChrisAthanas ปีที่แล้ว +2

      no one can keep up with the marathon man

  • @veda1015
    @veda1015 ปีที่แล้ว +1

    Thankyou man for this awesome video

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

  • @rhythamnegi
    @rhythamnegi ปีที่แล้ว

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

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

  • @ernestguevara5968
    @ernestguevara5968 ปีที่แล้ว

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

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

    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?

  • @DavidSantiagoIriarteZamora
    @DavidSantiagoIriarteZamora ปีที่แล้ว +1

    Awesome, thank you very much !

  • @kinggeorges625
    @kinggeorges625 ปีที่แล้ว

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

  • @mahadsaid7175
    @mahadsaid7175 ปีที่แล้ว

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

  • @ThomasPonzo
    @ThomasPonzo 10 หลายเดือนก่อน +1

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

  • @nymexe
    @nymexe ปีที่แล้ว +1

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

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

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

  • @NiMa-1629
    @NiMa-1629 ปีที่แล้ว +1

    This looks awesome, thanks!

  • @UsamaThakurr
    @UsamaThakurr ปีที่แล้ว +2

    This is what I wanted ❤

  • @innocentkumwenda8139
    @innocentkumwenda8139 ปีที่แล้ว +1

    Thanks Philipp

  • @Sidner77
    @Sidner77 ปีที่แล้ว +1

    This is very cool. Thank you!

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

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

  • @yuuzuX
    @yuuzuX ปีที่แล้ว

    Using Precompose can also make managing ViewModel easier.

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

  • @sanjaykarki6238
    @sanjaykarki6238 ปีที่แล้ว +1

    @PhilippLackner could you please make a video on how to navigate between screens in KMM for ios and android with single code base if possible

    • @ChrisAthanas
      @ChrisAthanas ปีที่แล้ว

      he shows that in this course... did you watch it?

  • @Snoootz
    @Snoootz ปีที่แล้ว +1

    AWESOME!

  • @davebudah
    @davebudah ปีที่แล้ว +1

    Thank you so much

  • @nomugop8017
    @nomugop8017 ปีที่แล้ว +1

    omg! God bless you

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

  • @RAJSINGH-mr7hq
    @RAJSINGH-mr7hq ปีที่แล้ว +1

    You are awesome 👌 👏

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

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

  • @alexnovikov1609
    @alexnovikov1609 ปีที่แล้ว

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

  • @garrisonsnow7776
    @garrisonsnow7776 ปีที่แล้ว

    Thanks for giving back 👍

  • @MevApps
    @MevApps 10 หลายเดือนก่อน +1

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

  • @azatsabirov863
    @azatsabirov863 ปีที่แล้ว

    Thanks for such amazing video!

  • @aksharshah
    @aksharshah ปีที่แล้ว +1

    You are amazing...😊

  • @ЕвгенийЕльцов-щ9ъ
    @ЕвгенийЕльцов-щ9ъ ปีที่แล้ว +1

    It's awesome!!!!

  • @ericstefan5700
    @ericstefan5700 ปีที่แล้ว +1

    Do one for Desktop!

  • @Germansdev
    @Germansdev ปีที่แล้ว

    Thanks a lot Philipp!!. Great content, as always. I added several items to check behavior and the app became very slow (Uex not acceptable). Respond late to scroll the lists . Has it happened to anyone else🤔? I was comparing it with an app with a similar UI format with images and Room in compose and it runs without problems on the same phone. What is the cause and is there a solution? Thank you very much again!

  • @SaherAlSous-welcomes-you
    @SaherAlSous-welcomes-you ปีที่แล้ว

    Thank you Philipp...

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

  • @giuliopimenoff
    @giuliopimenoff ปีที่แล้ว +1

    This is amazing :>

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

    Great video 🎉

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

    Great Course. Finished it to the end. One Problem I'm facing, whenever I rebuild the project and launch the app in iOS Simulator, none of the contacts seem to get Image, instead show the placeholder icon. If I edit them again, add images to them or create new contacts with images, they seem to stick. But whenever I rebuild the app and relaunch either from Android Studio or XCode, all the pictures disappear. Any clues?

  • @vikramragunathan6392
    @vikramragunathan6392 18 วันที่ผ่านมา

    Super 👍

  • @lindaporsius
    @lindaporsius ปีที่แล้ว

    You are my hero ❤

  • @rajeevranjan7461
    @rajeevranjan7461 19 วันที่ผ่านมา

    Can u add desktop development in compose multi platform along with Android and IOS

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

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

  • @UpLiftingU007
    @UpLiftingU007 ปีที่แล้ว

    just amazing 🙏

  • @Landofcoding
    @Landofcoding ปีที่แล้ว +1

    Amazing

  • @Hasan-ed1fz
    @Hasan-ed1fz ปีที่แล้ว

    There is an option to export the colors as "jetpack compose theme" on the export section of the material theme website.

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

  • @SergKoshelev
    @SergKoshelev ปีที่แล้ว

    nice job, but I have a question, is it will run with grpc, grpc works in swift but I need to compile Proto files to swift with protoc, how to use this generated files in such project? Maybe in the next video?)

  • @aiklklivlind9451
    @aiklklivlind9451 ปีที่แล้ว

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

  • @animecontent232
    @animecontent232 ปีที่แล้ว

    I love you more than myself ❤

  • @ia-income-200x
    @ia-income-200x ปีที่แล้ว +1

    Please can you do full android course

    • @ChrisAthanas
      @ChrisAthanas ปีที่แล้ว

      His whole channel is all about it.

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

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

    Please, make a tutorial on how to migrate the JVM library so that it can be used for multiplatform Kotlin