React vs Angular vs Vue - Which Framework Should You Pick?

Show notes

Max' Website

Max on X

JavaScript Framework Benchmark

I also created separate videos on the current states of React and Angular:

I also have a Podcast with Academind: https://academind.com/podcast

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

Share feedback: feedback@maximilian-schwarzmueller.com

Show transcript

00:00:00: - As a professional web developer,

00:00:03: I do work a lot with React,

00:00:07: Angular, Vue, and similar libraries and frameworks,

00:00:11: especially since I do a lot of front-end web development.

00:00:15: And of course, I also got some bestselling courses

00:00:20: on those libraries and frameworks.

00:00:22: And therefore, it's only natural that I often get asked

00:00:26: what my personal favorite is and which library

00:00:30: or framework I would recommend to learn or to focus on,

00:00:35: for example, now that a new year started.

00:00:38: And therefore, over the next minutes,

00:00:41: I wanna give you an idea of what my favorite is

00:00:45: and why that's the case, and I'll explain

00:00:49: why it of course depends, as it always does,

00:00:53: which framework or library you should focus on,

00:00:57: but I'll also explain what it depends on.

00:01:01: And therefore, I'll explore the different philosophies

00:01:05: behind those different frameworks.

00:01:08: I'll explain who owns and runs those frameworks

00:01:12: and libraries and what that means for you

00:01:15: and why that should influence your choice,

00:01:19: which library or framework you are going to use.

00:01:22: And I'll also take a look at the popularity,

00:01:25: the numbers, how often those libraries get used.

00:01:28: I'll of course also give you an insight

00:01:32: into how performant those frameworks

00:01:35: and libraries are and if that matters.

00:01:38: And I'll of course also explore how easy or difficult

00:01:42: those different libraries are to learn and to master

00:01:45: and to become better at before I then, as promised,

00:01:49: also let you know what my personal favorite is.

00:01:53: Now, let's start with the different philosophies

00:01:57: because that's really important.

00:01:59: We got all these different libraries and frameworks,

00:02:04: but they don't all have exactly the same philosophy,

00:02:08: the same way of working, and the same approach

00:02:12: towards the idea of giving you a tool that you can use

00:02:17: to build web applications or front-end web applications.

00:02:21: For example, React, which arguably

00:02:25: is the most popular library, and I'll get back to that,

00:02:29: React has the approach of being a library

00:02:33: that's focused on managing the UI,

00:02:37: updating the UI based on your code.

00:02:41: And that sounds pretty trivial, and it sounds

00:02:44: like what such a front-end library should do,

00:02:48: and that's probably why React does it,

00:02:50: but as you will see, for example,

00:02:52: Angular does way more and has more built-in features

00:02:56: that can come in handy.

00:02:59: React, on the other hand,

00:03:00: in its core, is really just about giving you the tools

00:03:05: you need to derive state, derive changing states

00:03:10: and update the UI accordingly so that you can,

00:03:14: for example, listen to a click on a button,

00:03:17: then change some internal data and then reflect

00:03:22: that changed data on the screen.

00:03:24: Now it turns out though, that in reality,

00:03:28: most front-end web applications you are building

00:03:33: need a bit more than that.

00:03:34: For example, they might need routing.

00:03:37: So the capability of managing different URL paths

00:03:43: and displaying different pages for different paths.

00:03:47: Now, when I say pages,

00:03:49: I, of course, here in the context

00:03:51: of those front-end JavaScript libraries,

00:03:55: mean that we're technically still on the same page.

00:03:58: We're still on the same HTML file

00:04:02: that was originally downloaded from the server,

00:04:05: but the front-end JavaScript changes what's visible

00:04:10: in that file, so to say.

00:04:11: So what's visible on the page.

00:04:13: That's how single-page applications work.

00:04:16: And even though they're called single-page applications,

00:04:19: because we have just this one single HTML file,

00:04:22: which is downloaded initially,

00:04:24: those applications still typically, very often,

00:04:28: need to display different screens,

00:04:32: different pages if you wanna call it like this,

00:04:35: so that we can, for example,

