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.
Knowledge does not come from nothing. It can only come from reason, from experimentation, or from preexisting knowledge. Yet throughout the history of our civilisation, those in positions have power have claimed access to greater versions of knowledge, whether through divine revelation, or through being "like, really smart."
I recently rebuilt my personal website on KeystoneJS and immediately fell in love with it. I think it's for the following reason: Keystone has successfully married NoSQL with the basic concept of the CMS.
As soon as I started to use Git I recognized that I would never look at a folder the same way again.