Less code: Composable functions - MAD Skills

แชร์
ฝัง
  • เผยแพร่เมื่อ 19 พ.ค. 2024
  • In this episode of MAD skills on Compose basics, we will cover the building blocks of Compose: composable functions.
    Composable Function → goo.gle/3r7snQ1
    Compose for Android Developers Course → goo.gle/compose-course
    Compose Samples → goo.gle/compose-samples
    Compose Camp → goo.gle/compose-camp
    Watch more MAD Skills episodes → goo.gle/madskills
    Catch more videos on Compose → goo.gle/compose-mad
    Subscribe to Android Developers → goo.gle/AndroidDevs
    #Featured #Compose #MADSkills
  • วิทยาศาสตร์และเทคโนโลยี

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

  • @AndroidDevelopers
    @AndroidDevelopers  ปีที่แล้ว +18

    Subscribe for the latest → goo.gle/AndroidDevs

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

      I suggest make a Built in Gcam any Device also USB Debugger putting in the setting not a Developers Option
      Add
      Thermal Heat monitor
      Android update repair systems App Built in

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

    Thanks much for this series! I'd like to make one caveat on the _"No more XML needed"_ comment.
    XML isn't the issue. It's how Android Studio propagates XML details, with massively cascading properties that end up conflicting that is the problem. Here's hoping that didn't jump over into Compose. Thanks again for the tutorials!

  • @KUROSAKI_jp
    @KUROSAKI_jp ปีที่แล้ว +7

    I just wanna learn even more now- it looks so cool o.O

  • @vardan.sargsyan
    @vardan.sargsyan ปีที่แล้ว +8

    Awesome!!! Thanks for the info ❤

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

    Muchas gracias por la información, que nos proporcionan es de gran ayuda. Un gran abrazo a todo el equipo de android 🤗

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

    Android Developers never fail to impress

  • @s.k.studios9887
    @s.k.studios9887 ปีที่แล้ว +3

    Thank you man for sharing this stuff

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

      It's certainly our pleasure! We've also gone ahead and linked you some great resources below to help you on your Compose journey 😊
      Composable Functions Reference → goo.gle/3BV8wbF
      Jetpack Compose Tutorial → goo.gle/3rhnns4
      Best Practices for Jetpack Compose → goo.gle/3St5ySU

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

    Un video maravilloso, valioso, importante, exitoso y útil, bendiga su esfuerzo y que Dios lo recompense con la mejor recompensa, mis saludos, mi cariño y mi gran aprecio.🖒❤🍀🖒

  • @AmiraAl-Samawi
    @AmiraAl-Samawi 12 วันที่ผ่านมา

    Great video. I have a question 5:43 .How does onAnswerSelected relate to or triggered with the onClick of the RadioButton?

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

    this is 🔥🔥

  • @bobby9568
    @bobby9568 ปีที่แล้ว +6

    Very helpful

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

      We're glad that the tutorial was helpful for you, Bobby. You can also check out the Compose Learning Pathways resource here: goo.gle/compose-pathway 😁

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

    Awesome for sure! Is Answer a built in class or user defined? I mean upon toggling a radio button, is the object updated is an instance of Answer?

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

      Hey Firas! The Answer class is user defined and has properties `text` and `image`, it can have other properties as well but that's irrelevant for this lesson. The implementation is left out in this video though the behavior would be the same for any other user defined class.

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

    I can't wait to put my hands on this baby !!!!

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

    Add display resolution change like 720p 1080p toggle for support devices and allow all windows to be resizable and free formed by default

  • @jg-jsbg4725
    @jg-jsbg4725 ปีที่แล้ว +3

    LESS CODE : COMPOSTABLE FUNCTIONS - MAD SKILLS

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

    1:06
    That seems counterintuitive that answers,forEach { // ... } will add SurveryAnswer composables to parent composable - Column
    Because answers,forEach { // ... } returns Unit
    It makes more sense to use answers,map { // ... } but it won't work, because SurveryAnswer composable returns Unit type
    It would be great if you would make series about Jetpack Compose internal implementation so we could understand why it works.

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

    Summary:
    1. Composable functions are immutable. You can not get any reference to them to change their state later.
    2. They should be fast and free of any side effects.
    3. Composables are idempotent.
    4. They transform state into Ui. That means they are entirely dependent on the properties they are passed.
    5. Recomposition happens when a composable is called with a new value of arguments.
    6. But it can also happen when internal state in a function changes.
    7. MutableState - any changes in the state of this variable will automatically tell its composable to schedule the recomposition.
    8. remember - guarantees that the value is not reset when the composable is reset.
    9. rememberSaveable - guarantees that the value is not reset when the config changes.
    10. In order to remain side-effect free, composable functions should not write to any variable from outside of their scope.
    11. Composables can run in parallel. They can run in any order.
    12. Recomposition re-draws only that part of UI where state is changed. It skips as much as possible.
    13. Recomposition is optimistic. It expects to complete the drawing before the next state change. But even if the next state change happens early, it cancels the current drawing.
    14. In cases such as animation, composables might run frequently.

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

    In 6:18, I think the "selectedAnswer" should be var instead of val, right?

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

      Good catch - yes you are right, that should be a var.

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

    The MutableState's auto-re-render mechanic is very interesting, I wonder how they implement it. Where can I read more on this without a deep dive of the source code please anyone?

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

      I'm very interested in this as well

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

    Jetpack is very promising

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

      Absolutely! Jetpack Compose is like a bright star, shining brighter each day 🌟
      If you'd like to learn more, we've linked an amazing playlist here: goo.gle/Jetpack-Compose

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

    bm - 2:15

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

    412th...Thanks Chris

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

    Compose makes development simple but the performance is not helping. It doesn't give me the native feel.

  • @user-dz3hu8dj1t
    @user-dz3hu8dj1t 29 วันที่ผ่านมา

    😎😎

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

    This is basically React and virtual dom

    • @moritz_p
      @moritz_p ปีที่แล้ว +6

      Yes and no. It's the same declarative concept, just for Android. What makes this great as well is that it's native, modern and more seamless in comparison to React Native. Also you don't have CSS but all layout and styling is done in compose itself and you can customize it however you like. Just like you saw the Row composable that puts it's children into a row, you could write your own custom reusable layout that arranges items in a circle, all without ever leaving Kotlin or writing XML. It's also very easy to make this very efficient in terms of performance.
      I'm a big fan of React on the web but I find that the platform is sometimes limiting. I would highly suggest trying out the Compose codelabs, it is pretty cool!

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

      @@moritz_p I just meant conceptually

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

    i m 678th liker

  • @damarisgarcia7519
    @damarisgarcia7519 15 วันที่ผ่านมา

    Agregauncomentrio

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

    I want to like this video, but the current like count 444 looks beautiful enough for me not to like this video 😆

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

      We're so glad you enjoyed the video, Abdul! Thanks for watching 😎
      To further hone your MAD Skills, feel free to scope out the Composable Functions resource we linked below:
      goo.gle/3r7snQ1