Be predictable, not correct. by Pete Hunt (from Instagram)

Pete Hunt from Instagram Web Team. **What makes UI hard?** 最難的是管理所有使用者的狀態 ( state ),更可怕的是隨時間改變的狀態。然後 Unit Test 不能完全測試 UI 的所有情況 ( 太多例外 )、靜態分析 ( JSLint / JSHint ) 也不行。因為這樣的複雜度,我不曾試著讓 UI 完全正確。我只是試著讓 UI 變得可預測。 Two silver bullet: 1\. Composition: 讓簡單的 function 組合成更大的 function。 2\. Idempotence: 讓每次同樣的 Input 得到同樣的 Output。不變性 ( Immutability ) 的資料結構讓我免費得到 Idempotence。努力讓 mutable state 的數量越少越少,mutable state只有一個owner。 React.js 讓工程師照著上面的兩個規則。 React 是 宣告式的 ( declarative ) JQuery。 ** ****React**  > Data 輸入 => virtual DOM 輸出。  > 當資料改變的時候,就整個重繪,所以少掉很多 State。 **Demo Example (從15- 分)** Demo on jsfiddle.net jsbin.com 一直在看Code