core.async
ClojureScript 比较成熟. 期待 ReasonML.
if
, switch
, for
以往复用样式通过 CSS 选择器, 基于优先级, 复杂应用当中较难维护.
现在可以借助 (merge base-styles extend-styles)
函数进行抽象, 生成 inline styles. 不能覆盖伪类.
更加激进的方案, 通过编译器直接将 inline styles 编译成基于 CSS 选择器的 HTML 代码.
需要复用的组件尽量将状态存储在组件外部.
组件不包含状态, 可预测性更好, 更加可靠.
对立面: 面向对象, 拷贝的状态, 通过事件同步.
遵循 MVC, 将共享的数据和状态从组件抽离出来.
单向数据流!!!
分离成 Action 和 Dispatcher 的概念. (解耦?)
整个模型和 Elm 相似, 我认为 Elm 提供的方案更为清晰一致.
渲染 virtual DOM tree 的巨大开销. 引入 shouldComponentUpdate
方法用于优化.
对比 data tree 的开销. 引入 Immutable data 类型用于优化.
Clojure Persistent Data Strucure: 结构复用, 通过引用预判是否一致.
缓存. 引用透明!!!
纯函数, 最小化依赖.
initial-store
, actions-record
推导出 StoreReact 对 Immutable Data 的使用很蹩脚, 门槛不低, 方案来源于 ClojureScript 而且更纯粹. ReasonML 佐证.
React 对副作用限制不够严格, 基于 ClojureScript 设定更严格的限制.
React 对于 Component Local State 的抽象不足, 打算自行设计更为清晰的方案用于管理状态, 以便更好地服务于热替换.
JavaScript is a chaos.
Table of Contents | t |
---|---|
Exposé | ESC |
Full screen slides | e |
Presenter View | p |
Source Files | s |
Slide Numbers | n |
Toggle screen blanking | b |
Show/hide slide context | c |
Notes | 2 |
Help | h |