Moving to React
Pause & Reflect
As we continue to expand we’ve taken time stop and review in depth at what we want to achieve over the next couple of years and what we need to do to get there. A big part of that has been to evaluate our existing codebase, and the technologies we use, so we can determine what our options are and what changes we need to make to meet our goals.
As part of this review, when looking at the tech we use some of the questions we’ve asked have included are they fit for purpose? Are they enjoyable and easy to use? Are there any pain points? Do they allow us to achieve what we need them to going forwards? Are there any better alternatives?
On the front-end side of things the biggest decision was whether we wanted to carry on using Vue.js, or if it made more sense to start moving over to React.
Vue.js vs React - FIGHT!
There are hundreds of articles out there on the positives and negatives of each and in which situations it makes sense to use one over the other. Having worked with Vue.js, React and Angular over the years each certainly have their tangible advantages and disadvantages, but realistically you can achieve the same results with all three. So why would we consider moving away from Vue.js after years of use?
It was actually a fairly easy decision in the end, and it largely revolves around the size of the React community. When hiring, talent availability for React is dramatically higher, and being able to hire the best people is critical for us to move forward.
Most developers with React experience have little interest in learning or working with a new framework, and why would they with so many React roles out there? Even if they do have the interest to learn, as with any framework it can take weeks or even months to get up to full speed learning best practices, and the odd quirks to avoid.
The other big benefit of the larger React community is the wider range of active third-party libraries available. There’s been numerous times we’ve seen new shiny libraries come out that simply don’t work with Vue.js, or new features have come out for projects we use that initially only work with React, with Vue.js support planned for 6-12 months down the line.
Framework usage - https://2020.stateofjs.com/en-US/technologies/front-end-frameworks/
A Fresh Start
Moving across to React means we have a fresh slate to work from with new options that weren’t available before. This means we need to review our strategy, and the libraries we use for key features moving forward, including:
- State Management
- Map Visualisation
- Unit & E2E Testing
- Styling & Animation
Each of these are pretty huge subjects, so expect a number of posts to come discussing the decision-making process for each of these. Once decisions have been made we’ll have a trial period of using each before committing to them long-term, so look out for posts on our thought s in the future as well!
We are the engineers behind LandInsight and LandEnhance. We’re helping property professionals build more houses, one line of code at a time. We're a remote-first company with our tech team in Europe, and yes, we're hiring!