Tech Tidbits Ep. 5: Jon Best - Creed Interactive Skip to main content
Creed Interactive
Come visit us

500 Washington Ave S, Suite 2060

Minneapolis, MN 55415

Technology

Tech Tidbits Ep. 5: Jon Best

Tech Tidbits presented Creed logo

episode 05

Angular vs React: A Developer’s Perspective

 

In Tech Tidbits Episode 05, Chris Teigen interviews Jon Best about Angular and React and when it’s better to use one versus the other. Jon also talks about technologies that he’s interested in and what he would call his band.

 

Check out some projects he’s worked on, such as TPAC and Delta Dental ESP!

Below is the transcript of the video

Chris: Hello, Jon. How you doing?

Jon: Good, how are you? Good.

Chris: So this is Jon Best. He is a team lead on one of our custom development teams. Thanks for taking the time to talk to us today, Jon.

Jon: Um, yeah, waiting for a few questions regarding Angular and React. Yeah, let’s go, let’s get into it.

Jon: Good. Because if your answer is no, it’s too late. Okay. First question. How do you choose when to use React versus Angular on a project?

Jon: Um, so for me, there’s a couple of different things. One of them is coming down to like, what are the business objectives with that project? What’s the nature of the project? And then lastly, I think it’s really important to consider what’s the skillset of the team. If you have a team that’s got a strong skillset in one or the other, I feel like some bias should be put that way just ’cause the skillset’s there. I will also say, um, Angular really lends itself well to long-living large-scale projects. Um, so if it’s intended to be kind of like an enterprise-level application, if it’s gonna be very large, if it’s gonna be around for potentially years and years, and there’s gonna be a lot of people working on it—like if there’s developers kind of coming and going—I think Angular lends itself really well to all of those things.

Chris: Yeah, good answers. Um, okay. What do you choose not to use React or Angular?

Jon: So, that is an interesting question. Uh, one of them is, of course, in my opinion, if there’s a strong need for content management from non-technical people, I think there are better options that come pre-baked, a very popular one that everybody’s aware of is WordPress. I know not everybody’s a fan of that. Um, but right out of the box, it’s gonna provide a lot of that content management backbone that you’re gonna want, if that’s a requirement for your project. Um, some other things that I think are important are if you’re doing a proof of concept and speed is absolutely critical, and maybe what you’re building is not gonna be the final product, but you’re just kind of proving something out, um, view and spelt are both things that come to mind for me. Um, they’re incredibly quick to work with. Their ergonomics are really good. Um, and again, team background is another important thing to keep in mind. If your team doesn’t have a great background in either React or, um, Angular, I think it’s important to have that conversation about, well, what are the team’s skill sets and what are the objectives? And, um, those, I guess, those are some of the things that come to mind with that. Okay.

Jon: What are React strengths and weaknesses?

Chris: Uh, so React, I think it has gotten very good with state management. Um, as long as you embrace the way that it chooses to manage state, um, within itself. I do think it also has a lot of good add-ons for state management, whether you’re looking at, um, Redux or, uh, recoil. I really like recoil. It’s something that I learned, um, as it kind of gained popularity and steam and, uh, really like the methodologies there. Um, it’s also got a massive community. This is one of the biggest and best things about React is a lot of people have done it. A lot of people have strong opinions on it, and so there’s so much out there that you can learn already and, um, and I guess get that support if you need it. Um, some of the negatives are kind of the drawbacks that I see with React is, um, it’s a library. It’s not a framework. And so it’s extremely flexible and it doesn’t impose a lot of, um, I guess, patterns onto you. And so some people love this. It gives you that massive flexibility. But if you work on a lot of different React projects, and in my experience, you’ll see a lot of different flavors of, um, how the project is put together and how people are writing their code. And, um, that can be frustrating and it can take time to ramp people on different projects if the approaches are not always the same. Um, I also think there can be a little bit of paralysis by analysis with React. It’s got so many things available to use inside of React. Um, I think, I don’t know what the number is now. It’s like hundreds of thousands of packages that are available for React. And while that’s awesome, it’s like, wow, I’ve got all these options. Figuring out which option is right for the problem you’re trying to solve, um, can be challenging. And then likewise, if you continue to bolt on all these things onto your React Project, now you have to support them all and you have to make sure they’re all up to date. And so there’s a lot of mental load that comes with, um, a kind of full-fledged React project. And, um, that’s, that’s kind of what comes to mind for me.

Chris: Yeah, there’s a lot there. Um, so Angular, the same question. What are Angular strengths and weaknesses?

