锁定老帖子 主题:Merb新闻和社区站点
该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-11-10
看问题的角度不同...看到的东西也不同...
merb的代码风格以及内部实现对于rails程序员有吸引力么?我看未必,况解rails早已不是一个人在作了,我们公司已经为rails框剪贡献了不知道多少补丁.(其中就包括我 :-)) 这些都是因为大家在具体项目中碰到了具体的问题,解决后提交给rails作为一个普遍适用的解决方案,所以我在碰到问题的时候才会去看一下rails的具体实现,更多时候是思考问题本身.记得去年shanghaionrails第三次聚会,一个演讲主题就是关于merb,当时的现状是rails程序员难找,merb的就更加难了...现在呢? 我推测merb的作者在创建之初,可能为了两个目的,第一是证明自己(无可厚非),其二是为了解决某些特定的问题,而这些问题是rails不能或者没有做得很好的...所以如果要研究merb,真得要明白到底当初作者遇到了什么问题... 而现在要面对的问题是,merb究竟是要吸引rails程序员倒戈?还是吸引更多的初级/入门程序员开始用ruby来作web开发并有可能产生更多的人才积累?就这一点,上面说道了,merb做得并不友好,rails稍微强一点,而就我观察,目前作rails的人,仍然需要把rails用的更好,没有作rails/merb的人,最好的选择仍然是rails. 好吧,开始"不讲道理,只摆事实",我喜欢快客王的关于什么是"干货"的定义. -------------------------------------------------- 干货指实实在在的,没有水分的,形容有真材实料 有一很著名的翻译: http://upload.mop.com/user/2005/09/22/0535d579.jpg -------------------------------------------------- 我们公司里面有项目组用merb作了东西,可惜我没有参加,所以没有merb实际的项目经验,但是我手头上一个项目,需要处理用户大批量数据上传,而我们用的服务器结构是经典的nginx+mongrel...一个大文件会塞住一个mongrel进程,于是项目组成员用merb开发了一个独立的套件用来处理文件上传,如果我没有记错的话是利用了merb的thread safe controller dispatch,可是后来发现问题的真正本质后...决定用flash客户端组建直接upload到S3...于是我们跟merb就说拜拜了. |
|
返回顶楼 | |
发表时间:2008-11-10
最后修改:2008-11-10
引用 merb的代码风格以及内部实现对于rails程序员有吸引力么?我看未必
举个例子? 引用 况解rails早已不是一个人在作了,我们公司已经为rails框剪贡献了不知道多少补丁.(其中就包括我 :-))
merb和rails都有社区. 引用 这些都是因为大家在具体项目中碰到了具体的问题,解决后提交给rails作为一个普遍适用的解决方案,所以我在碰到问题的时候才会去看一下rails的具体实现,更多时候是思考问题本身.
不错,框架的内部实现并不是程序员首要关注的,他们关注的,是如何解决问题. 但是,你们也给rails贡献过代码,说明修改内部实现也是有需求的. 更为重要的是,在外部表现趋于一致的情况下(实际外部表现上merb也比rails好很多),内部结构对于未来的发展起了至关重要的作用. 我把merb比喻成rails 3.0也是出于这个观点. 引用 记得去年shanghaionrails第三次聚会,一个演讲主题就是关于merb,当时的现状是rails程序员难找,merb的就更加难了...现在呢?
人员问题需要考虑,也很重要. 但需要将其与技术因素分开讨论. 我前面也没有将功能和性能夹杂起来讨论. 引用 我推测merb的作者在创建之初,可能为了两个目的,第一是证明自己(无可厚非),其二是为了解决某些特定的问题,而这些问题是rails不能或者没有做得很好的...所以如果要研究merb,真得要明白到底当初作者遇到了什么问题...
通过作者的博客应该有迹可循. 不过有这功夫,还不如小试一下呢,merb的水不深,种种揣测很快就能证实对还是不对. 引用 而现在要面对的问题是,merb究竟是要吸引rails程序员倒戈?还是吸引更多的初级/入门程序员开始用ruby来作web开发并有可能产生更多的人才积累?
瞅两眼merb是啥后,就很好做判断了. 引用 就这一点,上面说道了,merb做得并不友好,rails稍微强一点
哪一点? 引用 而就我观察,目前作rails的人,仍然需要把rails用的更好,没有作 rails/merb的人,最好的选择仍然是rails.
merb目前资料过少,从事的人也少. 初学者从rails入手比较好. 用rails的人,当然需要把rails用的更好. 但用开放的心态了解一门新技术也没错吧. 在"把rails用的更好"的路上,即使不用merb,也会得到大量启发的. 引用 我们公司里面有项目组用merb作了东西,可惜我没有参加,所以没有merb实际的项目经验,但是我手头上一个项目,需要处理用户大批量数据上传,而我们用的服务器结构是经典的nginx+mongrel...一个大文件会塞住一个mongrel进程,于是项目组成员用merb开发了一个独立的套件用来处理文件上传,如果我没有记错的话是利用了merb的thread safe controller dispatch,可是后来发现问题的真正本质后...决定用flash客户端组建直接upload到S3...于是我们跟merb就说拜拜了. 卡卡,大量文件上传的本质是... merb的本质是... |
|
返回顶楼 | |
发表时间:2008-11-10
liusong111 写道
merb目前资料过少,从事的人也少. 初学者从rails入手比较好. 用rails的人,当然需要把rails用的更好. 但用开放的心态了解一门新技术也没错吧. 在"把rails用的更好"的路上,即使不用merb,也会得到大量启发的.
这是merb的现状,不管是Rails还是merb都会给我们很多启发。liusong111比我走在前面,希望以后多交流。
|
|
返回顶楼 | |
发表时间:2008-11-10
sigh...
|
|
返回顶楼 | |
发表时间:2008-11-10
liusong指出Rails的内部API不稳定的确是个Rails讨厌的问题,每次版本一升级,很多底层API都改了,造成很多依赖插件和补丁被废。
不过现在比较Rails vs Merb 还是太早了,这两个框架都还没有发展到充分成熟的程度,过几年再PK吧。 其实我还是想知道Merb究竟有什么独到之处,听liusong的介绍,看来和Rails差不多,但是代码更干净、结构更紧凑和稳定、API细节更简洁。应该是这样吧? |
|
返回顶楼 | |
发表时间:2008-11-10
关于robbin说的,关于底层api都改的问题,
我倒是觉得rails可以提供一个migration的机制, 比如rake rails:update任务里头加入把你的代码 统统规则替换为新的api,其实就是重构的问题。 这样解决要比提供向后兼容的api要好很多.(其实我们 作过的都知道,提供向后兼容的api,不仅开发麻烦,而且 还限制新框架的发展和创造性). |
|
返回顶楼 | |
发表时间:2008-11-10
http://merbist.com/2008/11/09/merb-1-0-released/
这儿有"quickly look at why Merb is awesome",无论如何多一个强有力的竞争者对Rails来说都是一件好事,这篇文章里面还提到Matz的team正在开始优化Ruby的GC,Ruby前景越来越光明了。 |
|
返回顶楼 | |
发表时间:2008-11-10
让我这个没有实际工作经验的失业者说几句我区分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的一些东西,那么肯定是有它的长处(至少在作者自身看来)。 |
|
返回顶楼 | |
发表时间:2008-11-10
phoenix520 写道 http://merbist.com/2008/11/09/merb-1-0-released/
这儿有"quickly look at why Merb is awesome",无论如何多一个强有力的竞争者对Rails来说都是一件好事,这篇文章里面还提到Matz的team正在开始优化Ruby的GC,Ruby前景越来越光明了。 看了这篇文章,对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。 |
|
返回顶楼 | |
发表时间:2008-11-10
最后修改:2008-11-11
gem install merb 一下给我安装了40个gem,吓得我不轻呀!这模块化的程度也太高了,模块拆的也太细致了也。当然有些gem看着名字就挺不错。 D:\Download>gem install merb Successfully installed merb-core-1.0 Successfully installed ZenTest-3.11.0 Successfully installed RubyInline-3.8.1 Successfully installed sexp_processor-3.0.0 Successfully installed ParseTree-3.0.2-x86-mswin32-60 Successfully installed ruby2ruby-1.2.1 Successfully installed merb-action-args-1.0 Successfully installed merb-assets-1.0 Successfully installed merb-slices-1.0 Successfully installed merb-auth-core-1.0 Successfully installed merb-auth-more-1.0 Successfully installed merb-auth-slice-password-1.0 Successfully installed merb-auth-1.0 Successfully installed merb-cache-1.0 Successfully installed merb-exceptions-1.0 Successfully installed highline-1.5.0 Successfully installed diff-lcs-1.1.2 Successfully installed templater-0.3.5 Successfully installed merb-gen-1.0 Successfully installed haml-2.0.4 Successfully installed merb-haml-1.0 Successfully installed merb-helpers-1.0 Successfully installed mailfactory-1.4.0 Successfully installed merb-mailer-1.0 Successfully installed merb-param-protection-1.0 Successfully installed addressable-1.0.4 Successfully installed data_objects-0.9.6 Successfully installed dm-core-0.9.6 Successfully installed dm-migrations-0.9.6 Successfully installed merb_datamapper-1.0 Successfully installed merb-more-1.0 Successfully installed do_sqlite3-0.9.6-x86-mswin32-60 Successfully installed dm-timestamps-0.9.6 Successfully installed uuidtools-1.0.4 Successfully installed dm-types-0.9.6 Successfully installed dm-aggregates-0.9.6 Successfully installed dm-validations-0.9.6 Successfully installed randexp-0.1.4 Successfully installed dm-sweatshop-0.9.6 Successfully installed merb-1.0 40 gems installed 这其中有些入rubyInline明显不能在Windows上面跑嘛。看来在Windows上面还真不受人待见。 |
|
返回顶楼 | |