工作近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结合的更紧密些,以后会持续关注