「Meteor 开发体验分享」用 Meteor 做了一个文档管理工具

2012-04-28 13:25:55 +08:00
 chuangbo
http://dnspod-docs.meteor.com/

被难以置信的开发方式震惊了,于是花了一整天的时间,实践 Meteor,完成了一个内部共享管理文档的工具。
粗劣模仿了 Mou.app(双栏实时预览、Github 样式) 以及 nvAlt(Tag),还有 Meteor 的 Todos Demo。

重点是分享一下开发体验

# Meteor 开发体验
_本文基于 2012-04-28 0.3.3 Preview 版本_


## 特点

下面不是对官方文档的翻译,是来自我亲身经验。

用最通俗的话来说,Meteor 是一个一站式框架,本身基于 Node.js Mongodb Handlebar Underscore Backbone,但是用的时候完全不用关心,封装的很彻底。

我觉得他完全是新一代的 Web 开发体验,比 Restful + Backbone 的思想更进了一步。我猜测,Google Wave、Asana 这些私酿框架应该也是这个思路。

### 数据实时同步
Meteor create 默认创建的项目包含 autopublish 模块,当 Mongo 数据库的数据发生变化时,会推送到所有的客户端,进行「模板自动重渲染」

### 模版自动重渲染(Reactive)
渲染模板的「数据库数据」发生变化,模板自动重新渲染。这与「数据实时同步」结合,就实现了「实时」功能。

### 没有服务端代码
应该加上「几乎」。浏览器可以直接操作 Mongodb,加上「数据实时同步」,服务端只需要做 publish 就 OK 了。

### 代码发生改变浏览器自动重载
不论是开发环境还是生产环境,一旦任何 HTML、Template、CSS、JS 发生改变,客户端浏览器会自动 reload,并在 reload 前自动保存当前 Session,reload 后读出。给用户的感觉就是,看到页面刷新了,但是所有操作都还在。

### 浏览器直接操作 Model/DB
对我来说,这是最好的 Admin Console


## 目前的缺点
目前(_0.3.3_)缺点太多,只适合自己玩玩,写出来的代码没有想象中优雅。下面这些缺点,都是官方文档中用红字标明计划完成的。

### 浏览器直接操作 Model/DB
不解释

### 模板的 events 无法引用渲染的数据
在模板里,你找不到渲染模板的对象……所以一堆可恶的 Hack 不可避免的出现了。

### 事件流
由于模板各种自动重渲染,再加上 Backbone Router,事件流变得难以控制,难以调试。

- - -


_看着别人的修改在自己的浏览器上闪动,确实是很有成就感的事情。_

开发体验如果有更新,在 http://dnspod-docs.meteor.com/#Meteor/开发体验 可以看到。

请大家凶猛的回复吧,我需要铜币。。。゚゚(´O`)°゚

@chuangbo
11021 次点击
所在节点    Meteor
30 条回复
ivanlw
2012-08-27 00:27:46 +08:00
MarshallChen
2012-08-27 01:43:44 +08:00
Thanks!
chuangbo
2012-08-28 00:21:14 +08:00
@iloveyou Meteor 0.3.9 新增了一个模块用来临时解决这个问题,据说 Meteor.com 使用了这个新的模块以后,在各大搜索引擎搜索 meteor 都会是第一名了。

http://docs.meteor.com/#spiderable

这个模块依赖的 phantomjs,也是一个非常好玩的东西。
chuangbo
2012-08-28 00:27:35 +08:00
@iwinux 这个项目在一个月前获得了 1120 万美元的投资,已经来势汹汹了
kiancyc
2012-10-19 15:58:19 +08:00
@chuangbo 有啥Meteor的学习资料可以分享吗?
chuangbo
2012-10-22 12:58:07 +08:00
@kiancyc 中文的吗?没有,看文档吧。《程序员》约了我一篇 Meteor 的介绍,我已经拖了5个月了。。
cshcool
2012-10-22 15:47:20 +08:00
@ivanlw 好东西啊,只不过我现在用不上。。
yetone
2012-10-22 16:21:46 +08:00
@chuangbo 求资料,求经验,求教程。
chuangbo
2012-10-22 16:37:31 +08:00
@yetone 该项目的代码在 https://github.com/chuangbo/dnspod-docs ,这是我5个月前的第一个 Meteor 项目,代码质量非常差,不建议学习。
zzcflying
2012-10-22 17:33:21 +08:00
竟然是五个月前的。。。果然out了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/33961

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX