You could also look at this as “What problems did the creators set out to solve?” Maybe you’ve already selected your framework or library and want to build a project around it to get practice with it, or maybe you’re looking to accomplish a specific task and need to find the right tool for the job. Either way, it helps to deeply understand the key features of what you’re working with vs. its competitors. For example, if you’ve been working with Angular, you might choose to work with React next because you’re interested in learning about one-way binding or using a virtual DOM. Knowing the key features of the technology you’re using will help ensure you’re designing features and functionalities that work well within the bounds that you’ve chosen.
Gaining insight into a project’s structure helps inform what tools and learning opportunities are available to you, as well as how you may integrate it into existing projects. Look for differences as well as similarities between what you know and the new tool you’re using. In both Vue and React (using create-react-app), creating a default application will generate a ‘public’ directory, which tells you both technologies work similarly when it comes to storing and referencing publicly available assets.
There’s likely more than one way you’ll see key features handled in a JS framework or library. For example, re-rendering happens after using setState in React, and after a change detection cycle in Angular. Being aware of the different ways key features of the framework are handled will not only inform the choices you make within the project, but it will help you in the hunt to answer any questions documented on the framework’s site or sources like Stack Overflow.
This is mostly an expectation-setting question - it may be more difficult to find answers to unique or specific questions when working with a less common framework. If that’s the type of challenge you’re up for, go for it! And if you’re able to contribute to the development of the framework, that’s icing on the cake. React has a large following with solid documentation, and is quite a popular framework, but some folks in tech cite Vue as being better-documented. It helps to sometimes seek out opinions on documentation, especially if you’re looking to do something specific with a library or framework, but not to hold any one opinion as the ultimate source of truth. The best approach is to take a look at the documentation for tools you’re considering and decide for yourself how comfortable you feel with it, and if it meets the goals you’re setting for yourself.
Knowing what else to look out for will not only inform additional features or new directions you can incorporate into a project, but it will give you a sense of what other pieces of code may make an appearance in answers to common questions. With large React projects, for example, you may want to incorporate Redux for state management. If you’re looking to foray into mobile development, it may be worth your time to also look into React Native and or Ionic. It may also serve your project’s needs better to go with a library or framework-agnostic choice, like Cordova for mobile development, but it’s worth knowing what’s out there and what’s been developed with your tool of choice in mind. This is by no means the end-all-be-all list of questions to ask yourself before jumping into a new JS library or framework, but it’s a great place to start and prepare for your next JS adventure!
Maddy is a coding bootcamp graduate and software engineer. She graduated from UW-Madison with a Bachelor's degree in Genetics, and also has a background in nonprofit work. Having created a career transition into tech for herself, she is passionate about teaching others and facilitating their growth in tech.