React vs Angular vs Vue - Which Framework Should You Pick?
Show notes
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