My opinion on Angular 18 & React 19

Show notes

I also created a standalone video with an overview of all key Angular 18 features & changes: https://youtu.be/JTLDuL0BtUE And I updated my Angular course (with more to come!) - if you're not on board yet, now's the best time to join (at a discount!): https://acad.link/angular

My React course was also fully updated over the last year and months: https://acad.link/reactjs

All Podcast episodes: https://maximilian-schwarzmueller.com/podcast

Want to become a web developer or expand your web development knowledge? I have multiple bestselling online courses on React, Angular, NodeJS, Docker & much more! 👉 https://academind.com/courses

Show transcript

00:00:00: So Angular 18 was released and for React

00:00:05: the version 19 release candidate was

00:00:09: announced at ReactConf and it's

00:00:12: definitely interesting to have these big

00:00:15: new major releases for two of the

00:00:19: biggest web development frameworks

00:00:21: front-end web development frameworks

00:00:24: one should probably say side by side so

00:00:28: close to each other because that of

00:00:30: course has not always been the case.

00:00:33: Angular essentially releases a new major

00:00:36: version every six months and React has

00:00:40: no fixed schedule.

00:00:41: Indeed React 18 which was the last

00:00:45: major version before React 19 was

00:00:49: released in 2022 so over two years ago

00:00:53: now but now we have these two big

00:00:55: new versions even though React 19 isn't

00:00:58: stable yet but soon and the question is

00:01:02: what does this mean for us and the

00:01:05: answers can already be found in many

00:01:07: articles and videos the short summary is

00:01:10: that both versions don't change

00:01:14: everything don't force you to rewrite

00:01:17: your code or anything like that even

00:01:19: though you could think that they do if

00:01:21: you read some comments but hey it's

00:01:24: the internet so of course it is like that but

00:01:27: in the end if we maybe start with

00:01:29: Angular 18 I have to be careful to not mix

00:01:34: up these version numbers Angular 18

00:01:36: brings some much needed stability I

00:01:40: would say whilst still continuing its

00:01:44: innovation path if you want to call it like

00:01:47: this Angular 18 now marks the new

00:01:51: control flow syntax as stable the

00:01:53: deferrable views as stable but at the

00:01:56: same time new signals related APIs were

00:02:00: added though technically those were

00:02:02: already added with Angular 17 minor

00:02:05: versions of Angular 17 I guess but there

00:02:09: aren't these big groundbreaking

00:02:11: changes now with Angular 18 instead

00:02:14: they're just taking more small steps into

00:02:17: the right direction whilst and that's also

00:02:20: important of course also supporting the

00:02:24: old Angular you don't have to use signals

00:02:27: you don't have to use these new features

00:02:29: if you don't want to that's super

00:02:31: important obviously also to them

00:02:34: because the Angular framework

00:02:37: landscape also is a bit fragmented not all

00:02:41: projects use the latest version indeed

00:02:43: there are projects that still use rather old

00:02:46: versions so that's that but Angular 18

00:02:50: therefore is another new major version

00:02:52: which adds some new features but

00:02:54: which brings some much needed

00:02:55: stability at least in my opinion which is

00:02:58: also why I took it as an opportunity to

00:03:01: release a big course update with more to

00:03:04: come now react 19 is kind of similar and

00:03:09: then it's not I guess it's complicated

00:03:12: because react 19 in most projects

00:03:16: doesn't add too much new stuff not too

00:03:21: many new features there isn't

00:03:23: something groundbreaking new like

00:03:25: react hooks instead there are small

00:03:27: quality of life improvements I'd say like

00:03:30: the fact that you can provide context

00:03:33: with the context object itself now

00:03:36: instead of that nested provider or

00:03:38: component or the fact that you can

00:03:41: finally use refs on your own components

00:03:44: without using forward ref you can

00:03:46: simply accept them as regular props

00:03:49: and use them as such that's great that's

00:03:52: actually a big useful change but it's not

00:03:54: a big change regarding the code you

00:03:57: write it's just making your code a bit

00:03:59: easier and using forward ref and that old

00:04:02: approach also still works so nothing too

00:04:06: fancy there a bit more interesting

00:04:08: maybe form actions a new way of

00:04:11: handling form submissions that's now

00:04:13: offered by react basically now it has a

00:04:17: built-in way of handling form

00:04:18: submissions that's interesting and

00:04:21: definitely something to to take a look at

00:04:24: once it's out but also nothing you have

00:04:27: to use the the most interesting parts I

00:04:30: guess are react server components

00:04:32: server actions and the new use hook

00:04:35: and the funny thing regarding these

00:04:38: features is that in most react projects I

00:04:42: guess you can't use them you can't use

00:04:45: them in vit based projects at least react