00:04:37: view a login screen, and once we are logged in,

00:04:41: we might wanna move on to a dashboard screen.

00:04:43: And it would all be handled by the same JavaScript code

00:04:47: that's powered by React, for example.

00:04:50: Now, React, however,

00:04:51: doesn't have any built-in mechanism that would watch the URL

00:04:57: and would navigate you from /login to /dashboard

00:05:02: and display something else on the screen.

00:05:04: You would have to build such a functionality on your own,

00:05:07: or what you would typically do, you would reach out

00:05:11: for a third-party library.

00:05:13: For example, for React Router,

00:05:16: which is a super popular routing library for React.

00:05:20: But that's the philosophy of React.

00:05:23: You have just the basics built-in,

00:05:26: and you then need extra third-party libraries,

00:05:30: which are not maintained by the React team

00:05:33: but instead, by the React community

00:05:35: to solve certain specific problems.

00:05:38: And routing is a pretty common problem,

00:05:42: and it has a very well-maintained library

00:05:45: that solves that problem,

00:05:47: but of course, there are multiple problems

00:05:49: you might wanna solve.

00:05:50: Advanced animations, form handling,

00:05:54: advanced state management,

00:05:56: and a broad variety of other things.

00:05:58: And for all these different problems, when using React,

00:06:02: you need an extra third-party library.

00:06:05: And that, for example, is different

00:06:07: when you are working with Angular.

00:06:10: Angular, unlike React, is not just a library,

00:06:14: which focuses on the bare minimum, but instead,

00:06:18: Angular actually is a framework that comes

00:06:22: with batteries included, you could say.

00:06:25: So it comes with many crucial features,

00:06:28: many crucial solutions to common problems built-in.

00:06:33: For example, Angular has a built-in routing package,

00:06:36: which is developed and maintained by the Angular team.

00:06:40: So the same team that's maintaining and developing

00:06:44: the Angular core framework itself,

00:06:47: the core library, if you wanna call it like this.

00:06:49: And there are many other packages that are developed

00:06:52: and maintained by the Angular team.

00:06:54: For example, you have a package for animations,

00:06:57: for handling forms and validating forms, and so on.

00:07:01: And that's simply a different approach,

00:07:04: a different philosophy.

00:07:07: Now Vue, for example, is a bit between those two,

00:07:11: you could say.

00:07:12: In its core, Vue is like React

00:07:15: and focuses on just updating the UI.

00:07:19: But Vue then has a team of core maintainers

00:07:24: where some of those team members are then also responsible

00:07:29: for some important third-party packages,

00:07:33: which are only kind of third party, I would guess,

00:07:38: because they are, in the end,

00:07:40: developed by those Vue core members

00:07:42: and maintained by those members.

00:07:46: And therefore, Vue does not just have that core framework,

00:07:49: but it also has some crucial extra packages

00:07:53: like a routing package that are maintained

00:07:56: by some of the same people

00:07:58: that are working on the core framework.

00:08:01: Now, for other libraries like Svelte or SolidJS,

00:08:05: things are kind of similar, you could say.

00:08:09: There, it's also some core members,

00:08:12: some core members of the Svelte or SolidJS teams,

00:08:17: if you wanna call it like this, that are also working

00:08:20: on crucial third-party libraries or extra frameworks

00:08:24: that are building up on Svelte and SolidJS

00:08:28: to offer features like routing.

00:08:30: And that's actually an important topic.

00:08:35: Frameworks building up on those base libraries

00:08:40: and frameworks, which might sound weird at first.

00:08:43: Why would we have a framework

00:08:45: that builds up on React, for example?

00:08:49: React itself is already a library,

00:08:51: so why do we have some extra framework that builds up on it?

00:08:56: Well, we do have such frameworks,

00:08:58: for example, Next.js but also Remix,

00:09:02: because remember, React itself

00:09:05: is just that basic thing that handles UI updates.

00:09:11: Now, recently, over the last one

00:09:14: and two years, we've seen a huge trend

00:09:18: where we seem to be moving away

00:09:21: from building decoupled front-end applications,

00:09:25: single-page applications with React or Angular

