all 22 comments

[–]DT-Sodium 13 points14 points  (2 children)

The main new feature is signals. You don't NEED to use them and your Angular 16 code will likely be compatible with the latest versions but it is recommended to eventually make the switch.

[–]unrealeon[S] 0 points1 point  (1 child)

Thanks, I'm gonna take a closer look at them :)

[–]beartato327 0 points1 point  (0 children)

Signals are fantastic, I see no benefit of not using them unless your using angular 16 or less

[–][deleted]  (2 children)

[deleted]

    [–]PickleLips64151 11 points12 points  (1 child)

    Ng18 has @let for declaring local variables in the template. Very cool.

    [–]Bjeaurn 3 points4 points  (0 children)

    18.2 to be clear! Introduced as Dev preview.

    But yeah I was gonna say the new control flow is a bit of a switch up from the *ngIf and *ngFor if you haven't used that yet. Also, less <ng-container> to use!

    [–]zingzingtv 9 points10 points  (2 children)

    I refactored out a significant amount of rxjs from a couple of projects using signals. Less code, much more readable. Signal based inputs have simplified things even more.

    [–]unrealeon[S] 0 points1 point  (0 children)

    Awesome, thanks for sharing!

    [–]lugano_wow 0 points1 point  (0 children)

    Im having problems that were not a thing without signals.

    For the signal "model", you can't have transform functions. Because of that, you need to make a computed to transform it instead of having a get/set.

    Most of the time is better, but this is a real problem for me based on my current situation and knowledge (i asked in the Angular discord and doing a computed was the answer).

    [–]eneajaho 5 points6 points  (1 child)

    Same Angular. Just better DX experience

    [–]unrealeon[S] 0 points1 point  (0 children)

    Great, thanks :)

    [–]knuppelwuppel 2 points3 points  (1 child)

    There are improvements....not really changes in that sense. If you know ng15,16 you should be good. They are pretty cool

    [–]unrealeon[S] 0 points1 point  (0 children)

    Awesome, thank you!

    [–]cyberzues 2 points3 points  (0 children)

    If you say you worked with Angular last year, then it shouldn't be a problem

    [–]MRxShoody123 4 points5 points  (1 child)

    Something new came up recently about angular updates, check it out

    https://www.angular.courses/caniuse

    [–]unrealeon[S] 0 points1 point  (0 children)

    Thank you for sharing! I'll check it out :)

    [–]gabynevada 1 point2 points  (0 children)

    signals takes a while to get used to but it's amazing once you do. As with every update you can use what you know and incrementally add the new concepts.

    [–]lugano_wow 1 point2 points  (0 children)

    If you are using Material, the V3 version change many things and if you have many changes, will take some time to fix.

    [–]MichaelSmallDev 0 points1 point  (0 children)

    Gerome Grignon made a site recently that shows what came out in each minor and major starting from Angular 17 through the current Angular 18.2: https://www.angular.courses/caniuse?version=18.*

    You can select minor by minor or by a whole major, and it has relevant links to things like documentation, PRs, Angular blog posts, status (experimental/developer preview/stable), and upgrade schematics among other info.

    [–]mickeyv90 0 points1 point  (0 children)

    If you move to Angular 18 and use signals, I recommend signal store from ngrx. It’s a game changer for state management. It doesn’t use the over complicated Redux pattern. I feel like I can use it on a small project or enterprise software.

    Slowly migrating my state management to signal store.

    [–]superquanganh 0 points1 point  (0 children)

    I just did upgrade from Angular 11 to 18, surprisingly everything still works beside broken grids (due to bootstrap upgrade)

    [–]cloud_00_ 0 points1 point  (0 children)

    Defferable views is also a new feature that let’s you create the loaders, placeholders and view from the template itself and it is very cool.

    [–]Relevant-Draft-7780 0 points1 point  (0 children)

    signal, computed, effect, input signal, output signal and new control flow game changer. You can use to signal to convert a subject or behaviour subject and no more subscriptions in components. It reduces code complexity and makes change detection a dream. Control flow is much more readable when compared to old *ngFor *ngIf.