ROR随想(2009年)
工作近11年了,大部分时间在做企业应用,由于主要技术领域采用了Java,所以绝大多数时间混迹与JavaEE领域,早年写过perl,后来
vs2003时写过1年C#,写过近两年的python+java,但每次最终都回归到JavaEE的老路上来,总体感觉,在企业应用领域,JavaEE
和DotNet目前还是最佳解决方案,个人更偏重JavaEE
最近公司一个没人干的活落到了研究院技术部,升级公司网站,网站是基于ROR构建的,一直在看Ruby on Rails,这次看有实战经验,于是亲自冲上去搞定,今天网站终于发布了,www.rayoo.com.cn,告一段落,总结一下ROR的使用随想,ROR常说的特性我就不说了,网上一搜一大堆,说些自己的实际感受
1、ROR在做网站方面的确很强,rails对ruby的支撑非常好,远远强于一些所谓的SSH简单封装的框架
2、Rails的layout机制很出色
3、Ruby是动态语言,代码简洁,闭包很好用,也算完全面向对象,可以写出规范简洁的优美代码,也可以写成几千行天书,这点比java难于掌控,所以说java是工业编程语言
4、MVC模式,Rails实现的炉火纯青
5、谁说ROR部署简单来着,想要一个负载均衡的高性能多应用的ROR实现,要做的事情太多了,例如我在linuxAS4上搭建的公司网站,总共安装的程序包列表如下:
fcgi-2.4.0.tar.gz
gd-devel-2.0.28-4.i386.rpm
grep-2.5.1-32.2.i386.rpm
ImageMagick-6.4.7-9.tar.gz
libpng-devel-1.2.7-1.i386.rpm
lighttpd-1.4.20.tar.gz
MySQL-client-community-5.0.67-0.rhel4.i386.rpm
mysql-ruby-2.8.tar.gz
MySQL-server-community-5.0.67-0.rhel4.i386.rpm
pcre-4.5-3.2.SEL4.i386.rpm
pcre-devel-4.5-3.2.SEL4.i386.rpm
pcre-devel-4.5-4.el4_6.6.i386.rpm
rails-1.2.6.gem
RMagick-1.15.17.tar.gz
ruby-1.8.6-p287.tar.gz
ruby-fcgi-0.8.7.tar.gz
rubygems-1.3.1.tgz
具体干嘛用我就不一一解释了,如果你对linux不熟悉,对ror不熟悉,而且没有耐心的话,必然要配个万念俱灰,而且,在LinuxAS4上搭建好了,一旦要迁移Solaris某个版本上,你就哭去吧
6、谁说ROR性能差来着,我用了Lighttpd+FastCGI+Rails的方式部署公司三个应用,用LoadRunner压,大并发下性能相当稳定
7、说实话,感觉ROR最适合的还是Internet应用,做网站是把好手,但企业级开发,还欠火候,不说别的,就拿部署来说,我们公司的GAP 平台开发的应用,打个war或ear,其他事就交给中间件去搞定了,只要程序遵循JavaEE规范即可。如果用ROR,客户爽了,省了中间件的钱了,所有的事,软件开发商你自己去搞定,打碎牙往肚子里咽吧。100个项目,组合下得有十几种环境吧,每次实施估计都要崩溃了
总之,ROR是好东西,Groovy On Grails也不错,与java结合的更紧密些,以后会持续关注
最近公司一个没人干的活落到了研究院技术部,升级公司网站,网站是基于ROR构建的,一直在看Ruby on Rails,这次看有实战经验,于是亲自冲上去搞定,今天网站终于发布了,www.rayoo.com.cn,告一段落,总结一下ROR的使用随想,ROR常说的特性我就不说了,网上一搜一大堆,说些自己的实际感受
1、ROR在做网站方面的确很强,rails对ruby的支撑非常好,远远强于一些所谓的SSH简单封装的框架
2、Rails的layout机制很出色
3、Ruby是动态语言,代码简洁,闭包很好用,也算完全面向对象,可以写出规范简洁的优美代码,也可以写成几千行天书,这点比java难于掌控,所以说java是工业编程语言
4、MVC模式,Rails实现的炉火纯青
5、谁说ROR部署简单来着,想要一个负载均衡的高性能多应用的ROR实现,要做的事情太多了,例如我在linuxAS4上搭建的公司网站,总共安装的程序包列表如下:
fcgi-2.4.0.tar.gz
gd-devel-2.0.28-4.i386.rpm
grep-2.5.1-32.2.i386.rpm
ImageMagick-6.4.7-9.tar.gz
libpng-devel-1.2.7-1.i386.rpm
lighttpd-1.4.20.tar.gz
MySQL-client-community-5.0.67-0.rhel4.i386.rpm
mysql-ruby-2.8.tar.gz
MySQL-server-community-5.0.67-0.rhel4.i386.rpm
pcre-4.5-3.2.SEL4.i386.rpm
pcre-devel-4.5-3.2.SEL4.i386.rpm
pcre-devel-4.5-4.el4_6.6.i386.rpm
rails-1.2.6.gem
RMagick-1.15.17.tar.gz
ruby-1.8.6-p287.tar.gz
ruby-fcgi-0.8.7.tar.gz
rubygems-1.3.1.tgz
具体干嘛用我就不一一解释了,如果你对linux不熟悉,对ror不熟悉,而且没有耐心的话,必然要配个万念俱灰,而且,在LinuxAS4上搭建好了,一旦要迁移Solaris某个版本上,你就哭去吧
6、谁说ROR性能差来着,我用了Lighttpd+FastCGI+Rails的方式部署公司三个应用,用LoadRunner压,大并发下性能相当稳定
7、说实话,感觉ROR最适合的还是Internet应用,做网站是把好手,但企业级开发,还欠火候,不说别的,就拿部署来说,我们公司的GAP 平台开发的应用,打个war或ear,其他事就交给中间件去搞定了,只要程序遵循JavaEE规范即可。如果用ROR,客户爽了,省了中间件的钱了,所有的事,软件开发商你自己去搞定,打碎牙往肚子里咽吧。100个项目,组合下得有十几种环境吧,每次实施估计都要崩溃了
总之,ROR是好东西,Groovy On Grails也不错,与java结合的更紧密些,以后会持续关注
身边越来越多的人开始使用Mac,经常被问道Mac的使用问题和技术问题。遂决定,每天发布一则#Mac技巧#。同时发布于微博和微信公众账号“Mac技巧”,微信号sagacity-mac,有微信账号的童鞋扫描下图片或搜索微信号即可

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构