Angular 17 Defer - Improve Performance in Your Application

Поділитися
Вставка
  • Опубліковано 20 січ 2025

КОМЕНТАРІ • 42

  • @MonsterlessonsAcademy
    @MonsterlessonsAcademy  4 місяці тому

    WATCH NEXT: Angular Interview Questions and Answers - Dominate Your Next Interview - ua-cam.com/video/5A_YKlVWMPo/v-deo.htmlsi=2DCn7yspEAAJ2H6l

  • @austinZen8800
    @austinZen8800 Рік тому +2

    Thanks!

  • @francogutierrez2257
    @francogutierrez2257 7 місяців тому

    ¡Gracias!

  • @davithovhannisyan7844
    @davithovhannisyan7844 3 місяці тому

    Good overview! Thank you!

  • @xxRAP13Rxx
    @xxRAP13Rxx 6 місяців тому

    Nice video! I take it at 8:50, the Load button does nothing if you press the Show button first because the Show button did the loading instead?

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

    Very powerful feature. Thanks for the explanation

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

    So in a master detail you can lazy losd details bit by using defer a d button click. Insa e

  • @ManasKumar-t2j
    @ManasKumar-t2j Рік тому

    As angular 17 doesnt have module, how we can handle lazy load module routing ? all the components are stand alone does it impact performance of existing application after migrating to 17 ? any idea?

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

      I already covered that
      ua-cam.com/video/NFJbXP6Ci98/v-deo.htmlsi=dXl2xXJGoOik9ZB9

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

    I have major issue with timing in angular I have a dialog with a form and need to fetch the data for that form before it's opened wondering if this will help.

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

      Kind of. But you can do the same without defer.

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

      @@MonsterlessonsAcademy I figured it out with subscribe but all these new things I haven't applied yet, and it's scary

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

    I thought it would be a nice alternative to bypass the ssr but after testing I don't see any improvement yet. I peppered my components with @defer blocks in the hope of reducing Initial Chunk Files but quite the opposite happened. The more @defer I put, the more the main.js file gains in size. It's still very useful for displaying skeletons.

  • @александпустовит

    Thanks for the explanation

  • @bibin24x7
    @bibin24x7 10 місяців тому

    Very good explaination

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

    Hi,
    Thanks for the explanation. I have a couple of questions:
    1 - Is it possible to revert back to the original state when the condition is undone. For eg - the view is rendered when the code enters the viewport but when the user scrolls up and the the code is removed from the viewport, the view stays
    2 - in case the view doesn't get rendered for some reason, can we re-render them somehow?

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

    @derfer combined with ssr.. does that even make sense?

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

      I didn't try that yet but no? because on backend we want to get the full prepared page. so all defered blocks should just be skipped

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

      @@MonsterlessonsAcademy yeah agree

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

    How about when you have 2 defer inside the same template. Will create two chunks i assume, but how does it know what placeholder/loading/error to use?
    Great video!

    • @Simao-xk1ye
      @Simao-xk1ye Рік тому +1

      In a scenario where multiple @defer directives are used, each @defer should have a corresponding @placeholder block immediately following it. The @placeholder block that follows a @defer block is the placeholder for that specific deferred content.
      eg.
      @defer(on viewport) {

      }
      @placeholder {
      Loading some component...
      }
      @loading {
      ...
      }
      @error{
      error
      }
      @defer(on viewport) {

      }
      @placeholder {
      Loading another component...
      }
      @loading {
      ...
      }
      @error{
      error
      }

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

      @@Simao-xk1ye
      i think he meant this
      @defer(on viewport) {

      @defer(on viewport) {

      }
      @placeholder {
      Loading another component...
      }
      @loading {
      loading
      }
      @error{
      error
      }
      }
      @placeholder {
      Loading component...
      }
      @loading {
      loading
      }
      @error{
      error
      }
      will this work ?

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

      Simao answer is perfect. You create multiple @defer with multiple @placeholder blocks for each of them. It will create separate chunks for every defer.

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

    great job, thanks!

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

    Спасибо большое!

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

    I like u video so much!

  • @theMarhaenist
    @theMarhaenist Рік тому +2

    Your speech making the lesson a little more difficult to understand

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

    this is crazy..

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

    string replace @if (condition) -> @defer(when condition; prefetch on idle) 😂

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

      I don't think it's a good idea to pack each small if condition in additional chunk