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

我怎么就觉得rails适合做大型应用

浏览 104745 次
该帖已经被评为良好帖
作者 正文
   发表时间:2008-08-27  
liusong1111 太强大了,从半夜12点回帖到凌晨5点。。。。
而且把话题的来龙去脉理清的如此分明,看你的总结帖子就挺精彩的。

火星叔叔马丁的造句也很强大!我是边看边笑啊。哈哈。

我对ROR不了解,因此没参与讨论。不过对于1tian 提出的几个企业应用的基本要求不敢苟同:
1tian 写道

1. 你用Rails弹出一个有模窗口(做企业应用应该知道有模窗口),然后用鼠标拖动起来移动这个窗口。从这样窗口上选择一些数据然后再到主窗口上进行显示。
2.一个grid,有20列,屏幕显示不下。要求左边3行固定,剩余列用户可以根据需要左右滚动已能够全部显示。
3.一个窗口有两个控件,左边一棵树,右边一个gird,要求二者之间可以通过拖动来改变宽度,以适应数据的显示。

我觉得这样的风格很不好。不但会增加开发的复杂度,而且对于客户的业务需求没有任何直接的帮助。这些明明都是桌面GUI的元素,你非要把它们放到Browser中,我觉得是很不合适的。就算你有Javascript的高手成员,让他们去实现Swing类似的功能也是很浪费的。

简单就是美。一个页面如果只有固定的几个input和按钮,肯定比另一个能弹出若干页面,还有一堆鼠标点选功能的要受欢迎的多。让客户反映良好的项目,都是操作上非常简单的。

另外,你(指“1tian”)说的这3个要求,完全是Javascript或者Applet的内容,跟我们讨论的ROR无关啊。呵呵

用过一个OA系统,打开首页,密密麻麻的都是按钮,下拉单,可移动的小窗口。鼠标右键菜单也修改了。做得简直就是Web版的Client。但是用起来那叫一个复杂!随便搞一个操作都要在小窗口之间跳来跳去,而且响应速度超慢!点一个按钮都有半秒的延迟。跟纯HTML页面用起来差太多太多了。所以我觉得gigix说的非常到位:
gigix 写道

其实,我觉得,企业应用很多时候就不应该瞎搞web client
明明用的人都在一个楼一个内网里
明明有一大堆交互
偏要搞到浏览器里用,做的人累得要死,用的人慢得要死
真不知道是搞什么



7 请登录后投票
   发表时间:2008-08-27  
感谢liusong1111老兄的辛苦劳动,总结能力很强嘛,给大家提供了一个roadmap
0 请登录后投票
   发表时间:2008-08-27  
robbin 写道
ray_linn 写道
robbin 写道
ray_linn 写道
如果企业应用不需要web,不需要MVC,Rails有何用武之地?
在银行里,字符终端还是很盛行的。


你知道银行的字符终端系统用什么语言编写的吗?



当然知道,有专门的工具画,编程成C
俺这里还有无数的大型应用跑的就是黑白字符。


很好很强大!cobol程序员都被雷死了。



这个你不用被雷,事实如此。当年做我对面的小胖子专门负责画前台的黑白框。
0 请登录后投票
   发表时间:2008-08-27  
真奇怪。

就没人问问什么叫企业应用? 我们部门有个小page,放了几个link,算不算企业应用? 还是企业ERP系统才算企业应用?

企业应用的要求是什么? 是高吞吐?还是高鲁棒?还是超可维护。


光从某种论据开看,Django要比rails好多了,在高并发的状况下,Django的TPS要高出 rails 接近40%.
而Grails据说要快rails 3倍。
0 请登录后投票
   发表时间:2008-08-27  
liuqiang 写道
liping 写道
J2EE发展这么多年 比ROR更加成熟吧!在企业计算方面。j2EE的稳定性,成熟度,资源等等比ROR更好.ps..性能和维护更多的是有人的因素。

 

 稳定性,成熟度,资源,这也是J2EE最后的一块遮羞布,要比这些我更看好MFC,结果世道变了,MFC的稳定性,成熟度,资源已是昨日黄花。

 

最近校内采用rails+flex开发新的系统,我拭目以待,至于兼容性我想每个语言都有,相对于php从4-5,我觉得rails要好多了。

 

 

 

      还有一个是JAVA社区要比RUBY(ROR)社区大。MFC现在应该是小众了吧! 昨天 -今天 -明天 这是永恒的话题。语言也是,框架也是,明天的Ruby(ROR)或许就是今天的JAVA(J2EE)。现在的java包袱大多了!希望ROR不要有太多包袱(当然放下包袱快速行进的时候不要忘了兼容性)。贪心永远只是空想...没事十全十美的事。

0 请登录后投票
   发表时间:2008-08-27  
gigix 写道

ltian 写道
这里面的功能都以数据库记录增删该为主,简单界面工作量相对大,做简单WEB界面是Railde强项。
如果我让你做企业应用界面恐怕你就累死了,再让你用Rail实现电力、通信、银行的业务逻辑,恐怕也没那么容易了。
这个系统无法代表大型企业应用,只能代表论坛类网站的开发。


瞧瞧,又是这种调调
“我们的东西很牛x的,你这些小花招在我们这里根本行不通”
“我们情况最特殊了,你们那些东西太理想化,不适合我们的情况”
听得我都烦
告诉你两个事实,第一JavaEye的功能显然不是数据库记录增删改为主,第二企业应用我们用Rails做了好多了
信不信随便啦


   gigix 你们的企业应用使用Ruby 还是JRuby的 能不能新开一个帖子讲讲这方面的情况啊!

