JavaScript 微信小程序开发和 Rails 开发的相似之处

kayakjiang · 2016年11月09日 · 最后由 kayakjiang 回复于 2016年11月10日 · 9302 次阅读

最近参照微信小程序的官方基础视觉样式库:https://github.com/weui/weui-design?t=20161107撸了一套微信小程序的 UI, 在练习的过程中体会到微信小程序开发和 Rails 开发有不少相似之处。

微信小程序和 Rails 程序的相似之处

Rails 程序

client-rails.png

在 Rails 程序中,客户端的请求 (request) 会到达对应的 Controller 实例,然后由这个 Controller 实例中的对应的 action 来处理请求, 处理后的数据会通过 render 方法响应给客户端。

微信小程序

view-appservice.png

在微信小程序中,View 对象发送事件 (event) 到对应的 Page 对象中,然后由这个 Page 对象中的对应的 event_handler 来处理事件, 处理后的数据会通过 setData 方法响应给 View对象。

微信小程序练习预览

代码在 https://github.com/baya/weui-base-guide-practice, 一共有 36 个页面,欢迎下载玩耍。

首页:

weiui-index

表单错误页面:

weiui-form-error

列表页面:

weiui-list

搜索中页面:

weiui-searching

不是听说要装 qq 浏览器么。

只要维护好 page store 以及每个 page 的 dataset,最后就是 wxml 了,单向数据流让页面渲染简单很多嘛

#1 楼 @hxgdzyuyi 在微信里面跑的,不需要浏览器,跑程序的环境是一个叫 jsCore 的东东

页面的脚本逻辑是在 JsCore 中运行,JsCore 是一个没有窗口对象的环境,所以不能在脚本中使用 window,也无法在脚本中操作组件

你所说的 rails 程序其实是后端 mvc 架构,

其实前端代码到了一定规模,就需要使用后端的一些实践,控制复杂度。

#5 楼 @u1440247613 是的,不过微信小程序去掉了 m, 这个 m 可以由程序员根据自身业务的复杂度来构造。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号