00:09:29: and so on, and extra back-ends,

00:09:32: extra REST APIs, for example.

00:09:34: We seem to be moving away from that way

00:09:38: of building web applications

00:09:40: back to building full-stack applications.

00:09:43: So where you have one project where front-end

00:09:47: and back-end work together seamlessly and blend

00:09:50: into each other, where the server side pre-renders

00:09:54: the front-end pages on the fly on the server, for example,

00:09:59: where the data for those pages is fetched directly

00:10:03: on the server and rendered into those pages

00:10:06: on the server, and so on.

00:10:08: We're seeing a trend where we're moving more

00:10:10: towards that world again, which I guess

00:10:13: is the world we're all coming from,

00:10:16: back from our early PHP days and so on.

00:10:20: But that's a topic for a different video and talk.

00:10:24: Anyways, we have that trend,

00:10:26: and we have, therefore, frameworks like Next.js

00:10:30: or Remix for React, which simplify the process

00:10:34: of building such full-stack applications.

00:10:37: So which allow you to build full-stack applications

00:10:40: with React by essentially wrapping React, that core library,

00:10:45: and by then giving you extra features that allow you

00:10:49: to set up routes that are handled on the server,

00:10:52: extra features that help you with data fetching

00:10:55: on the server, and so on.

00:10:58: And Next.js and Remix are some really big,

00:11:02: popular JavaScript frameworks.

00:11:05: They are both for React, and they're both key drivers

00:11:09: of that trend, you could say.

00:11:11: And I'm emphasizing this here

00:11:13: because this also is an important consideration to make

00:11:18: when choosing a library or framework.

00:11:21: If you wanna build such a full-stack application,

00:11:23: if you wanna follow that trend, which has its merits,

00:11:27: you might wanna pick a library

00:11:29: that has some decent meta frameworks,

00:11:33: as they're also sometimes called,

00:11:35: that allow you to build such full-stack applications

00:11:38: in a simple and easy way.

00:11:40: And for example, Angular here only has Analog.js.

00:11:45: And I'm saying only because Analog.js is an amazing project,

00:11:52: but it's also less mature,

00:11:55: less feature-rich than Next.js, for example,

00:11:59: which makes sense because Analog.js

00:12:02: is essentially developed by one person,

00:12:05: whereas Next.js is developed by a huge team

00:12:09: working at Vercel, which is a hosting provider.

00:12:12: And therefore, since we have only Analog.js,

00:12:16: which is a bit less capable than Next.js,

00:12:18: for example, if you wanna build

00:12:20: such seamlessly integrated full-stack applications

00:12:24: with Angular instead of React,

00:12:27: that could prove to be a bit trickier,

00:12:29: and that might be a reason for picking React.

00:12:32: Now, for Vue, for example,

00:12:34: things are different.

00:12:35: There, we have another meta framework built for Vue,

00:12:39: which is called Nuxt,

00:12:41: which is essentially the Next.js of Vue.

00:12:44: I guess you see the similarities.

00:12:46: Nuxt, Next. Yeah.

00:12:48: It's a framework that was developed for Vue

00:12:51: multiple years ago already.

00:12:53: It's developed by a big team.

00:12:55: I think they even have some venture capital funding,

00:12:59: and they are building that meta framework,

00:13:02: which allows you to build full-stack applications

00:13:05: for Vue, or with Vue.

00:13:07: And that of course means that if you wanna build

00:13:10: such full-stack applications,

00:13:12: Vue can be an attractive choice.

00:13:15: Now, what about smaller libraries like Svelte or SolidJS?

00:13:21: And by the way, I know that there are others,

00:13:24: but I have to stop somewhere.

00:13:26: Well, those smaller libraries

00:13:29: also have such meta frameworks,

00:13:31: which are maintained by the developers and by the teams

00:13:35: that are working on the main libraries as well.

00:13:38: Svelte has SvelteKit, which is developed by the same team

00:13:42: that develops Svelte, and SolidJS has SolidStart,

00:13:47: which is also such a full-stack framework

00:13:50: that's developed by the same team and person

00:13:53: that works on the main library.

