论坛首页 编程语言技术论坛

为什么没有java on rails——代码量少才是王道

浏览 23104 次
该帖已经被评为隐藏帖
作者 正文
   发表时间:2009-06-18  
night_stalker 写道
ray_linn 写道

我想现在即使再出现ruby orm框架,大家也会考虑尽量facade到AR里去,而不是象JDO与Hibernate那样差别巨大。


你这个需求比较奇怪,既要用新 ORM,又不能改代码 ……

正常来说没人会这么想的,大部分人一开始选好框架就不换了。想中途换 ORM 框架的,目的基本都是想要大量重构让代码变得 pp ……

我觉得新框架出现的原因是:这些人对 AR 的写法存在不满 ……

如果不是为了让代码写起来更 pp,我才不把 AR 换掉呢。


正解。

rails的强大不仅仅来自于它自身设计的优美,也来自于ruby提供的能力。由于后者,使得兼容多个orm不需要spring这样的东西。
出于同样的原因,哪个orm更优秀,除了非功能性的考虑(性能、稳定性。。),就是让代码更pp,单纯的facade AR,绝对是错误的想法。而且night_stalker前面说了,AR在ruby orm里其实挺土的。

在rails里把AR换到DM可能存在的问题是,某些UI helper依赖了AR的某些高级特性,而DM与之不兼容,导致这个helper不能用。这不是大问题,大不了不用,我一直主张只用必须的helper。我目前用的就是rails2.3+DM的组合,由于没用它做UI,至今为止没有发现任何问题。

rails3里的activemodel对几个主流orm又进行了抽象,我想可能是解决我前面提的那种情况,同时实现ruby orm部分功能和基础设施标准化。
1 请登录后投票
   发表时间:2009-06-18  
ray_linn 写道

新近的ORM代表有啥。。。。俺一直想C# 4.0之后,很有可能为C#其写一个AR,而不需要nhibernate.


Linq to SQL 不是很强么,和 Sequel 挺像的了。或许写一些辅助工具类强化它就很完美了。
0 请登录后投票
   发表时间:2009-06-18   最后修改:2009-06-18
night_stalker 写道
ray_linn 写道

新近的ORM代表有啥。。。。俺一直想C# 4.0之后,很有可能为C#其写一个AR,而不需要nhibernate.


Linq to SQL 不是很强么,和 Sequel 挺像的了。或许写一些辅助工具类强化它就很完美了。


以前被谣传LTS要被AEF消灭了,不过听说谣传又破了。。。
0 请登录后投票
   发表时间:2009-06-18  
liusong1111 写道
rails3里的activemodel对几个主流orm又进行了抽象,我想可能是解决我前面提的那种情况,同时实现ruby orm部分功能和基础设施标准化。


更正一下,activemodel目前的功能仅限于把AR的基础设施提取出来,并没有涉及其它orm。
而yehudakatz以前有篇博客,是想用它将各个ruby orm的接口统一化,现在看来有出入。
0 请登录后投票
   发表时间:2009-06-18  
ray_linn 写道

以前被谣传LTS要被AEF消灭了,不过听说谣传又破了。。。


AEF 是什么? …… 对这方面没什么了解。
0 请登录后投票
   发表时间:2009-06-18  
night_stalker 写道
ray_linn 写道

以前被谣传LTS要被AEF消灭了,不过听说谣传又破了。。。


AEF 是什么? …… 对这方面没什么了解。



ado.net entity framework,感觉上不如activerecord方便。
0 请登录后投票
   发表时间:2009-06-18  
花花公子 写道
楼主应该再探讨一下为什么java没有sinatra,pony,rest-client

sinatra我十分喜欢,restful & MVC web framework就应该那个样子。pony是它推荐的发送邮件的库,也很精巧。

night_stalker 写道
现在比较强大的第三方 ORM 有 Sequel,DataMapper …… 还有各种改造版本的 ActiveRecord。

不过 ActiveRecord 历史悠久,名声卓著,很少人用别的 ORM —— 但不说明其它 ORM 比 ActiveRecord 差,相反 ActiveRecord 的很多做法都算比较土的了 ……

专门用途的譬如连接 Kyoto Cabinet 或者 Couch 或者 DataStore 的小小 ORM 更多了。


似乎花花公子对sequel喜爱有加,期待有空给大家分享一下研究成果。

这些orm都支持切换不同类型的数据库,真实项目中不会有多少机会换,切换orm库的可能性更小了。

night_stalker有个小笔误,tokyo cabinet,最近一期《程序员杂志》有一篇文章介绍它了,确实很牛,就是资料太少,而且跟常规RDBMS有距离,需要更多实践上的引导,总之值得关注。tokyo cabinet、couch这种非RDBMS的东西在DM里都有adapter,切换到它们上面理论上说不需要改任何代码,再看看hibernate有这个能力不?


0 请登录后投票
   发表时间:2009-06-18  
嗨,有用Grails的没?和Ruby on rails比较一下
0 请登录后投票
   发表时间:2009-06-19  
不是流氓 写道
火星叔叔马丁 写道
不是流氓 写道

rails的维护成本要比java的高很多


你维护过几个rails项目? 和java相比成本高在哪里?
用数据说话 而不是臆想

不是流氓 写道

没有一成不变的系统,也没有一成不变的需求,能快速适应需求才是最好的


很好 还知道快速适应需求 那你说一个10w行代码的系统能快速应变 还是1w行代码的系统更能快速应变


我没维护过rails项目!但是rails的代码要比Java的难读,而且难跟。
rails不成熟的地方很多:rails没有成型的邮件系统,rails的ActiveResorce是吵的很火,功能却不然等等

我也没说Java就是好,也没说rails就是破,拿汉语实现了用户要的东西,一样能拿到钱!就是这个意思。

没有实践就没有发言权,连rails都没维护过,就不要作对比的说。。。
0 请登录后投票
   发表时间:2009-06-19  
rails的邮件系统,只要一行配置代码
引用

ActionMailer::Base.sendmail_settings = {
    :location       => '/usr/sbin/sendmail',
    :arguments      => '-i -t'
}
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics