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

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

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

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

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

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

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