00:13:56: So there, we also have those full-stack frameworks.

00:13:59: And that, therefore, gives us an idea

00:14:03: of the different philosophies of those libraries

00:14:06: and frameworks and how you can work with them.

00:14:09: Now before we take a look at their popularity,

00:14:12: which might also matter for various reasons,

00:14:15: let's take a brief look at who owns and runs

00:14:18: and develops those libraries because that,

00:14:21: of course, matters since when you're choosing

00:14:25: a technology, you wanna be sure

00:14:28: that it will still be around in a couple of years.

00:14:32: You don't wanna rewrite your entire application

00:14:35: in two or three years just because the technology,

00:14:40: the library or framework you chose today is outdated then.

00:14:47: And here, to start with React again,

00:14:49: that was originally developed by Facebook,

00:14:53: and it's still owned and maintained by Facebook.

00:14:56: But recently, a part of the team working on React

00:15:01: has actually moved to a different company, to Vercel,

00:15:06: which is that hosting provider that also developed

00:15:09: the Next.js framework.

00:15:11: And we can see the impact of this because recently,

00:15:16: the focus seems to be on working on Next.js

00:15:20: and making sure that React works well together with it,

00:15:24: but I did create a separate video on the current state

00:15:27: of React on my Academind YouTube channel

00:15:31: if you wanna learn more about that.

00:15:33: The main takeaway though, is that React is maintained

00:15:37: by teams that are employed at big companies,

00:15:41: at Facebook, for example,

00:15:43: and that those companies are using React internally.

00:15:47: Therefore, it's pretty much guaranteed

00:15:50: that React will not just be around today,

00:15:53: but also in the future.

00:15:55: Now it's pretty much the same for Angular

00:15:58: because Angular is and was developed by a team at Google,

00:16:03: and it's getting used by Google in dozens,

00:16:06: or, I guess, hundreds of internal

00:16:08: and publicly available applications.

00:16:12: If you're using a Google service on the internet,

00:16:15: chances are pretty decent, that it's powered by Angular.

00:16:19: And therefore here, it's the same.

00:16:22: There is a pretty much a guarantee that Angular,

00:16:26: despite Google's tendencies to kill its projects,

00:16:31: will still be around in a couple of years

00:16:33: because they're using it a lot internally.

00:16:37: Now for Vue and SolidJS,

00:16:40: it's a bit different because both of these libraries

00:16:45: and frameworks are indeed developed by the community,

00:16:49: if you wanna call it like this.

00:16:51: Vue was originally developed by one person, by Evan You,

00:16:56: but it now is actually maintained by a huge team

00:17:00: of core Vue maintainers, if you wanna call it like this.

00:17:05: And therefore, it has a pretty stable base

00:17:08: of developers working on it.

00:17:11: Nonetheless, it's not a company,

00:17:13: but instead, the community that's maintaining Vue.

00:17:16: And you can judge on yourself if that makes you feel better

00:17:19: or worse, or if that gives you more or less security

00:17:24: that Vue will still be around in a couple of years.

00:17:27: Personally, I'm pretty sure it will be.

00:17:30: Now SolidJS is not entirely a one-man show.

00:17:34: It does have a lot of contributors,

00:17:36: a lot of people working on it.

00:17:38: There is a team behind it, you could say,

00:17:41: but to me, it feels like SolidJS

00:17:45: has less people working on it than Vue does.

00:17:49: For example, it's a smaller library.

00:17:52: And for Svelte, there, it's important to note

00:17:56: that one person who originally built Svelte

00:18:00: is now supported by many core members

00:18:03: just as it's the case for Vue, and that one person,

00:18:07: Rich Harris, is now also employed at Vercel.

00:18:11: So you could say Svelte has kind of a company

00:18:15: backing behind it.

00:18:16: Not as strong as Next.js and React,

00:18:19: but some company backing.

00:18:22: And that is an overview of who owns and runs

00:18:26: those different libraries and frameworks.

00:18:29: With that, let's finally leave that behind

00:18:32: and take a look at how popular those frameworks

00:18:36: and libraries are because that can, of course,

