我最近想xue web后端开发,然后听说rails 高端 大气 上档次,开发效率高,ruby又讲究以程序员为本,就了jie了一下。
que发现几个疑问,
更新快能否说明不够成熟,稳定呢?而且貌似测试用rspec的多,结果我发现rails作者说rspec已死,这。。。
当然我英语还凑合能看英文书,但还是jue得资料太少了,搜点东西,stackoverflow就冒出来了,而别的语言大部分是blog内容。
我不知道这玩意咋部署的,要啥环境。听说了heroku,我注册了看过,当时吓的我捂紧了钱包。
vps也不便宜,我估计一般的vps怕是不行吧,好点得也忒贵了。
也没听说国内哪个大网站用rails开发的,当然我看过一个牛人的个人站是ror的,很好的站。
真诚求教,你们选择了ror的原因是什么。
1
roamlog 2014-09-20 19:07:16 +08:00 via iPhone 1
1)这就是 Rails 的特点,也是它成功的原因之一,如果你不接受这一点就最好别用,不然会很痛苦。
2)资料相对其他语言来说确实不算多,搜出来 so 的内容不是很正常吗?而且也更好啊,blog 内容很多时候反而不好。 3)一台 vps 而已,这哪里难了?你折腾其他语言也得有台 vps 啊。 |
2
xp0729 2014-09-20 19:12:57 +08:00 1
我能说是因为非科班出身完全不懂c,java之类的然后觉得物以稀为贵不想学大流准备在Python和ruby中挑一个最后发现ruby-china感觉很对胃口最最后机缘巧合找了个rails的工作么........
|
3
xp0729 2014-09-20 19:14:39 +08:00
顺便吐槽一下楼主说的问题其实都不是什么问题.....选择了,然后坚持下去准没错
|
4
damajia 2014-09-20 19:14:55 +08:00 2
已放弃的飘过
我是经过自身近1年半的实践才放弃的,所以不要人云亦云。 |
5
lightening 2014-09-20 19:17:50 +08:00 1
开发速度特别快。Rails 帮你解决了大量问题。引入了 Migration, asset pipeline 等概念非常超前。研究 Django 的时候经常在想,DHH 怎么这么牛逼,2007 年就能设计出这么完善的框架。Rails 出现后,几乎所有语言都出现了深受 Rails 影响的框架。但就我所知道的 Django 来说,直到最近的 Django 1.7 才引入 migration,而且还残缺不全……
关于你发现的几个问题: 1. 如果你说的稳定是指不再加入新 feature 的话,那么 Rails 确实不够稳定。不过 Ruby 社区的文化就是这样,比较喜欢追求新东西。DHH 是个非常偏激的人,他就喜欢 Ruby 的内建测试框架 Test::Unit。你可以自己选用 RSpec 还是 Test::Unit。 2. Rails 资料少确实是一个问题。一方面是因为比较新,另一方面是因为入门难一点。Rails 是一个大而全的框架,都学一遍要花不少时间。 3. 用普通的 VPS 就可以部署了。看一下 Capistrano 这个 gem。Heroku 收费挺高的,而且限制比较多,不过省心省力,如果你项目人数很少没有精力维护服务器,Heroku 还是挺好的。 |
6
roamlog 2014-09-20 19:20:25 +08:00
话说,lz 好像多次在 V2EX 抱怨 Rails 了,我觉得学 Ruby 和 Rails 应该是一个快乐的过程,如果弄得这么痛苦了,可能 Ruby 和 Rails 不一定适合你,也许可以考虑去弄点别的。。。
|
7
msg7086 2014-09-20 19:35:13 +08:00 1
heroku太贵了用不起。
rails的VPS的话我现在用linode 1024跑一个很小的类博客站,30万帖子,每天60万动态请求,CPU平均占用在10%以下。nginx+unicorn+redis+mariadb。 rspec我觉得挺好。我这边用rspec+capybara做集成测试,感觉很舒服。 ROR的特点就在于快速开发。想想吧,开发一个网站系统只需要一星期而且可以保证逻辑上基本bug free,这得节约多少钱。这年头服务器比程序员便宜多了…… |
8
msg7086 2014-09-20 19:38:42 +08:00
至于大型网站不用ROR,道理也简单。一来系统大了以后,ROR的模式就不适用了。一来国内程序员很便宜,服务器反而很贵,直接造成了多招程序员少堆服务器的后果。
ROR跑到很高的量以后就会渐渐出现瓶颈。如果没有强大的架构师支持的话,最简单的方法还是逐步迁移到其他平台上去。推特就是妥妥转去scala了。(其实scala比ruby更小众 ROR最大的优势还是快速起步。一个公司刚起步做开发,如果一套系统要做个一年半载的,怎么混啊。还不如弄一堆gem花一个星期堆起一个原型再说。等原型做大了,钱挣多了,系统撑不住了,再换就是了。 |
9
jacob OP @roamlog 没有吧,我只发过2个关于rails的帖子,上次是说镐头书,让你有这种想法真的挺不好意思,我有点强迫症倾向,又有哪个东西能完美呢
@lightening 感谢这么用心的回答,经你一说我就放心了,毕竟水平不够看不出好,但能体会到有很多封装好的方法很方便,gem和rake也能省去不少无聊的操作。 Migration, asset pipeline ,因为我不知道别的语言怎么操作数据库的和静态文件的,竟然错把好处当平常了。。。 |
10
WildCat 2014-09-20 19:48:39 +08:00
|
12
zhs227 2014-09-20 19:51:19 +08:00 2
给客户陆陆续续做Rails项目快一年了,中文资料少确实是一个问题。不愿意看英文的话,Rails很痛苦。如果语言不是问题,Rails用起来就太理想了。
关于版本匹配的问题,在Gemfile中可以指定要求的Gem版本号。对于维护系统来说问题不太大。现在搭好环境,Rails 2.x的还能跑起来。 国外使用Rails的人太多了,基本上什么问题找两个关键词一搜就会导出到stackoverflow,Google就会准确的命中你要的那一条,最多第二条第三条,一般都好用。 当然有的用法是手册上找不到的,最好把它记下来,方便下次使用。 部署的话,一般的VPS都可以搞定的。当然比PHP这种传上去就用的要复杂点。 |
13
msg7086 2014-09-20 19:56:23 +08:00 2
Migration和Assets都很好用。而且又因为Ruby本身的语言特性就决定了这货写DSL简直神一样,所以写一些奇怪的东西完全就不会感到不顺手。
比如laravel里的ORM, $user = DB::table('users')->where('name', 'John')->first(); 而ActiveRecord里 user = User.where(:name => 'John').first 怎么看也是后者比较舒服。 Rails用了很多Ruby的黑科技,而其他的语言很难做到如此灵活。就算是简洁优雅的laravel也没有办法把那些必须的语言元素(DB::table())省略掉。 |
14
WildCat 2014-09-20 21:11:04 +08:00 via iPhone
@msg7086
Laravel可以 User::where('name', 'john')->first() 的 |
16
hustlzp 2014-09-20 21:41:40 +08:00
之前接到过一个外包,1个月的时间,临时起意用RoR,踩了不少坑...
不过感觉理念确实很赞,但对于个人来说,还是喜欢Python Flask~ |
17
xiparos 2014-09-21 05:37:42 +08:00
资料少?stackoverflow 正好说明有人踩过坑,不太懂英文的敢说资料少?
|
18
msg7086 2014-09-21 06:17:24 +08:00 via iPhone
除了爆栈网以外,如果日语好的话也可以直接看日语资料啊
|
20
ahr0u 2014-09-21 08:26:58 +08:00
@hustlzp 我接触过Flask和Rails,刚开始的时候也的确更喜欢Flask,接触不深有个问题想请教下,在安全上,我了解的是Rails作为非常成熟的框架,其安全上面的考虑是做得很多的,譬如常见的跨域攻击等都有相应的防护手段,虽然说安全与否看程序员个人,但Rails这方面无疑更省心一些,请问Flask在安全上面有那么周到的考虑吗?
|
21
kongkongyzt 2014-09-21 12:49:03 +08:00
iteye就是用ROR写的
|
22
swirling 2014-09-21 13:08:21 +08:00 via iPhone
@ahr0u flask基本框架只管核心,你需要这些一般都有插件。比如flask-wtfforms就可以。学习flask的成本其实不算低,因为其实flask本身虽然很轻,但是如果要用插件也需要很多学习,插件相关文档也很少。但是熟悉的话flask很灵活。
|
24
ahr0u 2014-09-21 18:23:26 +08:00
@swirling 谢谢,Rails 各种gem大部分特别是常用的譬如authentication, 权限, 文件上传等的文档倒是很好就是了
|
25
ichou 2014-09-21 18:42:04 +08:00
高档大气上档次 嗯 其实是感觉对 php 不会再爱了
|
26
zhs227 2014-09-21 18:45:36 +08:00
@BackBox 外包的水很深,自己的经验是客户发展主要靠最初的客户推荐。目前主要做针对北美地区的(收点美元,顺便学一下英语),起点是国外几大知名外包网站:freelancer, elance, odesk。自从不知道什么时候阿三进驻后,报价竞争很惨烈,曾经有个阿三在上面找人$150一个月全职PHP,所以一直在上面混不是个好路子,但是如果要做国外的外包可以把这里当做起点,找工作时注意时差问题。
国内的话不太清楚,一般找Rails的不多。之前有人推荐过猪八戒,可以在网上找相关帖子参考一下。 这里面的经验要说完恐怕要几万字,不多说了,有兴趣的话自己勇敢去探索吧! |