We saw a lot of different approaches to constructing apps in this book, but some of the big ideas were these:
Where does code run—on the client, a server, or a large cluster?
Composition—building up things from small pieces
Declaration over instruction—describing what to do, not how to do it
Let’s recap these key ideas and the frameworks that most embodied them.
Simplicity is a desirable attribute because the human capacity for reasoning about software seems both finite and remarkably limited. Simplicity is often achieved by minimizing or transforming a problem or by focusing on specific parts of a solution. We saw both strategies in this book.