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

用 Meteor 克隆了一个实时的 V2EX

  •  
  •   chuangbo · 2012-09-19 18:42:48 +08:00 · 7724 次点击
    这是一个创建于 4455 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我很喜欢 V2EX,一直想在团队内部搭建一个,方便积累知识,但是 @Livid 迟迟不开源 PB3,也因为程序员杂志的一篇约稿,我继续实践 Meteor,山寨了 V2EX 的一小部分功能。

    只实现了节点、主题、回复功能,唯一的改动就是支持了单主题多节点(感谢 Mongodb),当然还有实时(感谢 Meteor

    因为是我们内部使用的,没有实现帐号系统,只能用 DNSPod 帐号登录。

    相比上次的分享的是,Meteor 修复了不少 Bug,写起来不需要那么多 Hack 了,但是依然存在许多问题,比如刷新偶尔非常慢,数据很久都载入不出来,但是删掉右侧栏就好了。。

    大家感兴趣可以试试,有任何关于 Meteor 的问题我都很乐意与大家讨论。

    http://dnspod-bbs.meteor.com/t/cf0737d1-e4b6-4409-8c30-c4c595f9f235

    最后,感谢 @Livid 和他的 V2EX!!!!
    17 条回复    1970-01-01 08:00:00 +08:00
    chuangbo
        1
    chuangbo  
    OP
       2012-09-19 18:58:55 +08:00
    如果担心帐号密码安全,可以使用加密链接,全程都是 SSL 加密的

    https://dnspod-bbs.meteor.com/
    lyping
        2
    lyping  
       2012-09-19 19:17:38 +08:00
    用的什么技术呢?会开源么?
    keakon
        3
    keakon  
       2012-09-19 19:22:03 +08:00
    刷新整个网页的体验不太好,弄成局部的吧……
    chuangbo
        4
    chuangbo  
    OP
       2012-09-19 19:23:47 +08:00
    @lyping http://www.meteor.com ,一个非常新颖的 Full Stack 开发框架
    我在这里写过一篇介绍 /t/33961
    chuangbo
        5
    chuangbo  
    OP
       2012-09-19 19:24:26 +08:00
    @lyping 这就去开源,期待有人 Fork 出带帐号的版本
    chuangbo
        6
    chuangbo  
    OP
       2012-09-19 19:28:08 +08:00
    @keakon 是的,应该是 Reactive 的问题,应该是把模板弄分散一些,尽量减少重绘的范围。
    我们网站用 Backbone 处理这样的事情就不会闪,我猜测是 Meteor 重绘逻辑有问题,他可能是一上来就先删掉,完了再重绘上去。我们的实际经验是,如果在重绘前的最后一刻再删掉原始Dom,浏览器快到根本看不到闪烁。
    lyping
        7
    lyping  
       2012-09-19 19:51:14 +08:00
    配合 http://dnspod-docs.meteor.com/ 应该可以给小团队用用了。
    plan9
        8
    plan9  
       2012-09-19 20:06:27 +08:00
    @chuangbo 查了一下,meteor貌似用了websocket了吧,是不是有好多浏览器运行不了?
    lemolee
        9
    lemolee  
       2012-09-19 20:58:41 +08:00
    Vanilla forums 其实也挺好的,插件很多,用起来还是不错的,比如 http://www.howvps.com
    leecade
        10
    leecade  
       2012-09-20 00:50:00 +08:00
    @chuangbo

    刷新 https://github.com/chuangbo 未找到开源项目
    chuangbo
        11
    chuangbo  
    OP
       2012-09-20 17:52:56 +08:00
    @keakon 解决了刷新闪烁的问题,没有分离模板,用了 Template.myTemplate.preserve 和 {{#onstant}},现在刷新依然不是局部刷新,但是视觉上已经不闪烁了,如果有性能问题,就需要看看怎么修改为局部刷新了。

    目前的问题是,第一次打开页面,会反复 Load 很多次才是最后的结果,这个肯定是 Meteor 的问题了。我在想想怎么做一个 Loading,像 @loddit 做的那样 /t/40373 ,我看了他的代码还没找到实现的方法
    ryon
        12
    ryon  
       2012-09-20 18:10:00 +08:00
    如果不考虑语言的话,可以考虑下anwsion:)我们也在用dnspod的服务
    Livid
        13
    Livid  
    MOD
       2012-09-20 18:15:50 +08:00
    Good!
    chuangbo
        14
    chuangbo  
    OP
       2012-09-20 19:03:44 +08:00   ❤️ 1
    @lyping @leecade 已经开源了 https://github.com/chuangbo/meteor-bbs

    @Livid 以前的克隆者最后都和你吵的不可开交,看到这个回复我实在太开心了。帮忙看看 Readme 里面有什么不恰当的地方。谢谢你和PB3和V2EX!
    Livid
        15
    Livid  
    MOD
       2012-09-20 19:04:30 +08:00
    刚刚在设备上试了一下(iOS 6 / iPhone 4),首页没有帖子?
    Livid
        16
    Livid  
    MOD
       2012-09-20 19:07:53 +08:00
    @chuangbo 我不记得我和任何人吵过。只是对有些用了别人的东西却决不承认的项目觉得恶心而已。

    开源一个东西并且一直维护下去是一件很有难度的事情。

    如果不仅维护下去,甚至还能让项目继续发展的话,目前在中文项目几乎没有成功先例,也不知道是为什么。

    为开源产品设定一个大部分用户都会需要的 feature set 恐怕是最难的部分。
    chuangbo
        17
    chuangbo  
    OP
       2012-09-20 19:19:24 +08:00
    @Livid 第一次打开比较慢,因为 Meteor 服务器不快,并且要下载很多数据缓存到浏览器。如 #11 所说,我还没有找到加 Loading 的方法。

    是啊,维护很难,让项目继续在社区的帮助下生长,更难。但是你成功的运营了 V2EX,难道这比运营 PB 的开发者社区还难吗 (´・_・`)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2593 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 06:17 · PVG 14:17 · LAX 22:17 · JFK 01:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.