Less code: Composable functions - MAD Skills

Поділитися
Вставка
  • Опубліковано 26 тра 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

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

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

  • @jatinsingalEARCS
    @jatinsingalEARCS Рік тому +3

    Android Developers never fail to impress

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

  • @AmiraAl-Samawi
    @AmiraAl-Samawi 19 днів тому

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

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

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

  • @jg-jsbg4725
    @jg-jsbg4725 Рік тому +3

    LESS CODE : COMPOSTABLE FUNCTIONS - MAD SKILLS

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

  • @SoulReaperDan1
    @SoulReaperDan1 Рік тому +1

    this is 🔥🔥

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

  • @codekaksha1815
    @codekaksha1815 25 днів тому

    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.

  • @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.🖒❤🍀🖒

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

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

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

  • @amponsahhubert4884
    @amponsahhubert4884 Рік тому +1

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

  • @siva_subramaniam
    @siva_subramaniam Рік тому

    bm - 2:15

  • @jopadjr
    @jopadjr Рік тому

    412th...Thanks Chris

  • @user-dz3hu8dj1t
    @user-dz3hu8dj1t Місяць тому

    😎😎

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

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

  • @damarisgarcia7519
    @damarisgarcia7519 22 дні тому

    Agregauncomentrio

  • @TechnicalAkshay
    @TechnicalAkshay 11 місяців тому

    i m 678th liker