首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Meteor Official Site
http://www.meteor.com/
Follow @meteorjs on Twitter
V2EX  ›  Meteor

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

  •  
  •   chuangbo · 2012-04-28 13:25:55 +08:00 · 9569 次点击
    这是一个创建于 2782 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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
    30 回复  |  直到 1970-01-01 08:00:00 +08:00
        1
    iwege   2012-04-28 13:27:04 +08:00
    给铜币。
        2
    wong2   2012-04-28 13:31:57 +08:00
    感谢楼主
        3
    zhendi   2012-04-28 13:34:38 +08:00
    楼主你可以提交到这里: http://madewith.meteor.com/
        4
    ksword   2012-04-28 14:27:44 +08:00
    右边实时预览很赞
        5
    kokdemo   2012-04-28 14:41:18 +08:00
    好东西,给铜币
        6
    Kenyth   2012-04-28 15:15:42 +08:00
    赞,写的真的不错:)
        7
    chuangbo   2012-04-28 21:27:50 +08:00   ♥ 1
        8
    kojp   2012-04-28 21:30:34 +08:00
    我也是来给铜币的。。。
        9
    Livid   V2EX Moderator   2012-04-28 21:34:19 +08:00
    赞,如果要在目前加入登录和权限分级控制,你的思路会是怎样的呢?
        10
    huyipeng   2012-04-28 21:44:29 +08:00
    必须给铜币啊!!!
        11
    raecoo   2012-04-28 21:47:51 +08:00
    效果真是相当的震撼, 感谢楼主分享实例
        12
    leecade   2012-04-28 22:56:14 +08:00
    @chuangbo 开源吧

    藉此开始学习Meteor
        13
    xinkiang   2012-04-28 23:31:29 +08:00
    cool ! 给楼主加铜币
        14
    quix   2012-04-29 23:38:33 +08:00
    很有意思的东西, 已经在尝试了 , 目前感觉最大的问题还是安全问题
        15
    j   2012-04-30 00:11:53 +08:00   ♥ 1
    @Livid meteor团队正在开发用户权限的部分,github里有一个分支可以看到。

    没人对live html(自动重渲染)的行为表示诡异么,就好比模版上的一个变量一直在自更新啊,这在其他前端环境下,简直是低级错误啊。在这个环境下倒成了捷径。
        16
    chuangbo   2012-05-02 08:28:57 +08:00   ♥ 1
    @j @Livid 看到官方 twitter 转推了这篇文章
    http://britto.co/blog/security_with_meteor
        17
    loddit   2012-06-24 00:49:46 +08:00
    来给铜币
        18
    liliang13   2012-08-25 23:53:06 +08:00
    还要铜币么。。。。。
        19
    iloveyou   2012-08-26 11:09:58 +08:00
    seo怎么做
        20
    iwinux   2012-08-26 22:26:56 +08:00
    我彻底的 out 了,最近才听说这个东西,而这个帖子居然是 4 个月前的……
        21
    ivanlw   2012-08-27 00:27:46 +08:00
        22
    MarshallChen   2012-08-27 01:43:44 +08:00
    Thanks!
        23
    chuangbo   2012-08-28 00:21:14 +08:00   ♥ 1
    @iloveyou Meteor 0.3.9 新增了一个模块用来临时解决这个问题,据说 Meteor.com 使用了这个新的模块以后,在各大搜索引擎搜索 meteor 都会是第一名了。

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

    这个模块依赖的 phantomjs,也是一个非常好玩的东西。
        24
    chuangbo   2012-08-28 00:27:35 +08:00
    @iwinux 这个项目在一个月前获得了 1120 万美元的投资,已经来势汹汹了
        25
    kiancyc   2012-10-19 15:58:19 +08:00
    @chuangbo 有啥Meteor的学习资料可以分享吗?
        26
    chuangbo   2012-10-22 12:58:07 +08:00
    @kiancyc 中文的吗?没有,看文档吧。《程序员》约了我一篇 Meteor 的介绍,我已经拖了5个月了。。
        27
    cshcool   2012-10-22 15:47:20 +08:00
    @ivanlw 好东西啊,只不过我现在用不上。。
        28
    yetone   2012-10-22 16:21:46 +08:00
    @chuangbo 求资料,求经验,求教程。
        29
    chuangbo   2012-10-22 16:37:31 +08:00
    @yetone 该项目的代码在 https://github.com/chuangbo/dnspod-docs ,这是我5个月前的第一个 Meteor 项目,代码质量非常差,不建议学习。
        30
    zzcflying   2012-10-22 17:33:21 +08:00
    竟然是五个月前的。。。果然out了。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4527 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 28ms · UTC 06:10 · PVG 14:10 · LAX 22:10 · JFK 01:10
    ♥ Do have faith in what you're doing.