锁定老帖子 主题:用rails 3的有没有想过退回到2.3的
精华帖 (1) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-06-27
前面跑rails3的就是用ruby 1.9.2
ruby -v ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-darwin10.7.0 关于ruby 1.9.3提速的(http://rhnh.net/2011/05/28/speeding-up-rails-startup-time)之前试过,部分gem 不兼容,project跑不起来没办法对比 btw,有了rvm,换ruby版本很轻松 |
|
返回顶楼 | |
发表时间:2011-06-27
orcl_zhang 写道 rails很多地方做的很不好。比如关于form,routes等,太多的语法糖,同一个东西写法太多,过于花哨,不实用。带来的是学习上的成本提高,而没有任何一点好处。
让你的代码更DRY和提供漂亮的API接口难道不实用?不知道你指的实用是什么。 |
|
返回顶楼 | |
发表时间:2011-06-27
Rails的学习曲线是很高,而且实际上用rails能节省的开发时间和对web的了解成正比。Web知识丰富的学起来快用起来也觉得自然,否则就觉得学起来成本太高了。
Rails的开发效率很高,但是别指望一个新手可以很快上手。 |
|
返回顶楼 | |
发表时间:2011-06-27
每次rails新版本总是有很多让人兴奋的东西出现。用上了rails3从来没有想过rails2。rails2到3是这样,这次的3.1也一样。有时候,很多东西比性能重要。
|
|
返回顶楼 | |
发表时间:2011-06-28
最后修改:2011-06-28
Hooopo 写道 rainchen 写道 的确是慢了,刚好有个项目从2.3.9升级到3.0.5的,简单对比下db和routes的:
for 2.3.9: development: time rake db:version real 0m24.219s user 0m10.152s sys 0m2.971s time rake routes real 0m19.710s user 0m10.089s sys 0m2.713s production: time rake db:version RAILS_ENV=production real 0m20.110s user 0m12.217s sys 0m2.592s time rake routes RAILS_ENV=production real 0m19.384s user 0m12.109s sys 0m2.600s for 3.0.5: development: time rake db:version real 0m41.514s user 0m26.641s sys 0m3.403s time rake routes real 0m34.094s user 0m27.760s sys 0m3.100s production: time rake db:version RAILS_ENV=production real 0m26.630s user 0m20.295s sys 0m2.643s time rake routes RAILS_ENV=production real 0m24.340s user 0m21.401s sys 0m2.547s 在development上rails3比2慢了将近一倍 但比较让人满意的是production时区别不大 但在做开发时随便跑个rails、rake命令都要30-40秒以上实在影响情绪 肯定是不会退回去的,rails3好的地方更多,只是希望再后面的版本性能能提上来。 另外个人不大喜欢coffeescript这种东西。 这个时间大部分都是ruby的加载文件所花的时间,和rails性能没多少关系。当然这个会影响开发体验。 ruby1.9.2的require性能问题已经解决了:http://www.rubyinside.com/ruby-1-9-3-faster-loading-times-require-4927.html 对于新建项目来说,退已经成了一个不太容易的事情。rails(包括其他很多gems)的带病升级是一贯的优良传统,新的更新和对旧bug的修改会出现在新的版本里。 如果进3.1的话,至少这几个安全方面的改进和HTTP Streaming,Rack::Cache ,Rack::ConditionalGet.就已经值得进。 ActiveRecord3.1 对于association chain的改变,特别是has_one和belongs_to,更像是给3.2版本作的准备工作。但是现在肯定有一批依赖于association chain的东西会被影响,能够马上想到的一个例子比如will_paginate. mountable的engine在实用上我用得很不舒服,但是在做了一些hack工作之后还是能够出来可以接受的效果。只是在mount之后必须要用main_app.xxx_path这样的方式来找route helper我个人觉得很多余;另外在engine内调用route也很难受,因为不可能知道自己会被以什么别名来mount。 sprockets作为一个第三方的包被作为杀手级应用引用到rails3.1里,结果sprockets2的最新一个版本2.0.0.beta.11的一个看起来很有道理的改变会让rails-3.1.0.rc4里的rake assets:precompile直接不工作。 这个改变是把一个getter里原来直接返回一个数组的方式改成返回数组的dup: 2.0.0.beta.10里的 def paths @trail.paths#.dup end 2.0.0.beta.11里的 def paths @trail.paths.dup end 恶啊~总之~现在类似的情况还有一些~ 但是不管怎么说,2.3和3.1之间还有一个3.0 .我想说,所谓慢通常并不是一个框架单方面的问题,框架通常是把原有的问题放大。当然,这事具体问题具体分析,各家有各家的经。 |
|
返回顶楼 | |
发表时间:2011-06-28
只用最新的,不回更旧的,
PS: LZ其实一直发rails 不好用的信息,,可能与你现在推广的啥有关的,只是个人想法... PSPS 我觉得rails很好,所以一直用,就这么简单,我自认为自己没能力改变rails 的速度什么的,所以,只能看大牛们努力了 |
|
返回顶楼 | |
发表时间:2011-06-28
花花公子 写道 正在用rails3的各位,你们有没有被忽悠的感觉?
忽悠倒没觉得,rails3带来的新特性让人一震,性能的话,应该还在调优,期待后续版本 |
|
返回顶楼 | |
发表时间:2011-06-28
最后修改:2011-06-28
之前用脚手架测试,rails3 + ruby 1.9.2是最慢的,rails3 + ree 1.8.7 是最快的。数据丟了,感兴趣的可以测试下。
|
|
返回顶楼 | |
发表时间:2011-06-28
根据RAILS3更新太快了 哎...
|
|
返回顶楼 | |
发表时间:2011-06-28
如果在开发模式下太慢, 已经有解决方案了。
gem install rails-dev-boost 另外,我没有用active-record,自己感觉rails 3速度还可以, 在生产模式下,不过没有测试数据来证明。 |
|
返回顶楼 | |