Architecture: The UI layer - MAD Skills

  Рет қаралды 83,854

Android Developers

Android Developers

Күн бұрын

Пікірлер: 65
@Leeteor
@Leeteor Жыл бұрын
After watching about 2 hours of videos, yours is the one that finally makes me understand the purpose of ViewModel. Thanks!
@nuculabs
@nuculabs 9 ай бұрын
I was confused by View and ViewModel and Model but now it's so nicely explained that I can say that I finally get it, thank you!
@brianquigley1940
@brianquigley1940 4 ай бұрын
Am I the only person who had to turn on captions? This guy has a lovely sounding voice, but I - me, personally! - had trouble with some of his pronunciation... e.g. I had never heard of Jetmuse (i.e. Jet News). NEVERTHELESS, it is a great video with a very clear explanation. Nice.
@miguelol
@miguelol Жыл бұрын
Great video! Nice Kurzgesagt easter-egg by the way!
@Narazgul
@Narazgul Жыл бұрын
Nobody noticing the Kurzgesagt Merch? Ten points for Gryffindor, my friend! :D
@bitterjames
@bitterjames Жыл бұрын
what does Kurzgesagt have to do with Harry Potter?
@incrizza
@incrizza 7 ай бұрын
Tj's speaks so lovely. Thanks for this tip Cheers :D
@danielSafonyan
@danielSafonyan 10 ай бұрын
Best lecturer so far, thank you!
@12nileyfan
@12nileyfan Жыл бұрын
Thanks for these series of videos. they are indeed very useful to understand all the concepts in App Architecture.
@angelernesto80
@angelernesto80 2 жыл бұрын
another fan of Kurzgesagt! ❤️😄😄👏👏👏
@Warlax
@Warlax 2 жыл бұрын
Great series. Will you guys cover the Domain layer?
@manuelvicnt
@manuelvicnt 2 жыл бұрын
Yes! It's coming soon :)
@donturner1928
@donturner1928 2 жыл бұрын
It's here :) kzfaq.info/get/bejne/na-YnaaZmLucaH0.html
@RickertBrandsen
@RickertBrandsen 2 жыл бұрын
Rocking the kurzgesagt shirt :D
@user-oy1ky3bo4t
@user-oy1ky3bo4t Жыл бұрын
Oh!!!!! I Really Understand!!!
@paulndibe250
@paulndibe250 2 жыл бұрын
Nice, I hope there will be a code lab for after this series
@coldwolf5050
@coldwolf5050 2 жыл бұрын
Very nice episode, short with all the important info.
@cyriltheandroid
@cyriltheandroid 2 жыл бұрын
Those architecture videos are very interesting! Thanks!
@nima7605
@nima7605 Жыл бұрын
Thx for the great explanation.
@erinwolf1563
@erinwolf1563 2 ай бұрын
Love the Edsheeran U.N.I part hehe 🥰
@SiamakAshrafi
@SiamakAshrafi 2 жыл бұрын
You should also talk about navigation at some point ...
@youdube1203
@youdube1203 Жыл бұрын
great series , keep it up , follow you from Sudan
@michaelappiah-kubi2829
@michaelappiah-kubi2829 Жыл бұрын
Finally got this flow, thanks
@IncompleteTheory
@IncompleteTheory 2 жыл бұрын
This is all well and fine with simple examples. But what if the UI state is more complex, for example with lists of objects containing other lists or even maps. Managing this with immutable data classes results in rather complex nested .copy() operations. What would be a best practice to break this up?
@martinmihalic8612
@martinmihalic8612 2 жыл бұрын
If you do the threading right, you won't have any negative impact on the performance. When you have a complex UI state, the complexity should be moved over to the domain layer (or even data layer) and you should be exposing multiple data sources to the ViewModel and just collect them as needed. However, you should be able to figure out the minor tweaks you need to do in order to match your own requirements and make your UI state more manageable. I would say that they just want to emphasize, through these simple examples, what is the best approach to make your app bulletproof and bug-free considering the platform limitations. If you ever encountered an Android app codebase that did not have an architectural rules and the state was managed everywhere across the codebase, you probably had lots of subtle issues that were not that easy to reproduce and that is something they are trying to help us with.
@IncompleteTheory
@IncompleteTheory 2 жыл бұрын
@@martinmihalic8612 Thanks, your response got me thinking. I may not yet fully embrace the role of my ViewModel classes. Perhaps I'm enforcing too much of the domain relations onto the ViewModel classes.
@annelosch555
@annelosch555 Жыл бұрын
As someone who is trying to learn Android Development, this is too over my head. It needs to be broken down more. After watching this, I still do not know what a UIState is.
@dillonsoul5635
@dillonsoul5635 2 жыл бұрын
Would you please add subtitles in future videos?
@heshansandeepa9471
@heshansandeepa9471 4 ай бұрын
awesome
@smreha
@smreha 2 жыл бұрын
Domain Layer. When?
@sebastianb7496
@sebastianb7496 2 жыл бұрын
Great video! Looking forward to the next episode!
@brianquigley1940
@brianquigley1940 4 ай бұрын
When did "consume" become a synonym for "reads"? (e.g. consumes the new UI state.) Or "observable" and "exposed" for "API"? (e.g. exposed in an observable data holder.) Man, programming "terminology" evolves quicker than new programming languages!
@mohsenteymouri8852
@mohsenteymouri8852 2 жыл бұрын
Nice points. Thanks.
@user-cm8yx7xd7f
@user-cm8yx7xd7f Жыл бұрын
What others state holders exists, aside of viewModels?
@WaheedKhAn-mw8fo
@WaheedKhAn-mw8fo 2 жыл бұрын
Awesome explanation waiting for the next episode.
@user-yj9qs7cs5r
@user-yj9qs7cs5r 2 жыл бұрын
Боольшое спасибо автору,классное видео)
@mondoshigua
@mondoshigua Жыл бұрын
🇨🇴🙋🏻‍♂️👍🏼🤝🏼 Saludos desde Colombia
@muhammaddanial3954
@muhammaddanial3954 Жыл бұрын
mannn i keep focusing on the pyramid up there!!!
@nomatter2444
@nomatter2444 2 жыл бұрын
Just a quastion, why you're using FlowState instead of ComposeState??
@vaibhavnalawade161
@vaibhavnalawade161 2 жыл бұрын
FlowState can work as state in compose
@FrezoreR
@FrezoreR 2 жыл бұрын
Isn't it wrong to call an activity an UI object?isnt it a controller and more akin to a main function. It's more of a has UI than is UI.
@thecsciworker291
@thecsciworker291 Жыл бұрын
It's considered UI as its only purpose should be to display state accordingly, not manage it (which is a fundamental root cause to Android app performance, and state management issues [multiple source of truths]). Your "main function" in Android is actually your Application class, not Activities. Retrieving and transforming state for display should be delegated to state holders. Resist the temptation to operate on data in your Activities and Fragments. The most you should do, is use it as common source (if you hoist state), to pass down callbacks from your state holders. If you need Context, look to your Application Context. These updated series of videos and documentation explains it all very well. Adopting UDF principles has been the direction the Android team has been heading since they took a stance on Architecture back when they launched Architecture components.
@navczydev
@navczydev 2 жыл бұрын
Great TJ
@zafar_codes
@zafar_codes 2 жыл бұрын
Greeat!!! Thanks
@jeremywang3969
@jeremywang3969 Жыл бұрын
nice
@levanhuy1992
@levanhuy1992 2 жыл бұрын
I think the better practice is should replace StateFlow by LiveData, because the StateFlow doesn't keep the last value of state or IU data like LiveData
@sysadm85
@sysadm85 2 жыл бұрын
You're wrong, StateFlow keep last value of data, StateFlow is very similar with SharedFlow(replies=1)
@levanhuy1992
@levanhuy1992 2 жыл бұрын
@@sysadm85 sorry, i think there is my mistake. When restart fragment, the state flow will be initialized again, it will not keep the previous data. Anyway, it will be re-updated when re-fetching data and being observed inside lifecycle scope block.
@user-ml3cw7xz8b
@user-ml3cw7xz8b 2 жыл бұрын
Спасибо автору,классно видео
@nevermore5173
@nevermore5173 2 жыл бұрын
Nice Kurzgesagt shirt
@mubaraknative
@mubaraknative 8 ай бұрын
Ividiyo enolwazi kakhulu evela kusayithi lonjiniyela
@ahmadazharbinatalib7303
@ahmadazharbinatalib7303 2 жыл бұрын
Yes Sir..ok very good info
@SociedadAndroide
@SociedadAndroide 2 жыл бұрын
I see a Kurzgesagt fan here 😆
@rizriz4247
@rizriz4247 2 жыл бұрын
Is that a kurzgesagt shirt?
@rizriz4247
@rizriz4247 2 жыл бұрын
And a kurzgesagt duck
@tjdah10
@tjdah10 2 жыл бұрын
Haha, it is!
@mirianfonkam
@mirianfonkam Жыл бұрын
Wait, which Ed Sheeran song? 😂
@erinwolf1563
@erinwolf1563 2 ай бұрын
U.N.I
@rohanmanchanda5250
@rohanmanchanda5250 2 жыл бұрын
Who's Ed Sheeran?
@bitterjames
@bitterjames Жыл бұрын
singer
@animeworld9973
@animeworld9973 2 жыл бұрын
1 st comment
@rossrose4921
@rossrose4921 2 жыл бұрын
Borling
@JahangirJadi
@JahangirJadi 2 жыл бұрын
That's an achievement. Congrats.
@user-ix8xb6sx3o
@user-ix8xb6sx3o 2 жыл бұрын
Боольшое спасибо автору,классное видео)
Architecture: Handling UI events - MAD Skills
10:17
Android Developers
Рет қаралды 43 М.
State holders and state production in the UI Layer
20:53
Android Developers
Рет қаралды 45 М.
Running With Bigger And Bigger Feastables
00:17
MrBeast
Рет қаралды 164 МЛН
Bony Just Wants To Take A Shower #animation
00:10
GREEN MAX
Рет қаралды 7 МЛН
Мы сделали гигантские сухарики!  #большаяеда
00:44
Ik Heb Aardbeien Gemaakt Van Kip🍓🐔😋
00:41
Cool Tool SHORTS Netherlands
Рет қаралды 9 МЛН
This is Your 2024 Action Plan to Get Your Android Dream Job
21:52
Philipp Lackner
Рет қаралды 33 М.
MVVM vs. MVI - Understand the Difference Once and for All
18:40
Philipp Lackner
Рет қаралды 39 М.
The Easiest Way To Get A Tech Job In 2024
8:01
Clément Mihailescu
Рет қаралды 31 М.
Architecture: The data layer - MAD Skills
7:30
Android Developers
Рет қаралды 77 М.
Architecture: Live Q&A - MAD Skills
45:44
Android Developers
Рет қаралды 20 М.
The Top 3 State Management Mistakes On Android
14:30
Philipp Lackner
Рет қаралды 23 М.
Are You At Least at Level 4 of UI?
10:57
Malewicz
Рет қаралды 96 М.
Hilt and dependency injection - MAD Skills
13:06
Android Developers
Рет қаралды 47 М.
Asking Him How He Retired Early With 12 Crores
15:45
Wint Wealth
Рет қаралды 1,5 МЛН
ChatGPT for Data Analytics: Full Course
3:35:30
Luke Barousse
Рет қаралды 255 М.
Худший iPhone 16. #apple #iphone
1:01
Не шарю!
Рет қаралды 299 М.
Самый дорогой телефон 2000х
0:54
МАДНЕСС
Рет қаралды 2,5 МЛН
Лучшая защита экрана
0:40
Newtonlabs
Рет қаралды 742 М.
САМЫЙ ОПАСНЫЙ iPHONE В МИРЕ 🤯 #iphone
1:01
ТЕХНОБЛОГ АЛИША
Рет қаралды 309 М.
ПС 110/10. Кто то подключил "левак" 110000 вольт!?
0:34
Советы электрика
Рет қаралды 1,3 МЛН
Опасность фирменной зарядки Apple
0:57
SuperCrastan
Рет қаралды 13 МЛН
Слетела прошивка на LiXiang L7
1:01
Настя ЧПЕК Туман
Рет қаралды 4,1 МЛН