Jon: Um, so Angular is more of a framework. And that means that it kind of enforces a lot of structure on you. And for me, I’ve always liked this about Angular. I like the fact that it kind of guides you into best practices. Um, the dependency injection system that’s built into Angular, I think is really strong. I think it’s a big benefit, especially for larger projects. It kind of helps you manage how you’re injecting services into your components and really helps you organize that. Um, the other thing that I like about Angular is it’s very opinionated. So it has a set way of doing things. There’s one way to do something in Angular. It’s not like, well, you could do it this way or that way or this way. It’s like, no, you do it this way. And, um, I think for a lot of teams, that’s a really good thing. It’s kind of less to argue about. Um, so I think that’s a big strength. The other thing is TypeScript. So Angular is built on TypeScript, and I really like TypeScript. I like the type safety that it provides. I like that I can define interfaces. I can define custom types. I can use generics. It just adds a lot of power and expressiveness to my code. Um, some of the downsides of Angular, I would say are it’s a little bit more complex. Um, the learning curve is steeper, especially if you’re new to web development. Um, and I’ve seen people kind of struggle with this. If they’re brand new to web development, starting them on React can be a little bit easier because React is simpler. It’s less opinionated. And so they can kind of just get in there and start building stuff and then gradually kind of grow into best practices. Whereas Angular kind of hits you with best practices right away. And if you’re not familiar with web development, it can be a little overwhelming. Um, the other thing is the file size. So Angular applications can be larger in terms of file size. Um, they’ve done a lot of work to try to optimize this, and they’ve come a long way. But if you’re building a very lightweight application, if you’re building something that needs to load quickly on slow connections, this could be a consideration for you. And then lastly, I would say the community is not as large as React. It’s still a very large community, but it’s not as large as React. And so, you know, finding support, finding third-party libraries, finding, you know, just kind of help and examples out there, it might not be as abundant as it is in the React community.

Chris: Got it. Got it. Yeah. Good breakdowns of each one. Um, okay, here’s one that I’m sure a lot of people think about when they’re making this decision: performance. So how do React and Angular compare in terms of performance?

Jon: Yeah, so this is an interesting one because I feel like this has changed over the years. Um, I would say, in general, they’re both performant, right? They both, um, when used correctly, when used optimally, they can both perform very well. Um, historically, React was kind of known for being a little bit faster in terms of raw rendering speed. Um, but Angular has made a lot of improvements in recent years. Um, they’ve introduced things like Ivy, which is a new rendering engine. They’ve done a lot of work to optimize the change detection system in Angular. And so, you know, I think it’s kind of getting to a point where the performance difference is not as stark as it maybe once was. I would say in general, when you’re talking about performance, there’s a lot of factors at play. It’s not just the framework itself. It’s how you’re writing your code. It’s how you’re structuring your application. It’s how you’re handling data. It’s how you’re handling, you know, asynchronous operations. And so, um, you know, I would say it’s really hard to make a blanket statement that one is faster than the other. I think it comes down a lot to how you’re using the framework, how you’re building your application, and what your specific requirements are.

Chris: Yeah, that makes sense. Um, okay. So let’s talk about developer experience. So, which one do you find more enjoyable to work with as a developer, and why?

Jon: Yeah, so this is, this is a very subjective question. Um, I’ve heard people argue both sides of this. I think it comes down to personal preference. Um, I personally enjoy working with React. I like the simplicity of it. I like the flexibility of it. I like the fact that it doesn’t impose a lot of structure on me. Um, I like that I can kind of just dive in and start building stuff without a lot of ceremony. Um, and I think that’s a big benefit. I think it’s also, um, I don’t want to say it’s less opinionated because that can be a downside in certain scenarios, but I do like the flexibility that it provides. Um, I think that, you know, the ergonomics of React are really good. It’s, it’s kind of easy to get into. It’s easy to learn, um, especially for new developers. And, um, I think that the, the kind of simplicity of the React model, I think it lends itself really well to just kind of building user interfaces quickly, getting stuff on the screen, iterating quickly. Um, that’s not to say that Angular is not enjoyable to work with. I think it is, but it’s enjoyable in a different way. It’s enjoyable in the sense that it enforces a lot of best practices. It guides you in a certain direction. It provides a lot of structure, and if you like that, if you like having guardrails, if you like having kind of a path to follow, then I think Angular can be very enjoyable. And I think especially for larger teams or teams that are working on larger projects, that structure can be very beneficial. It can kind of help keep everybody on the same page. It can help with maintenance over time. And so I think it’s just a different flavor of enjoyment. Um, you know, if you like that structure, if you like that kind of opinionated nature, then I think Angular can be very enjoyable. But I think it’s really, um, a matter of personal preference. And I think it’s, it’s worth trying both and seeing which one you like better.

Chris: Yeah, I think that’s a great point. Um, and I think that leads well into our next question, which is about learning curve. So how do React and Angular compare in terms of learning curve?

