锁定老帖子 主题:Merb新闻和社区站点
该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-11-11
g.zhen.ning 写道 让我这个没有实际工作经验的失业者说几句我区分rails和merb,首先想到的就是:
1,Merb社区会否比Rails社区更开放,提供更多帮助? 之前都说过Rails core死活不肯实际一些东西,很多人都不爽这一点,并且如果大家看过Zed shaw这家伙的blog就会知道Zed抱怨了上万次Rails社区没对他提供过帮助是吧(据Zed称,DHH对mod_rails提供了不少),如果你的业务达到一定的程度,你自然而然会deept into他的core(核心),这时社区里的核心群体鸟都不鸟你的,在个人来说,肯定不好受是吧。 看merb的core成员的一些文章,我觉得他们极期大度 [援引Brainspl.at的一段话来证明他们有多大度: I wrote Merb for a reason, if Merb’s philosophies agree with your tastes then great, use Merb. If Rails is your thing then that’s great too! We do not need a monoculture] 一种语言好不好,内部的实现我觉得还不是根,根本是背后的人,到底有多少有能力的人在为他添枝加叶。比较一种语言,我觉得非常有必要加上他的社区支持。 2,既然Merb是不满于raisl的一些东西,那么肯定是有它的长处(至少在作者自身看来)。 这不是一个好的理由。虽然集思广益在通常情况下是好的主意,但是太照顾所有用户的需求,而不进行必要的取舍甚至拒绝的话,那软件最终会变成一个庞大的怪物,今天的Springframework就是一个明证。所以我不觉得Rails core team独裁一点会对Rails项目的前景产生不好的影响。毕竟DHH还在开发和运营37signals的web软件,团队没有脱离实际开发,那么他拒绝很多东西也不见得就是性格孤傲,更可能有更多的考虑因素在内。 |
|
返回顶楼 | |
发表时间:2008-11-11
robbin 写道 g.zhen.ning 写道 让我这个没有实际工作经验的失业者说几句我区分rails和merb,首先想到的就是:
1,Merb社区会否比Rails社区更开放,提供更多帮助? 之前都说过Rails core死活不肯实际一些东西,很多人都不爽这一点,并且如果大家看过Zed shaw这家伙的blog就会知道Zed抱怨了上万次Rails社区没对他提供过帮助是吧(据Zed称,DHH对mod_rails提供了不少),如果你的业务达到一定的程度,你自然而然会deept into他的core(核心),这时社区里的核心群体鸟都不鸟你的,在个人来说,肯定不好受是吧。 看merb的core成员的一些文章,我觉得他们极期大度 [援引Brainspl.at的一段话来证明他们有多大度: I wrote Merb for a reason, if Merb’s philosophies agree with your tastes then great, use Merb. If Rails is your thing then that’s great too! We do not need a monoculture] 一种语言好不好,内部的实现我觉得还不是根,根本是背后的人,到底有多少有能力的人在为他添枝加叶。比较一种语言,我觉得非常有必要加上他的社区支持。 2,既然Merb是不满于raisl的一些东西,那么肯定是有它的长处(至少在作者自身看来)。 这不是一个好的理由。虽然集思广益在通常情况下是好的主意,但是太照顾所有用户的需求,而不进行必要的取舍甚至拒绝的话,那软件最终会变成一个庞大的怪物,今天的Springframework就是一个明证。所以我不觉得Rails core team独裁一点会对Rails项目的前景产生不好的影响。毕竟DHH还在开发和运营37signals的web软件,团队没有脱离实际开发,那么他拒绝很多东西也不见得就是性格孤傲,更可能有更多的考虑因素在内。 我有一次非正式的内部评估merb,没看出来它的价值在哪里。 性能。用多线程的方式来提高单个mongrel实例的负载能力,我不理解这样做的好处是什么。有意义的是整个服务器的负载能力以及水平可扩展性,如果mongrel实例本身会成为负担那么用fastcgi部署好了。 持久层的可选择性。在我看来就是白白多交复杂税而没有收益。如果真的需要比ActiveRecord更复杂的持久化机制,那也不需要yet another framework,完全可以并且应该以standalone library+rails plugin的方式来实现。RHibernate的动议到现在快两年了,实际的事情我看还是没人去做。 controller。我赞同return view_name的方式比render view_name and return要更合理。但这个decision带来的收益少少,(从Rails迁移的)成本却多多,怎么说服我要去做这个迁移? 简而言之怎么看怎么像一帮人气忿之下的针锋之作:Rails独裁我就要大度,Rails这样我就要那样,总之要处处显出比Rails强。 但我需要的不是一个处处都能把Rails比下去的框架,而是一个让投资产出比最大化的框架。 |
|
返回顶楼 | |
发表时间:2008-11-11
robbin 写道 这不是一个好的理由。虽然集思广益在通常情况下是好的主意,但是太照顾所有用户的需求,而不进行必要的取舍甚至拒绝的话,那软件最终会变成一个庞大的怪物,今天的Springframework就是一个明证。所以我不觉得Rails core team独裁一点会对Rails项目的前景产生不好的影响。毕竟DHH还在开发和运营37signals的web软件,团队没有脱离实际开发,那么他拒绝很多东西也不见得就是性格孤傲,更可能有更多的考虑因素在内。
最终目的是正确取舍,达到设计上的合理性. 开放和独裁是文化上的平衡,文化之上还要看人,人的能力决定开放是否导致冗杂,独裁是否导致专断. 就我目前对merb的了解,除了更先进,还没有多少冗杂.反倒是rails给我一些专断的感觉. |
|
返回顶楼 | |
发表时间:2008-11-11
最后修改:2008-11-11
gigix 写道 持久层的可选择性。在我看来就是白白多交复杂税而没有收益。如果真的需要比ActiveRecord更复杂的持久化机制,那也不需要yet another framework,完全可以并且应该以standalone library+rails plugin的方式来实现。RHibernate的动议到现在快两年了,实际的事情我看还是没人去做。
merb本来就是ORM-agnostic的,配置一行use_orm :activerecord就能用它. DataMapper只是另一个持久化库,本来就个standalone library(gem),再装个adapter式的gem merb_datamapper就能用到merb里了. 我前面不该把DataMapper扯到merb讨论里. |
|
返回顶楼 | |
发表时间:2008-11-11
robbin 写道 看了这篇文章,对Merb兴趣更浓厚了,从这篇博客的介绍来看,Merb有如下优点: 1、merb有一个slice的概念,从django的模块化概念借鉴而来,可以在多个web项目之间进行代码的共享和复用,这个功能非常好!而且是目前Rails所不具备的功能,这个功能在大规模团队的应用开发当中会很有用。 2、承诺保持public API的稳定性,即使更新,也会保持好的文档描述。这又是一个Rails的软肋。 3、比Rails轻便,节省内存、性能更好 4、Matz的最爱。说Matz更喜欢merb不自己造DSL的做法(Matz言下之意显然是不爽Rails的DSL扩展了ruby的语法) 其实我对slice很感兴趣,这个非常好,OK,有空的时候看看merb。 1: Slice 的确不错,这个概念和 django 的 installed_app 好像是一样的, 不知道 merb 有没有 project 的概念,还是把 application 等同于了 django 的 project. 2: “承诺保持public API的稳定性” 是不是就是类似于 eclipse 的 published API 啊。 这两点的确就值得让我去看看 merb 了。 |
|
返回顶楼 | |
发表时间:2008-11-11
merb看起来挺好的,起码可以促进和Rails的良性竞争,推动Rails框架更好的改进。不过看起来目前文档确实缺失的很厉害,我个人决定等merb文档完善一些了再看merb,光看源代码,还是有些浪费时间。
|
|
返回顶楼 | |
发表时间:2008-11-11
gigix 写道 controller。我赞同return view_name的方式比render view_name and return要更合理。但这个decision带来的收益少少,(从Rails迁移的)成本却多多,怎么说服我要去做这个迁移?
没有必要迁移现有工程. 我个人意见,rails团队在开发新产品时,可以考虑用merb. rails知识不会丢掉,还能进一步提高生产效率. 当然这里会有很多方面的权衡. gigix 写道 简而言之怎么看怎么像一帮人气忿之下的针锋之作:Rails独裁我就要大度,Rails这样我就要那样,总之要处处显出比Rails强。
但我需要的不是一个处处都能把Rails比下去的框架,而是一个让投资产出比最大化的框架。 我不认为只是风格上的差异和追求另类,而是实实在在的超越. 比如: 关于重用partial的一个问题 http://www.iteye.com/topic/219763 merb用part就能优雅的解决. 为什么rails把render_component移除,却没有提供替代品? 我觉得就是内部结构引发的功能性障碍. |
|
返回顶楼 | |
发表时间:2008-11-11
最后修改:2008-11-11
引用 这其中有些入rubyInline明显不能在Windows上面跑嘛。看来在Windows上面还真不受人待见。
已经支持windows了,merb-action-args依赖它,我前两天写的merb程序在家里windows上能跑得挺好. merb也可以单个单个gem定制安装,我没试过: 引用 gem install merb --ignore-dependencies gem install ... |
|
返回顶楼 | |
发表时间:2008-11-11
robbin 写道 不过看起来目前文档确实缺失的很厉害,我个人决定等merb文档完善一些了再看merb,光看源代码,还是有些浪费时间。
讲Merb的第一本书是年底会出的小册子:http://www.amazon.com/Merb-What-Need-Know-Firstpress/dp/1430218657 此外,明年年中大概会出两本:Apress的Beginning Merb,Manning的Merb in Action。 |
|
返回顶楼 | |
发表时间:2008-11-12
liusong1111 写道 已经支持windows了,merb-action-args依赖它,我前两天写的merb程序在家里windows上能跑得挺好. 支援mysql嗎 有do_sqlite3-0.9.6-x86-mswin32-60.gem 而mysql只有do_mysql-0.9.6.gem沒有mswin版本 |
|
返回顶楼 | |