The React ecosystem is powerful in its own right. Abstracting away many common pitfalls in traditional web development, it made building Single Page Apps (SPAs) at scale both manageable and maintainable. By solidifying component based architecture, one way data flow, immutability and reactive programming, it allowed engineers to build bits of a much greater whole in complete isolation. This is in contrast to the previous generation approach which relied on mutable 2 way bound models that often ended up overly coupled with odd update dependencies.
On the styling side we saw css-in-js tackle the problem of styling at scale, treating styles as an integral part of each component, rather than having its own mental model and hierarchy. This allowed for a single application hierarchy to exist, the single source of truth was the .js …
I’ve brought reasonML into my side-project Shadowrun Creator and here are the steps I took to get everything working. I based most of my work off of the guide found at https://github.com/eanplatter/introduce-reason-example and it worked well for the most part.
First let’s install the modules we’ll need into our existing React app. Mine was bootstrapped with create-react-app and I had ejected right away. If you want to start with a pure ReasonML application start with reason-scripts which makes things dead simple.
If you’ve made it this far you’re interested in bringing some Reason into an existing react application.
yarn add reason-react reason-js
yarn add -D…
This is a continuation of the story of 4 engineers figuring out how to evolve a dying platform. Part 1 here.
ES2015 had gone a long way in making quality of life changes to our workflow. We were still very aware that at some point in the future Angular 1 would cease to be maintained. We also knew that when that time came we wanted to be well on our way towards executing the exit plan, whatever that might be.
We had a problem with our existing app. We were generating too many needless API calls when we changed screens in our application. …