0 请登录后投票
   发表时间:2008-08-27  
我们公司打算安排5个人用rails & ruby做ESB和BI这样的大型应用。这套系统将承载至少5省电网数据的交换、分析和展现,也会逐渐加上各种业务功能。
ESB打算用ruby写,听说开发效率比java更强,新版本已经接近c的性能了,稳定性需要保障全年不间断运行。系统要承载数十个电力系统的数据交换业务,考虑使用集群、自动路由等功能。
BI的ETL/OLAP部分用ruby写,报表展现和决策分析部分用rails来做。功能上就是几百个的图表的实时展现,用户数在5万左右。
大家给点意见顺便帮评估一下,5个人8个月应该可以完成吧?
0 请登录后投票
   发表时间:2008-08-27  
Craft 写道
我们公司打算安排5个人用rails & ruby做ESB和BI这样的大型应用。这套系统将承载至少5省电网数据的交换、分析和展现,也会逐渐加上各种业务功能。
ESB打算用ruby写,听说开发效率比java更强,新版本已经接近c的性能了,稳定性需要保障全年不间断运行。系统要承载数十个电力系统的数据交换业务,考虑使用集群、自动路由等功能。
BI的ETL/OLAP部分用ruby写,报表展现和决策分析部分用rails来做。功能上就是几百个的图表的实时展现,用户数在5万左右。
大家给点意见顺便帮评估一下,5个人8个月应该可以完成吧?


我说出来可能大伙都不相信,某大型水电站的系统用asp实现的,还是很多年前完成的,我看那帮人现在用起来没觉得有啥不爽的,应该比你的这个复杂,不过可不是5个人8个月搞出来的,十几个人几年驻扎在现场搞的。


新版本已经接近c的性能了?  这个从来没听说过。

0 请登录后投票
   发表时间:2008-08-27  
liusong1111d对“话题2:通用框架和组件的能力”的阐述堪称精辟,无懈可击。而恰恰这一点是很多人所误解的。

有些‘大牛’经常会发出这样的感慨“语言不重要,重要的是XXX架构,XXX思想...”,是的,对于那些手下都是些项目经理的人来说,技术都不重要了,何况乎编程语言?

语言真的不重要么?当然重要。这并不是说编程语言可以任意替换,有些场合下是没有选择余地的,例如仅有几十个byte内存的MCU,但是大多数场合下,是有相当大的选择余地,可以互相取长补短。

语言带来的效率提升和思维变化,是不应该被忽视的。Ruby,Python,Erlang这些语言被推崇并不是无风起浪,各位看客真的应该再读一读以下这些文字:

liusong1111:
引用
语言、库(组件)和框架的大致关系:

语言1 < 技术基础库(组件)2 < 技术基础框架3 < 业务基础库(组件)4 < 业务基础框架5 < 业务应用代码6

靠前的是后面的基础。VM、IDE属于它们之外的切面,不在这一话题谈论范围内。

靠后的东西,可以利用它前面的全部东西。比如,业务基础库可以使用语言、技术基础组件库、技术基础框架。

我们开发一个系统,对于1,2,3多会选择一个现成的适合自己的,对于4,5,可能选现成的,也可能自主开发,或兼而有之。
对于6,不可避免的要自主开发。

一般认为,基础性的东西越强,上层的东西越彪悍。所以,语言不是无关紧要,而是很重要。它的强大,可以影响到后面所有层的能力。

即使我们假定所有可封装的都封装到了前5层,那么,业务应用代码还是需要我们利用语言把2,3,4,5组合起来完成特定的业务功能。这个组合行为,是发生(并且应该发生)在第6层的,你不可能再通过封装等手段,把它压到前面的层次。说极端了,假如所有东西都能往上一层压(封装),那就不存在业务应用层了。我们大部份人现在所做的就毫无意义,即将失业了。

当然,前面假定各个层的设施是完美的。
对于ruby组件/库、框架的现状(数量、领域、成熟度、稳定性等),robbin和其它人都有讨论,下结论前多看看。
我同意gigix以前的看法,选择某个领域的框架、库,好使的,一个就够了。一堆烂东西加一块还是烂。

另外,由于前面的图示,语言的能力,也可以提升组件/库/框架的能力,使得建立在其它语言之上的同领域产品,一些能力根本不可能达到。
比如,用java就不可以做出ruby的ActiveRecord库同等能力的东西,不论是hibernate还是你自己从头编起。

这里的能力,指“抽象”或“封装”的能力,不是指“原始能力”。

所以,结论是,大型系统靠的既是业务框架和组件,也有通用框架和组件,也有语言,他们共同的能力,来缩短代码行数,来提高系统的稳定性和易维护性。不止是语言本身,但语言也是极为重要的。






8 请登录后投票
   发表时间:2008-08-27  
ltian 写道
hyf 写道
强啊!无敌啊!

ltian兄,我很喜欢你。就为你对V的重视,我觉得你很有魅力。


我在这里被批判的较多,我都没有能力鉴别你说的话是正面还是反面。V对于企业应用来说很重要,V不方便用的时候,用户是不会喜欢这个系统的,任凭你服务器端做得多么好,用户不认可。当然没遇到这种情况的人是不了解的。被用户骂烂系统的滋味并不好受,甚至会感到很委屈。因为在系统的构架,代码的质量上花了很大的功夫,得到的是不认可。多年血教训告诉我,V很重要。

V是很重要,但我觉得没有重要到比业务领域模型和架构更重要的地步
7 请登录后投票
论坛首页 编程语言技术版

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