Less code: Composable functions - MAD Skills

Sdílet
Vložit
  • čas přidán 31. 05. 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
  • Věda a technologie

Komentáře • 38

  • @AndroidDevelopers
    @AndroidDevelopers  Před rokem +18

    Subscribe for the latest → goo.gle/AndroidDevs

    • @noctislucispacis6082
      @noctislucispacis6082 Před rokem

      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

  • @KUROSAKI_jp
    @KUROSAKI_jp Před rokem +7

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

  • @vardan.sargsyan
    @vardan.sargsyan Před rokem +8

    Awesome!!! Thanks for the info ❤

  • @luisdavidorellana
    @luisdavidorellana Před rokem +4

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

  • @AmiraAl-Samawi
    @AmiraAl-Samawi Před 23 dny

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

  • @LabGecko
    @LabGecko Před 8 měsíci

    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!

  • @jatinsingalEARCS
    @jatinsingalEARCS Před rokem +3

    Android Developers never fail to impress

  • @burgerparty
    @burgerparty Před rokem

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

  • @bobby9568
    @bobby9568 Před rokem +6

    Very helpful

    • @AndroidDevelopers
      @AndroidDevelopers  Před rokem +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 😁

  • @s.k.studios9887
    @s.k.studios9887 Před rokem +3

    Thank you man for sharing this stuff

    • @AndroidDevelopers
      @AndroidDevelopers  Před rokem +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 Před rokem +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.🖒❤🍀🖒

  • @firaszuriekat8341
    @firaszuriekat8341 Před rokem +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 Před rokem +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.

  • @SoulReaperDan1
    @SoulReaperDan1 Před rokem +1

    this is 🔥🔥

  • @jg-jsbg4725
    @jg-jsbg4725 Před rokem +3

    LESS CODE : COMPOSTABLE FUNCTIONS - MAD SKILLS

  • @heytemboumaza6369
    @heytemboumaza6369 Před rokem +1

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

  • @efimovalex814
    @efimovalex814 Před 10 měsíci

    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.

  • @samstoyroom
    @samstoyroom Před rokem

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

    • @chrisarriola3578
      @chrisarriola3578 Před rokem +1

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

  • @codekaksha1815
    @codekaksha1815 Před 29 dny

    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.

  • @smonkey001
    @smonkey001 Před rokem +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?

  • @siva_subramaniam
    @siva_subramaniam Před rokem

    bm - 2:15

  • @jopadjr
    @jopadjr Před rokem

    412th...Thanks Chris

  • @user-dz3hu8dj1t
    @user-dz3hu8dj1t Před měsícem

    😎😎

  • @StanleyMasinde
    @StanleyMasinde Před rokem +1

    Jetpack is very promising

    • @AndroidDevelopers
      @AndroidDevelopers  Před rokem +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

  • @amponsahhubert4884
    @amponsahhubert4884 Před rokem +1

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

  • @imin83gmail
    @imin83gmail Před rokem +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  Před rokem

      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

  • @TechnicalAkshay
    @TechnicalAkshay Před 11 měsíci

    i m 678th liker

  • @damarisgarcia7519
    @damarisgarcia7519 Před 26 dny

    Agregauncomentrio

  • @kingsleygarrison4758
    @kingsleygarrison4758 Před rokem +1

    This is basically React and virtual dom

    • @moritz_p
      @moritz_p Před rokem +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 Před rokem

      @@moritz_p I just meant conceptually