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

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

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

    java web开发的框架很多,但都专注于J2EE分层结构的某一层,比如展示层的struts/jsf;业务层的spring/guice;数据层的 hibernate/ibatis等。J2EE充血模型项目追求业务层的独立,追求框架的低侵入性,在业务层不变的情况下,随便更换数据层或展示层被认为 是灵活性较高的设计,也是很多项目追求的目标。


    但rails则追求完全不同的目标——开发快、代码少。事实上rails的业务代码对 ActiveRecord是高度依赖的,所有业务类都必须显示的继承ActiveRecord::Base类。在这种情况下,维持业务类的框架中立是不可能的。我们没有办法在保持业务类基本不变的情况下改用另外一个ruby写的持久框架。从java的角度看,这是非常愚蠢的行为,是已经被EJB2.0证明了的垃圾实践。

    我觉得java中所谓的业务层中立根本就是个扯淡需求,是一个被过分夸大了的小概率事件。实际项目中几乎没有看到更换持久层框架和展示层框架这种事的(如果真的换也跟重写差不多了),但实际中却有百分之60%甚至更多的项目对这种1%都 不到的小概率需求提供支持。我觉得开发快、应变快是web开发的终极目标,而所谓的业务层中立只是为了实现这一目标的“手段”,而 java的开发现在就是错误的把“手段”当成了“目的”,在追求“手段”完美的过程中迷失了方向。J2EE刚开始以所谓企业级为目标,唯恐摊子铺的不够 大,唯恐不够复杂,拍脑袋居多,严重脱离实践,充满了过度设计,是造成现在这种状况的罪魁祸首。更可恶的是他还限制了我们的思想,在开发中把这一切视为天经地义的,把所有人套在了过度设计当中,即使是天才的Spring/Hibernate也是在J2EE的框架内思考问题。而rails则是从另外一个角度思考,找到了另外一种釜底抽薪的甚至是简单的可笑的“手段”——代码少。是啊,代码少当然写得快,当然改的也快,我们咋就没想到呢?

   发表时间:2009-06-18  
我认为各有各的好处,java分的比较细,而且模块间独立性较强,这给以后二次开发或者说维护带来了方便

rails的维护成本要比java的高很多
没有一成不变的系统,也没有一成不变的需求,能快速适应需求才是最好的~
0 请登录后投票
   发表时间:2009-06-18  
明明是代码量少、不用编译的容易维护。

另外 Rails 换持久层框架是很简单的。所谓耦合,就是类型依赖,如果完全动态,根本就没“耦合”这个概念了 ……

Rails 的缺点也不少,譬如有很多地方有 JEE 风格搞得比较笨重,不过 Rails 3 正在重构很多代码,变得更 Ruby。
0 请登录后投票
   发表时间:2009-06-18   最后修改:2009-06-18
night_stalker 写道
明明是代码量少、不用编译的容易维护。

另外 Rails 换持久层框架是很简单的。所谓耦合,就是类型依赖,如果完全动态,根本就没“耦合”这个概念了 ……

Rails 的缺点也不少,譬如有很多地方有 JEE 风格搞得比较笨重,不过 Rails 3 正在重构很多代码,变得更 Ruby。



依赖于activerecord也是种“耦合"吧,假如出了activerecord外还有什么ruby-hibenrate之类的,


rails和microsoft走的不就是同一条路子么,即一篮子解决方案,从实践证明,这是效率最高的开发方式。
0 请登录后投票
   发表时间:2009-06-18  
火星叔叔马丁 写道
引用
依赖于activerecord也是种“耦合"吧,假如出了activerecord外还有什么ruby-hibenrate之类的,


rails和microsoft走的不就是同一条路子么,即一篮子解决方案,从实践证明,这是效率最高的开发方式。



有啊 merb就有自己的orm dm, rails3中 ar和dm都是可选的
别有事没事就那MS说事 lz说的问题和MS没一毛钱关系 和你倒有5毛钱关系



你说的还不就是一回事,毕竟它还是rail框架的一篮子方案,(虽然合并自merb),如果第三方的orm如j2ee一样发达,比如ejb3, jdo, hibernate,各足鼎立,还不是照样得出spring解耦合。


rails好就好在它和ms的东西一样,自己能说了算,一篮子方案。至于我爱说什么还轮不到你来说三道四。
0 请登录后投票
   发表时间:2009-06-18   最后修改:2009-06-18
火星叔叔马丁 写道
不是流氓 写道

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


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

不是流氓 写道

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


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


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

我也没说Java就是好,也没说rails就是破,拿汉语实现了用户要的东西,一样能拿到钱!就是这个意思。
0 请登录后投票
   发表时间:2009-06-18  
现在比较强大的第三方 ORM 有 Sequel,DataMapper …… 还有各种改造版本的 ActiveRecord。

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

专门用途的譬如连接 Kyoto Cabinet 或者 Couch 或者 DataStore 的小小 ORM 更多了。
0 请登录后投票
   发表时间:2009-06-18   最后修改:2009-06-18
night_stalker 写道
现在比较强大的第三方 ORM 有 Sequel,DataMapper …… 还有各种改造版本的 ActiveRecord。

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

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



俺想问的在rails里把activerecord改成别的orm是否是很easy捏?当然不是那些脱胎自activerecord的进化版
0 请登录后投票
   发表时间:2009-06-18  
不是流氓 写道

我没维护过rails项目!但是rails的代码要比Java的难读,而且难跟。


其实批评者基本都不懂,纯粹来凑热闹。
0 请登录后投票
   发表时间:2009-06-18  
火星叔叔马丁 写道

 

 

拜托 拍砖也要往脑门上砸啊 是对手脑门 而不是自己脑门

好像我在抨击rails似的

0 请登录后投票
论坛首页 编程语言技术版

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