00:18:38: also be an important decision criteria

00:18:42: since you might prefer to work with a library a lot

00:18:46: of other developers are using as well,

00:18:48: since it will be easier to find freelancers

00:18:51: for popular libraries, since the ecosystem

00:18:54: might be more active, since you might find more tutorials

00:18:57: and courses and solutions for problems, and so on.

00:19:02: And here, it's probably fair to say that React

00:19:05: is the most popular front-end JavaScript library.

00:19:10: At the point of time where I'm recording this,

00:19:13: it has more than 200,000 GitHub Stars.

00:19:17: It has around 22 million weekly downloads on npm.

00:19:22: So the React package is downloaded

00:19:24: around 22 million times every week.

00:19:28: And I looked up some job postings on Indeed,

00:19:32: but also LinkedIn Jobs.

00:19:34: And there, you were able to find thousands

00:19:37: of job postings looking for React developers.

00:19:41: On Indeed, for example, when I recorded this,

00:19:44: I found around 11,000 job postings for React,

00:19:48: and I found even more job postings on LinkedIn.

00:19:52: Now, Angular

00:19:53: is probably the second most popular framework here,

00:19:58: though it of course always depends on how you measure it.

00:20:01: But Angular has over 90,000 GitHub Stars.

00:20:06: So way less than the 200,000 React has, but still.

00:20:11: It has 3.2 million weekly npm downloads.

00:20:16: So also way less than React.

00:20:19: Though, at least to my knowledge,

00:20:21: one reason for that also is that Angular

00:20:25: is quite popular amongst huge enterprises,

00:20:30: and they sometimes have their own dependency registries,

00:20:35: some internal dependency registries

00:20:37: where it might be served from.

00:20:39: But still, it's definitely fair to say

00:20:41: that it has less downloads than React.

00:20:44: And at least on Indeed, I also found less jobs

00:20:48: for Angular than for React.

00:20:50: I found around 6,000 job postings there

00:20:54: compared to the 11,000 of React.

00:20:57: But on LinkedIn, on the other hand,

00:20:58: I found more job postings for Angular.

00:21:01: So overall, it's definitely fair to say

00:21:04: that it's pretty popular, and that especially

00:21:06: if you're looking to find a job for the framework

00:21:11: you're using, angular has lots of available jobs.

00:21:16: Now, Vue then is a bit smaller than React and Angular,

00:21:21: though not necessarily at all the metrics you could look at.

00:21:25: Now, the Vue 3, which is the latest Vue version,

00:21:29: GitHub repository has around 40,000 GitHub Stars.

00:21:33: So less than Angular and of course, less than React.

00:21:37: But Vue had over 4 million weekly npm downloads.

00:21:42: So actually more than Angular.

00:21:45: However, it definitely had less job postings.

00:21:49: For example, on Indeed,

00:21:51: I found around 1,400 jobs when I created this year.

00:21:55: And that's less than the 6,000 or 11,000 I found

00:21:59: for Angular and React.

00:22:01: It also had less jobs on LinkedIn, by the way.

00:22:04: Nonetheless, Vue is definitely a popular framework.

00:22:07: And if you're looking to find a job,

00:22:09: there still is a decent amount of job postings for Vue.js.

00:22:14: And these things change a bit for Svelte and SolidJS.

00:22:19: They are still popular if you take a look at GitHub Stars.

00:22:23: For example, Svelte has over 70,000 GitHub Stars.

00:22:27: SolidJS has around 30,000.

00:22:30: So they are popular there.

00:22:32: But for example, regarding npm downloads,

00:22:35: we're looking at less than 1 million weekly downloads

00:22:39: for both those packages.

00:22:42: Svelte has 0.8 million, and SolidJS has 0.2 million.

00:22:49: So 200,000 weekly downloads,

00:22:52: which is way less than the other frameworks had.

00:22:55: And the same is true for job postings.

00:22:58: There, I was only able to find a couple of dozen,

00:23:01: maybe hundreds, of job postings,

00:23:04: but not the thousands of jobs you found

00:23:06: for the other frameworks.

00:23:08: And that's therefore the popularity

