Deferrable Views - New Feature in Angular 17

  Рет қаралды 25,830

Decoded Frontend

Decoded Frontend

Күн бұрын

Пікірлер: 78
@DecodedFrontend
@DecodedFrontend Жыл бұрын
Level up your Angular skills with my Advanced Courses 🚀 bit.ly/discounted-course-bundle 💡 Short Frontend Snacks (Tips) every week here: Twitter - twitter.com/DecodedFrontend Instagram - instagram.com/decodedfrontend LinkedIn - www.linkedin.com/in/dmezhenskyi
@keaganfouche1544
@keaganfouche1544 Ай бұрын
This is the best video on deferrable views that I've come across. Thank you for the clear and well delivered information!
@o_glethorpe
@o_glethorpe Жыл бұрын
That prefetch on idle is amazing
@hanshans9902
@hanshans9902 11 ай бұрын
Why
@Panossa
@Panossa 11 ай бұрын
@@hanshans9902 Imagine you have a website with endless scrolling. You only load the first 10 elements, but can load the next 10 as soon as the first are loaded. The initial page load is quick but you don't have to wait for long for additional content. Or imagine you have a website with different category buttons, like for shopping. You know most users will click on category A when visiting the website, thus you can start loading that as soon as the main page is loaded.
@gonzalocorchon6509
@gonzalocorchon6509 Жыл бұрын
I've been missing you lately. It was worth the wait. Great video as usual.
@DecodedFrontend
@DecodedFrontend Жыл бұрын
Yeah... I had s short pause. Thank you! :)
@vladislavamarkova8379
@vladislavamarkova8379 Жыл бұрын
One of the best videos on Deferrable Views, thank you!
@DecodedFrontend
@DecodedFrontend Жыл бұрын
Glad it was helpful!
@MrKOHKyPEHT
@MrKOHKyPEHT Жыл бұрын
IMO Angular 17 is game changer, but when we are talking about bumping current projects to version 17 - using all new features and benefits of Angular 17 will require a lot of refactoring, including both templates and components (deferrable views, signals, etc.)
@yankotliarov9239
@yankotliarov9239 Жыл бұрын
Angular is backwards compatible so you can start with building new components with signals and slowly migrate older ones over time, algular already has great reactivity using MVVM model, even if it comes with some overhead. Algular team also works on making NoZone providers so you can disable zone for specific components rather then going all or nothing on refactoring whole application.
@DecodedFrontend
@DecodedFrontend Жыл бұрын
Yeah, the Angular 17 is absolutely fantastic :) Regarding the part of refactoring, I agree that the migration will take some work, unfortunately. However, here I agree with @yankotliarov9239. Angular doesn't force you to migrate to all these awesome features immediately to benefit from Angular 17. You can do it incrementally because all these new features are backward compatible. Also, the Angular team invests a lot of effort in schematics to automate migrations where possible :)
@Panossa
@Panossa 11 ай бұрын
@@DecodedFrontend do you mind creating videos on such schematics for Angular 17 if there are any?
@aj.arunkumar
@aj.arunkumar 8 ай бұрын
@@Panossa just run ng update and you will be told what to do to update
@timurbirgalin4704
@timurbirgalin4704 Жыл бұрын
This is a really cool feature and I can't wait to try this one and other new features in our new project at work! Thank you so much for the video!
@Panossa
@Panossa 11 ай бұрын
This is a very hands-on approach to showing new features, love it! Very concise and ripe with examples. Thanks!
@gagiksimonyan3782
@gagiksimonyan3782 Жыл бұрын
Thanks for another useful video, Dmytro) Glad to see you again
@DecodedFrontend
@DecodedFrontend Жыл бұрын
Thanks, Gagik! 😊
@atulkamble557
@atulkamble557 4 ай бұрын
Beautifully explained! This is going to be very useful.
@psk2166
@psk2166 Жыл бұрын
Thank you so much, your explanation and immediate example are very helpful. Give me crystal clear for the idea what it should be used for. For me this is brilliant feature offer from Angular team.
@DecodedFrontend
@DecodedFrontend Жыл бұрын
Thank you so much for this feedback, I appreciate it so much 🙏🏻
@GuillermoArellano
@GuillermoArellano 9 ай бұрын
This was awesome! Thank you, Dmytro.
@innocentmazando3808
@innocentmazando3808 Жыл бұрын
Always a good thing hearing you explain concepts to us. Thanks @Dymtro
@DecodedFrontend
@DecodedFrontend Жыл бұрын
Glad that it was helpful and thank you for your comment ;)
@oleksandrvorovchenko8674
@oleksandrvorovchenko8674 Жыл бұрын
Very good and detailed explanation! As usual :) Thanks!
@ichr
@ichr 4 ай бұрын
Thank you very much, another really great explanation and use cases! :)
@aliroshan5773
@aliroshan5773 Жыл бұрын
Thanks for your hardworking and sharing your experience ❤
@pinkmobina
@pinkmobina Жыл бұрын
Thank you for creating such an awesome content on Angular
@AfifAlfiano
@AfifAlfiano 10 ай бұрын
What the game changer, that's awesome feature
@MayuraaSripalan
@MayuraaSripalan Жыл бұрын
Great explanation! Thank you very much!
@OnoshkoAndriy
@OnoshkoAndriy Жыл бұрын
Great explanation. Thanks for the video!
@artemyavorskyi5865
@artemyavorskyi5865 Жыл бұрын
Дякуєм за хороший як зажди розбір Ангуляру!
@abdelhamidouanes9941
@abdelhamidouanes9941 7 ай бұрын
Bravo !! Big thanks
@rahulmukherjee4700
@rahulmukherjee4700 5 ай бұрын
Fantastic explanation
@littleoddboy
@littleoddboy 6 ай бұрын
no one could teach deferrable views in angular better.
@shubhamgoel7703
@shubhamgoel7703 5 ай бұрын
awesome feature thanks sensei 😍
@DecodedFrontend
@DecodedFrontend 5 ай бұрын
🙏
@MrVinodkumar92
@MrVinodkumar92 8 ай бұрын
Thanks for the clear explanation. I have a doubt. U said placeholders, loading error are eagerly loaded. But in projects we use again another component inside the error and loading blocks Then we lose the lazy loading right. So how can we achieve even loading the blocks content as lazy loaded.
@wafel_dev
@wafel_dev Жыл бұрын
Do to know any best practices on how to use those? For example should we still use lazy loaded routes or will deffereable views just replace them?
@DecodedFrontend
@DecodedFrontend Жыл бұрын
Hi! Thanks for your question. Some best practices are: - Use placeholder blocks to avoid flickering in your UI; - Try to avoid applying of the @defer block for the components that appear immediately on the loading screen. - Make sure that lazy component isn't being used anywhere else in your app and doesn't have a reference via @ViewChinld, etc. In this case, it will end up in the main bundle. - Make sure that the components inside the @defer block are standalone. NgModule-based components won't be lazy loaded. - If you are sure that the user will be interacting with the lazy component, consider using prefetching. Regarding the router lazy loading. Deferrable views are not supposed to replace router-based lazy loading. It is absolutely fine to combine those 2 approaches because both of them solve slightly different use cases. I hope my comment was helpful :)
@serhiilytvyn8753
@serhiilytvyn8753 Жыл бұрын
Thanks a lot! Your video is awesome! 💛💙
@jaspernygaard9500
@jaspernygaard9500 Жыл бұрын
Love the explanation and new feature. One question for you. Is it possible using @defer inside of structural directives? If I have a for loop of 3 heavy components, can I defer them and load them one by one when the first one is finished? :)
@kashifalikhan4420
@kashifalikhan4420 11 ай бұрын
Very well explained
@vOnez212
@vOnez212 11 ай бұрын
Nice job!
@MichielKikkert
@MichielKikkert 11 ай бұрын
on interaction is also a great feature!
@teothe
@teothe Жыл бұрын
If we wrap all this logic in a component will it be the same example: in an app the loading and error part might be the same in all situations
@chris.p-dev
@chris.p-dev Жыл бұрын
Great in-depth explanation, deferrable views removed a lot of headaches. I guess idle browser API is not the last one they’re to integrate under the hood. P.S. hope the spinner approach dies in favor of skeleton 😂
@DecodedFrontend
@DecodedFrontend Жыл бұрын
Thank you! I also think that some new triggers and prefetchers will be introduced. And yeah, I also like more the approach with placeholders rather than spinners 😉
@halynaua
@halynaua Жыл бұрын
Awesome🤩
@saniyainbali
@saniyainbali Жыл бұрын
new video 🎉🎉🎉
@flywheel56
@flywheel56 Жыл бұрын
Well done!
@NoName-1337
@NoName-1337 Жыл бұрын
What would happen, if I have wrappted ComponentA within a @defer block in ComponentB, but in ComponentC, I don't wrap ComponentA in a @defer block. Would ComponantA split from the main-chunk or not? Should I wrapp all same components with @defer to archeve a split from the main-chunk?
@DecodedFrontend
@DecodedFrontend Жыл бұрын
Hi! Thanks for your question. In your case the componentA will become a part of main bundle because it has a reference in the component that will be eagerly loaded (ComponentC)
@CodeSample360
@CodeSample360 11 ай бұрын
Thank you for this video
@DecodedFrontend
@DecodedFrontend 11 ай бұрын
You are welcome 😊
@stickyamp5996
@stickyamp5996 5 ай бұрын
I always get confused about how angular projects, and frontend in general is deployed/retrieved by the use , i mean, there is a server that sends chunks and the user receive those chunks and the browser generate the js to create the spa functionality, but then comes in server side rendering and SSG and it gets a bit confusing to get the whole picture of what is happening, do you have a video talking about that? or could you do one? I like your advanced-oriented way of making angular videos.
@ankurmishra8543
@ankurmishra8543 3 ай бұрын
If we use Heavycomponent in import section of app component, then is it not contained in bundle size of app component? If yes then how defer is benifit?
@AndreyKarpovich
@AndreyKarpovich 11 ай бұрын
Defferable views are a bit like Signals (Angular 16 feature) for chunks of template. And also they reminded me a server-side rendering concept using PHP
@aj.arunkumar
@aj.arunkumar 8 ай бұрын
super awesome
@vibhukumar7327
@vibhukumar7327 11 ай бұрын
Hey, Thanks for making this video. How about nested @deferrable view? How does that work? it will be helpful for many people if you make a video on that. Thanks.
@mtvspec
@mtvspec 2 ай бұрын
а как выглядит в этом подходе конфигурация роутера? или все компоненты сразу импортируются, а дальше с помощью @defer решается когда их загружать с сервера?
@DecodedFrontend
@DecodedFrontend 2 ай бұрын
Роутер не участвует в этом процессе вообще. Триггеры блока @defer инициализируют ленивую загрузку.
@CodeZakk
@CodeZakk Жыл бұрын
hi thank you epic video. my question is is angular deferable views is like react suspense i use angular,react and vue and i will see any equivalent property for other framework?
@loko1944
@loko1944 Жыл бұрын
In regards to seo. As long as there is no user interaction required to load this should be visible for google, right?
@XINTSUAI
@XINTSUAI 5 ай бұрын
How the @loading, @placeholder etc... knows which component they are waiting, since I can have multiple instances of the same "section"?
@azelsky
@azelsky 5 ай бұрын
what is the difference between "when" and "prefetch when"? Why do I need "prefetch when" if I could load content by just "when"?
@TuấnTàiĐặng-c7p
@TuấnTàiĐặng-c7p Жыл бұрын
What a great lesson. Can you give me the source of this?
@eglimaja2549
@eglimaja2549 9 ай бұрын
is this aplication SSR? I have a problem with @loading , doesn't show the content inside loading for example @defer { } @placeholder { Waiting... } @loading { } @error { Couldn't access this component } and the loading component it is shown only if i let outside @loading block
@jonatabiondiJsLover
@jonatabiondiJsLover Жыл бұрын
Super
@orjerby1
@orjerby1 Жыл бұрын
Isn't Deferrable Views in developer preview?
@DecodedFrontend
@DecodedFrontend Жыл бұрын
Good question. I heard also that it was in dev preview but probably not anymore because I didn't find any mentions about that on the official documentation here - angular.dev/guide/defer
@anon5992
@anon5992 Жыл бұрын
and react is still stuck with some random hooks from 2018
@MK-we4dl
@MK-we4dl 11 ай бұрын
It also works with any blocks, i use it with )
@mitterkit
@mitterkit 8 ай бұрын
Fc from thailand
@danieldouglas210
@danieldouglas210 10 ай бұрын
I like this feature, but I am worried that Angular templates will soon start looking like php wordpress template with a lot of logic embedded in the views.
@programandoprogramas-pp4565
@programandoprogramas-pp4565 9 ай бұрын
One of the best videos on Deferrable Views, thank you! 😊😊
@orjerby1
@orjerby1 Жыл бұрын
Isn't Deferrable Views in developer preview?
@DecodedFrontend
@DecodedFrontend Жыл бұрын
Good question. I heard also that it was in dev preview but probably not anymore because I didn't find any mentions about that on the official documentation here - angular.dev/guide/defer
LinkedSignal in Angular 19: The Gem We Were Missing
14:05
Decoded Frontend
Рет қаралды 6 М.
Dynamic Component in Angular (2024)
17:48
Decoded Frontend
Рет қаралды 31 М.
小丑女COCO的审判。#天使 #小丑 #超人不会飞
00:53
超人不会飞
Рет қаралды 16 МЛН
Cheerleader Transformation That Left Everyone Speechless! #shorts
00:27
Fabiosa Best Lifehacks
Рет қаралды 16 МЛН
IL'HAN - Qalqam | Official Music Video
03:17
Ilhan Ihsanov
Рет қаралды 700 М.
Mom Hack for Cooking Solo with a Little One! 🍳👶
00:15
5-Minute Crafts HOUSE
Рет қаралды 23 МЛН
Angular 17 Defer - Improve Performance in Your Application
11:27
Monsterlessons Academy
Рет қаралды 9 М.
TOP 6 Mistakes in RxJS code
18:35
Decoded Frontend
Рет қаралды 25 М.
Angular change detection explained in 5 minutes
6:06
Simplified Courses
Рет қаралды 16 М.
Deferrable Views in Angular 17
10:01
Web Tech Talk
Рет қаралды 3 М.
AI Is Making You An Illiterate Programmer
27:22
ThePrimeTime
Рет қаралды 213 М.
NgTemplateOutlet in Angular - Everything You Have to Know (2022)
35:15
Decoded Frontend
Рет қаралды 55 М.
First look at Signals in Angular
18:43
Decoded Frontend
Рет қаралды 47 М.
AMP 62: Mark Thompson on Angular 19+
19:15
NG Poland Conf
Рет қаралды 3,6 М.
Deferrable views in Angularv17
6:04
Angular
Рет қаралды 24 М.
ngTemplateOutlet is WAY more useful than I realised
16:36
Joshua Morony
Рет қаралды 78 М.
小丑女COCO的审判。#天使 #小丑 #超人不会飞
00:53
超人不会飞
Рет қаралды 16 МЛН