Angular 17 - New Build-In Control Flow Overview 🚀

Поделиться
HTML-код
  • Опубликовано: 5 сен 2024

Комментарии • 137

  • @DecodedFrontend
    @DecodedFrontend  10 месяцев назад +4

    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

  • @PauloSantos-yu1tn
    @PauloSantos-yu1tn 10 месяцев назад +10

    Good improvement for Angular, i love the new syntax control flow!

    • @DecodedFrontend
      @DecodedFrontend  10 месяцев назад +2

      Me too! Happy that they have not chosen the Svelte-like syntax :)

    • @PauloSantos-yu1tn
      @PauloSantos-yu1tn 10 месяцев назад

      @@DecodedFrontend Me too.

    • @1USER1ify
      @1USER1ify 10 месяцев назад +1

      @@DecodedFrontendyeah, that one would have been even more confusing. I had the impression that I can’t see well where a block of code starts and ends.

  • @dennis87ist
    @dennis87ist 10 месяцев назад +8

    Great job Dmytro! I love so much all the new features that the Angular team has released! They've done a really great job with this new release!

  • @danielnaydenov9899
    @danielnaydenov9899 9 месяцев назад +2

    I love the new control flow syntax, signals and all of the new changes the angular team has been implementing. Also love your videos, keep up the good work ! 🎊🎊🎊

  • @ihor-pidhornyi
    @ihor-pidhornyi 10 месяцев назад +6

    Hi, where did you buy the new branded Angular T-shirt?

  • @oleksandrvorovchenko8674
    @oleksandrvorovchenko8674 9 месяцев назад +3

    There is also a @defer block, which allows to lazy load components (standalone of course). Quite a useful thing to avoid custom wrappers with dymanic component creation.

    • @DecodedFrontend
      @DecodedFrontend  9 месяцев назад +4

      Hi Oleksandr. Yep, but this is a big topic that deserves a separate video ;)

    • @oleksandrvorovchenko8674
      @oleksandrvorovchenko8674 9 месяцев назад +2

      @@DecodedFrontend , hi Dmytro. Yep, it's a big topic. I was lucky enough to attend NG-POLAND and presentation about @defer block had more than 100 pages :-)

    • @DecodedFrontend
      @DecodedFrontend  9 месяцев назад +1

      @@oleksandrvorovchenko8674 Wow, that's great! Unfortunately, I could not attend the NG-POLAND but wanted a lot :(

  • @psk2166
    @psk2166 7 месяцев назад +1

    Beautiful and neat syntax, make me wanna update to angular 17 right away

  • @radvilardian740
    @radvilardian740 10 месяцев назад +2

    very nice by angular, no more repeatitive imports + clean syntax + performance improvements ++, I can't wait for the zoneless updates. Hopefully soon in v18

    • @DecodedFrontend
      @DecodedFrontend  9 месяцев назад +2

      Absolutely! I also hope that we will see the zone-less Angular in v18 at least in Dev Preview

  • @1306dk
    @1306dk 10 месяцев назад +8

    Where'd you get the tshirt? 🤔

    • @TheAUa
      @TheAUa 10 месяцев назад +1

      Need to know too!

  • @sameerdas3672
    @sameerdas3672 9 месяцев назад +1

    Great job Dmytro! Always learning new things from you. It will be awesome if we get a video on signals and their use cases in daily life.

  • @dianlabuschagne2239
    @dianlabuschagne2239 10 месяцев назад

    Epic timing on the battery notification at the end 😂.
    Tnx for keeping us updated ❤

  • @PiotrDeveloper965
    @PiotrDeveloper965 9 месяцев назад +2

    This syntax is nice! You can focus more on the template. Those ng-container/ng-template were confusing in my view.

    • @DecodedFrontend
      @DecodedFrontend  9 месяцев назад +1

      I must agree. I remember how mysterious were for me stuff like ng-template many years ago when I just started with Angular :)

  • @gund_ua
    @gund_ua 10 месяцев назад +8

    Hey Dmytro! I've seen this new syntax and mostly like it but what I do not know if there are any ways to extend it, like with ng* directives it was possible to create custom ones and replace built-in. But I don't think this new syntax exposes any new API to extend it, right? This is the part I do not like but I guess we could still use directives for such use-cases.
    Also I did not see any mention of the `@defer` block, are you planning on covering this in a separate video?

  • @axeleldrianhadiwibowo2298
    @axeleldrianhadiwibowo2298 5 месяцев назад

    your explanation and example case are very very good, Thanks so much for the knowledge👍🏻👍🏻

  • @serhiikolontaievskyi
    @serhiikolontaievskyi 10 месяцев назад +4

    The control flow is awesome.
    Thanks for the video, greetings from 🇺🇦

  • @zimcoder
    @zimcoder 10 месяцев назад

    I love this new syntax, this control flow thing is drawing me back to angular!

  • @sidduhedaginal
    @sidduhedaginal 8 месяцев назад

    I really love the new syntax for the control flow statements, keep up good work and love your video content

  • @sebuzz17
    @sebuzz17 10 месяцев назад +1

    I really like it, can't wait it's stable for prod.

    • @DecodedFrontend
      @DecodedFrontend  10 месяцев назад +1

      Actually, the Control Flow is ready to be used for production. In the “developer preview” mode only the migration schematic.

  • @user-nb7yv8lp1t
    @user-nb7yv8lp1t 10 месяцев назад +1

    Fantastic. Now we're talking

  • @LarsRyeJeppesen
    @LarsRyeJeppesen 9 месяцев назад +1

    @defer is mind blowingly cool

  • @vokanred
    @vokanred 10 месяцев назад +1

    Thanks, Dmytro!
    Could you explain to us what the Hydration pls? And it'd be great to know about SSR in Angular.

  • @mixmax1982
    @mixmax1982 10 месяцев назад

    Дмитре, дякую за гарне і корисне відео! Перша реакція була що тепер в темплейтах буде JS подібний синтаксис, що нагадало якісь старі template engines. Але коли побачив нові "плюшки" - відразу захотілося оновитися до 17 версії і швидше це перевірити!

  • @giustomuh
    @giustomuh 9 месяцев назад

    This syntax look interesting, seems much more readable, nice video!

  • @kanstantsinmalikau7598
    @kanstantsinmalikau7598 7 месяцев назад

    Nothing can satisfy a programmer in me more than seeing angular moves forward!

  • @Srik609
    @Srik609 10 месяцев назад +1

    Love it!! this brand new control flow is awesome. BTW can you pls do a video on `@defer` block.

    • @DecodedFrontend
      @DecodedFrontend  10 месяцев назад +1

      Of course, it is in my shortlist ;)

  • @DeepakKumar-nw6ec
    @DeepakKumar-nw6ec 8 месяцев назад

    Really like new control flow

  • @gagiksimonyan3782
    @gagiksimonyan3782 10 месяцев назад

    Thanks for another useful video, Dmytro) Hope to understand new features better with your help 😉

  • @antonkozak2756
    @antonkozak2756 10 месяцев назад +1

    Дякую за цікаві ангуляр туторіали!

    • @DecodedFrontend
      @DecodedFrontend  9 месяцев назад

      You are welcome, Anton! Thanks for your feedback :)

  • @alextiger548
    @alextiger548 9 месяцев назад

    Nice presentation. Most important you also provided the source code. Thank you again. Looking forward to a new staff

  • @muthu1046
    @muthu1046 10 месяцев назад +1

    Amazing!.. Please create video about the deferrable blocks as well

    • @DecodedFrontend
      @DecodedFrontend  10 месяцев назад +5

      Definitely! It is in my short list ;)

  • @poh9044
    @poh9044 10 месяцев назад +1

    You should make a course that goes in depth with Angular animations.

  • @user-rg7ij6yo8t
    @user-rg7ij6yo8t 9 месяцев назад

    Great explanation as always! This features are very useful to make codebase more readable and cleaner

  • @siddharthtiwari5314
    @siddharthtiwari5314 9 месяцев назад

    I was testing the nested routes and router outlets. To my surprise now we need to import RouterLink on each component we need to use routerLink. I feel like these are the basic things that angular should have made available globally without needing to import in every single component where it is being used. Or even of not global then atleast the parent imports should have been made available to child components. Current approach has increased the no. Of imports and also increased hectic to add one more dependency

  •  10 месяцев назад

    Great introduction to Angular 17, thanks for that!

  • @JeffreyArt1
    @JeffreyArt1 10 месяцев назад

    The new control flow syntax is soooo much better

  • @karthikeyansundaramoorthi247
    @karthikeyansundaramoorthi247 9 месяцев назад

    Good video with detailed content. Angular becoming awesomerrr...

  • @michaellonsdale1248
    @michaellonsdale1248 8 месяцев назад

    Awesome video.
    Thank you.

  • @svenson95
    @svenson95 10 месяцев назад +3

    10:18 how does that $index work if we have a @for loop inside an @for loop? that would be interesting to know, i would assume $index would be the upper loop index

    • @juangoria3517
      @juangoria3517 10 месяцев назад

      Let's hope so! haha

    • @DecodedFrontend
      @DecodedFrontend  10 месяцев назад

      In this case, to avoid the collision, you can rename the context variable from the upper loop likewise it was shown at 09:57. So will have something like ‘let upperIndex = $index’

  • @CreativeDev-cz7qg
    @CreativeDev-cz7qg 8 месяцев назад

    Very well explained !!!
    Thank you 👍

  • @timsoftsolutions
    @timsoftsolutions 29 дней назад

    I am curious about your opinion of this new control flow syntax considering that, ideally, we want control flow logic inside the the controller, component file, and not in the view, html file. I understand the benefits in performance but I was curious about your opinion on that.

  • @tntg5
    @tntg5 9 месяцев назад

    I'm still waiting for a day angular team ships a version that ssr out of the box

  • @svitlana_tanasiichuk
    @svitlana_tanasiichuk 9 месяцев назад

    Thank you for such a detailed video, very usefull

  • @George_331
    @George_331 9 месяцев назад

    The new syntax seems easier, the only thing I do not like about angular template, unlike tsx, when they bring something new it’s always pain in the ass to figure out how to write stuff new way correctly. Good example trackBy vs track. They lack of variety of use cases in the documentation.

  • @anastasia3919
    @anastasia3919 10 месяцев назад +1

    Thank you for video!!

  • @serhiirudenko5387
    @serhiirudenko5387 9 месяцев назад +1

    this is awesome 🔥

  • @yanaiedri
    @yanaiedri 9 месяцев назад

    Finally angular do something good!!!

  • @user-pm8lf9qm9q
    @user-pm8lf9qm9q 10 месяцев назад +1

    Thanks for the video! If we can create our own control flows like this, could you please make a video about that? It would be awesome!

    • @DecodedFrontend
      @DecodedFrontend  10 месяцев назад +1

      Currently, you can not create custom blocks but the Angular team does research on this direction. If it becomes possible, I will definitely show how to do it 😊

  • @monirzaman5366
    @monirzaman5366 10 месяцев назад +1

    Nice explanation. Thanks

  • @josephsackeykontor4138
    @josephsackeykontor4138 10 месяцев назад +1

    I love this

  • @shanilkv
    @shanilkv 9 месяцев назад

    thank you :)🤩

  • @shneornagar6147
    @shneornagar6147 9 месяцев назад

    Great job!
    thank you
    keep it up 👌

  • @rfryanfavour4369
    @rfryanfavour4369 8 месяцев назад

    New Angular Is Incredible 🌟🌟 , coming from a React User 🔥 🔥

  • @antergonza6476
    @antergonza6476 10 месяцев назад

    Well done! As always

  • @sebawinsten7028
    @sebawinsten7028 9 месяцев назад

    Yes liked more 🎉🎉🎉🎉

  • @AmarSingh-uw1db
    @AmarSingh-uw1db 10 месяцев назад

    Gratitude Sirji❤

  • @nouchance
    @nouchance 10 месяцев назад

    Welcome back SIR🎉

  • @jonatabiondiJsLover
    @jonatabiondiJsLover 10 месяцев назад

    Thanks. Angular will recover lost market share

  • @thorstenschmidt21
    @thorstenschmidt21 5 месяцев назад

    Do you have any benchmarks for the new syntax? How much faster does it render compared to the old approach? Thanks in advance

  • @volodymyrleskiv5006
    @volodymyrleskiv5006 10 месяцев назад +1

    ty, man!

  • @ivandynysiuk4341
    @ivandynysiuk4341 7 месяцев назад

    Thanks a lot!

  • @rugeneus
    @rugeneus 9 месяцев назад

    Да, классная штука. Очень удобно.

  • @baxromxoja16
    @baxromxoja16 9 месяцев назад

    Amazing))

  • @giacomo.tabarelli
    @giacomo.tabarelli 10 месяцев назад +1

    Could you show @defer and when to use it?

  • @tarasshevchuk8477
    @tarasshevchuk8477 9 месяцев назад

    Thanks !!!

  • @DevAngular
    @DevAngular 9 месяцев назад

    Why do you put "#" in front of certain variables? Can you explain more about this convention? thanks :)

  • @user-uo8jd7ys2x
    @user-uo8jd7ys2x 9 месяцев назад +1

    How can I make the logic in my VSCode, starting with @if and similar constructs, highlight in a different color, rather than being plain white? Please advise.

    • @DecodedFrontend
      @DecodedFrontend  9 месяцев назад

      You have to install the vs code extension called Angular Language Service - marketplace.visualstudio.com/items?itemName=Angular.ng-template
      And make sure that you install version 17 or above

  • @drax432
    @drax432 3 месяца назад +1

    I have a question. Is it possible to create our own control flow? Just like we can create our own custom structural directive, can we create our own control flow and using the new syntax e.g @repeat

    • @DecodedFrontend
      @DecodedFrontend  3 месяца назад

      Thanks for your question. Unfortunately, it is not possible to do currently:(

  • @happen_9616
    @happen_9616 10 месяцев назад

    I'm just giving a shot. I am currently looking for a new Angular project, maybe someone has open positions at your company or knows where they are available, please let me know.

  • @whyTh0
    @whyTh0 9 месяцев назад

    Guys, I need help! I am using Angular 8 in my job, but I want to learn Angular 17. It looks like many things have changed since version 8. Should I start over by buying an Angular 17 course (when it's available on Udemy or somewhere else), or should I try to find out what has changed and learn them one by one?

  • @KimberlyWilliamsch
    @KimberlyWilliamsch 10 месяцев назад

    Is learning Angular a good choice for my first tech, or is it still challenging, and should I consider learning React instead?

  • @jurybalikov7063
    @jurybalikov7063 9 месяцев назад +1

    I work with Angular for about 5 months, company's project is on v15. Can anyone shortly explain to me why people prefer standalone components nowadays and why I see more and more people write html in the component decorator? What about separation of concerns?

    • @DecodedFrontend
      @DecodedFrontend  9 месяцев назад +1

      Hi! Thanks for your question.
      Standalone components reduce the unnecessary overhead of NgModules and simplify the mental model of the framework. Standalone components become defacto standard in the framework and I am quite sure that soon become default. Also, some features like host directives can work only if they are standalone.
      Regarding HTML in the decorator. If the component is small enough, I prefer to have everything in one file because you can immediately understand what the component is doing without jumping between files. This is also good for viewers because they don't need to switch contexts.
      Regarding the separation of concerns. Different opinions exist. For me, it is more like a separation of technology rather than a separation of concerns. Especially tricky it is with components because usually component model (class) and view (html) are parts of one unit and can’t be separated from each other. For example, a button click event listener (in view) and a corresponding handler in the class are serving the same concern though they belong to different “layers”. So that's why I don't see any controversy in having both in the same file.

  • @limerickgangster
    @limerickgangster 8 месяцев назад

    Is using switch in template good idea ? How to test it ?

  • @hnazmul
    @hnazmul 9 месяцев назад

    Hello sir,
    I see that you are editing template on .ts file. and syntax highlighting is working perfect... But in html why anguler syntax highlighting doesnt work. please any sugestion ?

  • @FathiAlamre
    @FathiAlamre 10 месяцев назад

    Is it possible to build something similar to Laravel Nova and Filament PHP using Angular? do you have any idea?

  • @farshadbayat64
    @farshadbayat64 10 месяцев назад

    Thanks ;)

  • @ghostinplainsight4803
    @ghostinplainsight4803 9 месяцев назад +1

    The control flow was the worst part of Angular bloating the html to the point it was unreadable, this is an amazing update! Now I can use RXJS with nicer, slimmer and clearer templating.

  • @caiuscript
    @caiuscript 10 месяцев назад

    Do you recommend any Angular Course for Beginners? Thanks!

  • @ejets26
    @ejets26 9 месяцев назад

    Where did you get that shirt?!

  • @CodeWithJamil786
    @CodeWithJamil786 9 месяцев назад

    Hi Sir Ji,
    I have observed that in angular 17 missing environment.ts file environment.prod.ts file. Now how we can set the common url or serverUrl.

  • @artempushnev1855
    @artempushnev1855 9 месяцев назад

    Next feature please 😅

  • @hamm8934
    @hamm8934 10 месяцев назад

    At this point why not just embrace jsx? Genuinely curious

  • @christopherhelmbold2328
    @christopherhelmbold2328 6 месяцев назад +1

    does this work in html files too ? so instead of templateRef can i use it in templateUrl

    • @DecodedFrontend
      @DecodedFrontend  6 месяцев назад

      Hi! Yes, sure it works also in files loaded via templateUrl

  • @tornikeen
    @tornikeen 10 месяцев назад

    Firstly like, then watch ❤

  • @btx47
    @btx47 9 месяцев назад

    Will ng 17 libraries with the new syntax be backwards compatible?

  • @sebastianyomha7961
    @sebastianyomha7961 10 месяцев назад

    With the @empty how would you differentiate when the api didn’t finish loading from the really empty array? You would have to add a loading variable indicator or there’s another built in block like @loading?

    • @oleksandrvorovchenko8674
      @oleksandrvorovchenko8674 9 месяцев назад

      The loading stuff is done by @if @else statements, which wrap the @for loop

  • @genyklemberg
    @genyklemberg 10 месяцев назад

    Is there any issue we can see with approach and if need to chabge out eslint rules for this to work to be changed with prettier write?

  • @hodapro3394
    @hodapro3394 8 месяцев назад

    if i dont need ngif in imports that means also I don't need the commonModule imports ?

  • @user-qh3ok9dn1p
    @user-qh3ok9dn1p 10 месяцев назад

    Hey, whats new course about?

  • @deadlyecho
    @deadlyecho 10 месяцев назад

    Does this new flow use ng if underneath ? I am asking beacuse of change detection, will it still use the viewContainerRef as ngIF ?

  • @reginaldbellas703
    @reginaldbellas703 8 месяцев назад

    Good overview but it's not point if you make is used the $any to get around types

  • @volodyahuk4286
    @volodyahuk4286 10 месяцев назад +2

    Why you've used hashtags for vars naming?

    • @DecodedFrontend
      @DecodedFrontend  10 месяцев назад +3

      This # is a native implementation of 'private' access modifier. Basically this `private data = {...}` is similar to `#data = {...}`

    • @jakubdrewniak2668
      @jakubdrewniak2668 10 месяцев назад +3

      it is true 'private' property in JS. you cannot access this property in runtime and this is the main difference between # prefix and Typescript 'private' - you can access 'private' property in runtime because it's not private anymore after transpilation to JS

    • @DecodedFrontend
      @DecodedFrontend  10 месяцев назад +1

      👆Exactly! Thank you Jakub for the extended explanation. Well done :)

    • @ytamb01
      @ytamb01 10 месяцев назад

      I wonder why the typescript transpiler doesn't convert private declaration to # ?@@jakubdrewniak2668

  • @arturkalbukov6856
    @arturkalbukov6856 10 месяцев назад

    how to use new control flow with async pipe?

  • @artem.gaponenko
    @artem.gaponenko 10 месяцев назад

    Thanks for video, as always useful. Love it. 🇺🇦

  • @jjmato
    @jjmato 9 месяцев назад

    5 years workng with angular, 3 years with jsx and i cant go back. New Syntax looks bad to me

  • @viktorm2937
    @viktorm2937 10 месяцев назад +1

    вэри найс штук

  • @syimykamatov8955
    @syimykamatov8955 10 месяцев назад +2

    First

  • @alexeykazakevich338
    @alexeykazakevich338 10 месяцев назад

    Это что Blazor? Нет это ангуляр 17

  • @amitkumdixit
    @amitkumdixit 9 месяцев назад +1

    SSR experience is poor

  • @TungPham-hn1lr
    @TungPham-hn1lr 10 месяцев назад +2

    Tbh I do not like this. 😢😢😢

  • @tolgask2812
    @tolgask2812 7 месяцев назад +1

    syntax is not intuitive