//
Elm 语言开发微信小程序
http://cn.yjpark.org/blog/2017/01/15/elm-with-wechat-app/
如果你对于 Flux,Redux,有过了解的话,基本上也已经了解 Elm 架构了,它们的设计都受到了 Elm 的很大影响,基于同样的理念。
接到任务时的第一反应是照着教程用最简单的方式尽快出个 Demo 就好了,一切都按照官方文档来,尽量不引入外部依赖。实际上手才发现没那么简单,官方没有提到任何对数据的管理方式,纯手写逻辑又太不可控,考虑是否引入 Redux 这样的框架,以前 nodejs 用过的 async 库比较大,引入了一个支持 waterfall 的 weachy,再加一个消息转发的 postal,附带着又带进来 lodash, 这样下来依赖也越来越多,而且还是很重的拼凑的感觉,有入坑的预感。
于是用了一个周末的时间尝试了 Elm 方案,效果出乎意料的好,依赖全部删掉,重写了部分核心功能,直觉上是个正确的方向,后来搞定了微信接口的封装,又解决了行为串联,和子模块组织的设计之后,开发效率开始上来了,质量上比之前的 JavaScript 版本则是质的提高。