00:23:10: of those frameworks and libraries.

00:23:13: Now, another important decision factor,

00:23:16: of course, is performance,

00:23:18: because you wanna choose a technology

00:23:21: that allows you to build applications that perform well,

00:23:24: that deliver great performance

00:23:27: to your website visitors, for example.

00:23:29: And here, the easy answer is all these libraries

00:23:34: and frameworks are extremely performant.

00:23:36: You will always be able to find specific niche cases

00:23:41: or scenarios or optimization

00:23:44: that make one framework stand out,

00:23:47: but the main takeaway really

00:23:50: is that they all got great performance.

00:23:53: You find a link to a website that runs some benchmarks

00:23:57: across those frameworks, in the show notes

00:24:00: or below the video.

00:24:01: But in the end, it really is the case

00:24:04: that you got great performance for all those frameworks

00:24:07: and libraries, and therefore,

00:24:08: performance likely will not be the most important factor

00:24:14: when deciding for one of those libraries or frameworks.

00:24:18: Though it of course can be in certain situations.

00:24:23: Now, what might matter though, is the way you write code

00:24:29: and if you like the syntax

00:24:31: and the the way of solving problems

00:24:34: with those different libraries

00:24:36: because they of course all have their very own syntax

00:24:40: and their very own way of writing code

00:24:44: that you need to adapt if you're working

00:24:47: with one of those libraries or frameworks.

00:24:50: They all share the idea of composing your user interface

00:24:55: from components, from reusable building blocks

00:24:59: that contain the markup that should be rendered

00:25:02: and the logic that might alter that markup.

00:25:05: But the way you then write those components

00:25:08: and the way you manage your state

00:25:10: that leads to UI updates, that differs.

00:25:14: With React, for example,

00:25:16: you write JavaScript functions, and you use a feature

00:25:21: called React Hooks to manage some data in those functions,

00:25:26: which will re-execute those functions automatically

00:25:29: when that data changes and so on.

00:25:32: With Angular, on the other hand,

00:25:34: you're working with classes, and you work with decorators

00:25:38: and extra template files, and it tends

00:25:42: to require a bit more boilerplate code than React,

00:25:47: for example.

00:25:49: In Vue, you have separate files,

00:25:52: a separate file format, you could say,

00:25:54: where you put your components, their markup,

00:25:58: their logic, and their styling into those files,

00:26:01: and you therefore then write neither functions nor classes,

00:26:06: but instead, you use this separate file format.

00:26:09: And in the end, it therefore comes down

00:26:12: to personal preference, which approach you like the most.

00:26:18: You should really just give all those libraries

00:26:21: and frameworks a try.

00:26:23: And with that, I don't mean

00:26:24: that you should spend multiple hours or even days

00:26:28: on learning those different frameworks,

00:26:32: but instead, just go through their quick start guides

00:26:35: on their websites, look up some tutorials on YouTube

00:26:39: and get an idea of how you generally write code

00:26:43: when working with those libraries and frameworks.

00:26:47: And then decide which approach you like the most

00:26:50: because there really is no right or wrong here.

00:26:54: You will read a lot of strong opinions on X,

00:26:59: Twitter in the past, and in the internet in general.

00:27:03: But let's be honest, strong opinions,

00:27:05: we always have them in the developer space.

00:27:08: We especially have them on X,

00:27:10: and often it's best to just not care about them.

00:27:13: So make your own choice there

00:27:15: and find out what you like the most.

00:27:17: Now, what I can say though,

00:27:20: is how easy or difficult it is for my experience

00:27:24: to learn these different libraries and frameworks.

00:27:28: Because even though it comes down

00:27:29: to your personal preferences, whether you like the way

00:27:34: of writing code in a given library or framework,

00:27:38: I can see from all the courses I created

00:27:40: that they do have different difficulty levels

00:27:44: when it comes to learning and mastering them.

00:27:46: For example, Vue is a framework that's pretty easy

00:27:51: to get started with.

00:27:53: It has a syntax and an approach

00:27:55: that's not too difficult to understand.

00:27:57: It doesn't require a lot of boilerplate code,

