Angular 17 - New Build-In Control Flow Overview 🚀

Поделиться
HTML-код

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

  • @DecodedFrontend
    @DecodedFrontend  8 месяцев назад +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 8 месяцев назад +10

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

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

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

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

      @@DecodedFrontend Me too.

    • @1USER1ify
      @1USER1ify 8 месяцев назад +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 8 месяцев назад +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 8 месяцев назад +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 ! 🎊🎊🎊

  • @sameerdas3672
    @sameerdas3672 8 месяцев назад +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.

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

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

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

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

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

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

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

    Great introduction to Angular 17, thanks for that!

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

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

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

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

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

    Well done! As always

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

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

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

    Very well explained !!!
    Thank you 👍

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

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

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

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

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

    Awesome video.
    Thank you.

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

    Thank you for such a detailed video, very usefull

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

    Great job!
    thank you
    keep it up 👌

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

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

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

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

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

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

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

    this is awesome 🔥

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

    Great video, thanks!

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

    thank you :)🤩

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

    Nice explanation. Thanks

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

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

  • @gund_ua
    @gund_ua 8 месяцев назад +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?

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

    Thanks a lot!

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

    Gratitude Sirji❤

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

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

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

    Welcome back SIR🎉

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

    Thank you for video!!

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

    Where'd you get the tshirt? 🤔

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

      Need to know too!

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

    Amazing))

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

    Fantastic. Now we're talking

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

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

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

    Thanks !!!

  • @radvilardian740
    @radvilardian740 8 месяцев назад +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  8 месяцев назад +2

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

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

    ty, man!

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

    Really like new control flow

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

    I love this

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

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

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

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

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

    Yes liked more 🎉🎉🎉🎉

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

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

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

      Definitely! It is in my short list ;)

  • @oleksandrvorovchenko8674
    @oleksandrvorovchenko8674 8 месяцев назад +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  8 месяцев назад +4

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

    • @oleksandrvorovchenko8674
      @oleksandrvorovchenko8674 8 месяцев назад +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  8 месяцев назад +1

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

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

    Thanks ;)

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

    @defer is mind blowingly cool

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Firstly like, then watch ❤

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

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

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

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

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

    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

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

    The new control flow syntax is soooo much better

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

    Thanks. Angular will recover lost market share

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

    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.

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

    Finally angular do something good!!!

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

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

  • @user-pm8lf9qm9q
    @user-pm8lf9qm9q 8 месяцев назад +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  8 месяцев назад +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 😊

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

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

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

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

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

    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?

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

    Do you recommend any Angular Course for Beginners? Thanks!

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

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

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

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

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

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

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

    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?

  • @svenson95
    @svenson95 8 месяцев назад +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 8 месяцев назад

      Let's hope so! haha

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

      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’

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

    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 ?

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

    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 8 месяцев назад

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

  • @user-uo8jd7ys2x
    @user-uo8jd7ys2x 8 месяцев назад +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  8 месяцев назад

      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

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

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

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

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

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

    how to use new control flow with async pipe?

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

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

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

    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.

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

    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.

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

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

  • @drax432
    @drax432 Месяц назад +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  Месяц назад

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

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

    Where did you get that shirt?!

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

    Could you show @defer and when to use it?

  • @jurybalikov7063
    @jurybalikov7063 8 месяцев назад +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  8 месяцев назад +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.

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

    Hey, whats new course about?

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

    Next feature please 😅

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

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

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

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

  • @ghostinplainsight4803
    @ghostinplainsight4803 7 месяцев назад +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.

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

    At this point why not just embrace jsx? Genuinely curious

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

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

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

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

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

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

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

    Why you've used hashtags for vars naming?

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

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

    • @jakubdrewniak2668
      @jakubdrewniak2668 8 месяцев назад +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  8 месяцев назад +1

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

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

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

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

    First

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

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

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

    SSR experience is poor

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

    syntax is not intuitive

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

    Tbh I do not like this. 😢😢😢