总结
我们将从两方面总结这门 Cycle.js 基础课程。
我们学到了什么?
- 在 Cycle.js 中,
main()
保存了纯逻辑,各个 driver 则服务于副作用。通过Cycle.run
方法,二者被联通在一起,并且构成了一个圆环,这也是 Cycle.js 名字的由来。main()
返回的 sinks 是一个写副作用(write effects),main()
接收的 sources 则是一个读副作用(read effetcs)。 这实际上完成了一个 IO,sink 为输出, sources 为输入。 - 通过滑块组件 -- LabeledSlider,我们也学会了如何在 Cycle.js 中编写和使用组件。当组件嵌入到
main()
方法中进行使用时,sources 和 sinks 不只反映了 IO 副作用,也描述了组件各层级间的消息通信。 - 我们也发现了,在 Cycle.js 的世界里,任何事物都被描述成了一个 流,这从我们大量后置了美元符号
$
的变量中就可以看出。 - 我们使用 Hyperscript 来撰写UI,这意味着不需要模板引擎进行编译了。并且,我们仍然能获得来自编辑器的自动完成或者语法高亮功能。
我们还需要学习什么?
- 抛弃 jsbin,使用 Webpack、npm 进行前端工程化开发,以构建更大型的应用。
- 学习如何创建动态列表,相较于其他框架,Cycle.js 创建动态列表有点不一样。
- 学习服务端渲染(SSR),这在 Cycle.js 中很容易做到,因为它是非常函数式的。
- 学习如何在 Cycle.js 进行测试,由于
main()
是非常纯的,测试将受益于此。