用 Meteor 克隆了一个实时的 V2EX

2012-09-19 18:42:48 +08:00
 chuangbo
我很喜欢 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!!!!
7742 次点击
所在节点    Meteor
17 条回复
chuangbo
2012-09-19 18:58:55 +08:00
如果担心帐号密码安全,可以使用加密链接,全程都是 SSL 加密的

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

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

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

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

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

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

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

是啊,维护很难,让项目继续在社区的帮助下生长,更难。但是你成功的运营了 V2EX,难道这比运营 PB 的开发者社区还难吗 (´・_・`)

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

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

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

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

© 2021 V2EX