2015年11月4日 星期三

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

沒有留言:

張貼留言