00:04:47: server components and server actions

00:04:50: can't be used there unless you make

00:04:53: sure that you edit and adjust your

00:04:56: project such that these features are

00:04:58: supported which is not necessarily trivial

00:05:01: because these are features which as

00:05:05: their name kind of implies server

00:05:07: components server actions which

00:05:09: require a server or which at least don't

00:05:12: run on the client side they need to run

00:05:14: somewhere else on a server or at build

00:05:16: time and therefore you need a project

00:05:19: setup that provides such an

00:05:21: environment also in production and that

00:05:24: splits the code appropriately so that

00:05:26: server side code doesn't end up in the

00:05:29: client side bundle and vice versa but

00:05:32: most of all it's important that the server

00:05:34: code doesn't go to the client side and

00:05:37: therefore these features are part of react

00:05:39: 19 they're stable though they'll still keep

00:05:43: on working on it but they are there now

00:05:45: but you can't just use them instead you

00:05:47: need projects that support these

00:05:50: features and at the moment that mostly

00:05:54: still means next.js it won't stay that way

00:05:59: and of course you could set up your own

00:06:01: projects there are other projects out

00:06:04: there as well other frameworks remix

00:06:06: will eventually support react server

00:06:09: components though it's not really called

00:06:12: remix anymore but I'll create a separate

00:06:14: video on that but at the moment it

00:06:16: mostly is next.js at least that's the

00:06:19: biggest framework that supports these

00:06:22: features and that has supported them

00:06:24: already over the last year because next.js

00:06:27: used that experimental react version

00:06:30: under the hood now it can use the react

00:06:33: 19 version since now these features are

00:06:35: built in there so that's nice but it doesn't

00:06:37: change too much for you as a developer

00:06:39: and the use hook is also kind of tricky

00:06:42: because you can use it to read context

00:06:45: that's great but you can also use it on

00:06:47: promises but not on promises created

00:06:50: by you in your component but instead

00:06:52: on promises that are either created in a

00:06:56: server component and passed to the

00:06:58: client component or on promises that

00:07:00: come from libraries that integrate with

00:07:03: react suspense so I guess you get my

00:07:05: point it's non-trivial now that's not

00:07:09: necessarily bad I'd say because the the

00:07:13: upside of course is that react does give

00:07:16: us a lot of features which we can use

00:07:18: implicitly I guess through libraries and

00:07:21: through frameworks that make building

00:07:24: more complex projects and full stack

00:07:27: applications easier because the idea

00:07:30: behind react server components and

00:07:32: server actions is pretty intriguing at least

00:07:35: to me and working with next.js besides

00:07:38: all the things that are not great about it

00:07:41: I'd say is indeed pretty nice building full

00:07:45: stack apps with react and next.js is

00:07:48: definitely something I want to do and

00:07:51: therefore both releases react 19 and

00:07:54: angular 18 are in my opinion huge steps

00:07:58: in the right direction and they do offer

00:08:02: new feature or in angular's case offer

00:08:05: smaller new features and stabilize

00:08:07: important new features but they do that

00:08:11: without changing the way you write

00:08:13: your code and in react's case it offers

00:08:16: new features which you might not be

00:08:18: able to use but if you are able to use

00:08:20: them then they can be really useful and

00:08:23: therefore it's definitely an interesting

00:08:25: development quite different from what

00:08:29: was the standard a couple of years ago

00:08:31: I'd say.

00:08:32: I remember when react hooks were

00:08:35: introduced with 16.8 I think that really

00:08:40: changed the way we write react code

00:08:43: and you could use it in every react

00:08:45: project and that's now not like this in the

00:08:49: react world.

00:08:50: In the angular world on the other hand

00:08:52: we're taking a short break now before

00:08:55: we'll probably see more new features

00:08:58: but we already got a lot of new features

00:09:01: over the last couple of months and years

00:09:03: there so that angular today is quite

00:09:06: different from what it was two years ago

00:09:09: and therefore definitely interesting

00:09:11: times to live in two big frameworks with

00:09:15: two pretty interesting releases that do

00:09:19: offer interesting new features that can

00:09:22: definitely become very useful in future

00:09:24: projects but obviously that's just my take

00:09:28: on it and I also don't know what will

00:09:30: happen in the future so what do you

00:09:32: think?

00:09:33: What do you think about react 19,

00:09:35: angular 18?

00:09:36: You might not care at all, definitely let

00:09:38: me know, but definitely even more so let

00:09:41: me know if you do care and let me know

00:09:43: what you think about these releases.

New comment

Your name or nickname, will be shown publicly
At least 10 characters long
By submitting your comment you agree that the content of the field "Name or nickname" will be stored and shown publicly next to your comment. Using your real name is optional.