When I began working a freelancer last year, I knew I wanted to use an agile approach to build apps for my clients, even if they were small projects. As there are limited resources for agiling independently, I thought I would write about my experience for others to use.
React requires a barrier to entry to get started with, that dropping a script tag on a page does not. Or so the common wisdom goes.
Say you have a blog that talks about science or data on a regular basis. What do you do?
I've been working on a large-scale React-Redux project for several months now. React is not a framework and so it doesn't enforce a particular way of grouping related code or related files, code style or organization. I've been thinking about what it means to provide forward-maintainability in this type of codebase and how we can make our code understandable to other human beings.
React is much more than a templating language, and the breadth of ways in which components can be reused greatly exceeds languages like Handlebars. Some of these patterns are more useful than others, however.
Cathy O'Neal, in Weapons of Math Destruction, describes how algorithms increasingly control our lives: the news we see, the jobs we might be hired or fired from, how prisoners are sentenced and granted parole, whether or not we qualify for a loan. Moreover, she makes the case convincingly that the bizarre results of algorithms gone awry disproportionately affect the lives of the poor and disadvantaged.
Immutability is a core concept of libraries like Redux, and has many advantages - not the least of which is that is easier to decide when a React component should update. The downside of immutability is that it's hard to do: familiar methods like
.push modify arrays in place instead of producing and new ones, and even when trying to "think immutable" it's easy to mess up and modify and existing data structure.
I do not share the outlook that CSS is over. I want a React UI library that shares this philosophy.