00:28:00: and it doesn't have too many pitfalls

00:28:04: where you can write wrong code that won't work as intended.

00:28:09: You can of course do that,

00:28:10: but it doesn't have too many of those pitfalls.

00:28:14: Angular, on the other hand,

00:28:15: is relatively challenging to learn,

00:28:18: though that has gotten a bit easier

00:28:21: in recent years or months, you could say,

00:28:25: because Angular actually is innovating rapidly

00:28:29: and is introducing new alternative features,

00:28:33: which make it a bit easier to get started with Angular

00:28:38: since less boilerplate code is required.

00:28:41: It still requires a decent bit of extra code,

00:28:44: but it's gotten easier over the years, I'd say.

00:28:48: That being said, not all Angular projects

00:28:51: are using those latest features.

00:28:54: So chances are that when you're learning Angular,

00:28:57: you'll have to learn the more complex way

00:29:00: of building Angular apps at some point,

00:29:03: at least if you're looking to find a job with Angular,

00:29:07: because chances are high that there,

00:29:10: you're not going to use all those latest features.

00:29:14: React, for example, is a bit easier

00:29:17: to get started with, I'd say,

00:29:19: because initially, it has a simpler mental model

00:29:23: and doesn't require as much boilerplate code,

00:29:27: but React has quite a few pitfalls.

00:29:30: It's relatively easy if you're getting started with React

00:29:34: to write code that doesn't work as intended

00:29:37: in certain situations, and it can then be hard

00:29:40: to figure out why that's the case.

00:29:44: It's also relatively easy to run into some errors,

00:29:46: which can be hard to understand initially.

00:29:50: So React is maybe a bit easier

00:29:52: to learn initially than Angular, for example.

00:29:57: But when it comes to mastering React

00:30:00: and writing good React code, I personally would say

00:30:03: it's at least as challenging as Angular,

00:30:07: which also is challenging there.

00:30:08: But they're pretty equal there, I'd say.

00:30:12: And for Svelte and SolidJS, they're somewhere in between.

00:30:16: In my personal experience, they're not as easy to grasp

00:30:19: and work with as Vue might be,

00:30:22: but they're also not as tricky or difficult

00:30:25: as React or Angular can be.

00:30:29: But again, here also, my recommendation

00:30:31: is that you simply get started with them,

00:30:34: that you go through those quick start guides,

00:30:36: that you maybe take a course like one of my courses

00:30:40: or any other course, and you therefore then get a feeling

00:30:44: for yourself how easy it is for you

00:30:47: to get started with a certain library or framework.

00:30:51: Because even though I can see some general trends,

00:30:54: it of course always depends on which prior experience

00:30:58: you have and with which average technologies

00:31:01: you might have worked in the past.

00:31:03: And that's there for this pretty extensive overview

00:31:07: of those different frameworks and libraries.

00:31:10: My thoughts on those frameworks and libraries,

00:31:14: which hopefully were helpful.

00:31:16: And therefore, to conclude this here,

00:31:18: I just wanna share what my personal favorite is.

00:31:22: And I would say that this would probably be React

00:31:26: but not because I like the way

00:31:29: you write React code the most.

00:31:32: I actually don't do that.

00:31:34: It's okay, but I'm not a fan of all the advanced things

00:31:39: you need to know about React and JavaScript

00:31:41: in order to write good code.

00:31:44: But instead, I tend to choose React

00:31:47: for most of my new projects

00:31:49: simply because of its popularity,

00:31:52: because there is this vibrant ecosystem

00:31:55: that you can use to find solutions for specific problems

00:31:59: you might be facing when working with React

00:32:03: and because we have those full-stack libraries

00:32:06: like Next.js and Remix, which are relatively mature,

00:32:10: and which simplify the process of building

00:32:13: such full-stack applications,

00:32:15: which I tend to do a lot as of late.

00:32:18: But that's the reason why for me.

00:32:21: If you would force me to pick one, it would be React.

00:32:24: But I do honestly like all of them,

00:32:27: and I do enjoy every project where I got a chance

00:32:30: of working with Angular or Vue, for example.

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.