Jon: Yeah, this is a really good question. I think it’s one that a lot of people consider, especially if you’re new to web development. Um, I would say, in general, React has a lower learning curve. Um, and I think this is intentional. I think this is one of the design goals of React is to be very approachable, to be very easy to pick up. Um, and I think they’ve succeeded in that. I think, you know, you can, you can go through the React documentation in a day, and you can kind of have a good sense of how React works, how to build components, how to manage state, how to do basic things. Um, and that’s great. I think that’s a big benefit, especially for new developers. Angular, on the other hand, has a steeper learning curve. Um, and this is, I think, because it’s more full-fledged. It’s more of a framework. It has more concepts that you need to learn. It has more things that you need to understand. Um, and so, especially if you’re brand new to web development, I’ve seen people kind of get overwhelmed by Angular because it’s throwing a lot at them right away. It’s like, okay, you need to learn about modules. You need to learn about dependency injection. You need to learn about decorators. You need to learn about, you know, all these different concepts that are part of the Angular ecosystem. And I think it can be a little overwhelming for new developers. Now, that being said, if you’re coming from maybe a more traditional background, if you’re coming from, you know, Java or .NET or something like that, you might find Angular to be more familiar. You might find that, you know, the concepts in Angular kind of align more with what you’re used to. And in that case, the learning curve might not be as steep. Um, but I would say, in general, if you’re brand new to web development, React is probably an easier starting point.

Chris: Yeah, that makes sense. Um, so, kind of related to that, when it comes to the job market and career opportunities, do you see any notable differences between React and Angular?

Jon: Yeah, this is a good question. I would say, in general, both React and Angular have strong job markets. Um, I think you can find plenty of opportunities with either skill set. Um, that being said, there are some differences. Um, I would say React is more popular in terms of just the sheer number of job postings, the sheer number of companies that are using React. I think it’s, it’s more widely adopted, especially in kind of smaller to medium-sized companies or startups. You see a lot of React usage. Um, and so, you know, if you’re looking at just pure numbers, you might find more opportunities with React. I also think React has a bit more of a brand, right? It’s kind of become this, this go-to library for building user interfaces. And so, um, you know, having React on your resume can be a very strong signal. It can be something that, you know, employers are looking for. Now, Angular, on the other hand, I think is really strong in certain industries. So, for example, if you’re looking at enterprise development, if you’re looking at kind of larger, more established companies, um, especially if they have a history of using something like .NET or Java on the backend, you might find Angular to be more prevalent. You might find more Angular job opportunities in those types of environments. Um, also, if you’re looking at kind of more traditional, um, software engineering roles, if you’re looking at roles where you’re doing more than just building user interfaces, if you’re doing more full-stack development, if you’re, you know, kind of working on, um, larger applications that have a lot of different concerns, then Angular might be a good fit. Um, so, you know, it really depends on what you’re looking for. I think both have strong job markets. I think, you know, you can’t go wrong with either skill set. Um, but there are some differences, and I think it’s worth considering kind of where you want to work, what type of work you want to do, and what industries you’re interested in.

Chris: Great insights there. Um, so, final question, and this is kind of more forward-looking. Where do you see the future of React and Angular heading? Do you see any emerging trends or significant changes on the horizon for these frameworks?

Jon: Yeah, this is a good question. It’s always hard to predict the future, but I can give you kind of my perspective on where things are heading. Um, I think React is going to continue to be very popular. I think it’s going to continue to be widely adopted. Um, I think the React team has done a good job of, um, you know, iterating on the library, introducing new features, kind of staying up to date with the latest trends. Um, and I think React is going to continue to be a go-to choice for a lot of developers. Um, you know, with the introduction of things like React Server Components, I think that’s going to be an interesting development. I think, you know, the idea of, um, kind of server-rendered components, I think that’s going to be a trend to watch. Um, and I think just in general, you know, React is going to continue to be kind of at the forefront of, um, you know, modern web development. Angular, I think, is also going to continue to be strong. Um, I think they’ve made a lot of improvements with things like Ivy, with, um, you know, just optimizing the performance of Angular applications. And I think, you know, especially in certain industries, especially in, um, you know, kind of larger enterprise environments, Angular is going to continue to be a very strong choice. I think they’ve also done a good job of kind of embracing, um, the component model, embracing some of the more modern, um, web development paradigms. So, I think, you know, they’re going to continue to be a solid choice. Um, you know, in terms of trends, I think, you know, in the broader sense, looking beyond just React and Angular, I think, um, the idea of, you know, more, more static site generation, more kind of server-rendered, um, you know, architectures, I think that’s going to continue to be a trend. I think, you know, people are looking for faster, more performant websites. Um, and so, you know, anything that kind of enables that, I think, is going to be, uh, you know, something to watch. Um, and then also just, you know, in general, the, the move towards more, um, you know, scalable, maintainable, um, applications. So, things like state management, things like, um, you know, just kind of structuring your code in a way that, you know, is, is scalable over time. I think those are, those are going to continue to be important trends. Um, but yeah, it’s, it’s always hard to predict. Things change quickly in the JavaScript world. And, um, you know, I think it’s just a matter of kind of staying up to date, staying current, and, um, you know, being willing to kind of adapt and learn as things evolve.

Chris: Yeah, absolutely. Great insights there. Um, well, Chris, thank you so much for taking the time to chat with us today. It’s been really informative, and I’m sure our audience will find it very valuable.

Jon: Yeah, absolutely. Thanks for having me. It was great chatting with you.

Chris: Alright. Take care.

Jon: You too.