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