我有6年的C#编程经验,我正在寻求拓宽视野。我将构建一个简单的Web应用程序来演示Ruby on Rails的知识,这样我就可以进入一个可能需要Rails程序员的地方。这是热门的新事物,所以我希望能够销售。
无论如何,我一直在玩solr和tomcat,我想使用solr作为产品数据库的搜索引擎。这意味着我将使用一些java(tomcat和solr),对于Web应用程序,我将使用MSSQL,因为我使用的是Windows。一位朋友建议我查看jRuby,因为如果我要使用tomcat,将它全部放在一个Web服务器上是有意义的。我想用Eclipse作为我的编辑器。我听说rails程序员通常使用prototype作为他们的java选择器工具,但我真的很喜欢jQuery(甚至是mootools)。我也听说jRails是将jQuery与我的ruby应用程序联系起来的东西。
鉴于我将tomcat与使用Eclipse作为IDE的jRuby结合使用,您建议我使用什么来处理javascript / ajax以及您可以帮助我的一些有用的插件,软件或技巧在轨道上用红宝石开始右脚?
答案 0 :(得分:4)
我会坚持使用jQuery为你的JS / ajax。我的看法是,RJS / Prototype不再支持jQuery,但这可能只是我。如果你想使用RJS从Ruby代码生成JavaScript,jRails适合的地方。我个人的偏好是将所有JavaScript保存在application.js中并保留unobtrusive。
我喜欢的一些插件是Authlogic,Nifty Generators,Paperclip,ssl_requirement,subdomain-fu和QueryTrace。
一些好的资源可用于Rails Guides和Railscasts。我认为在学习框架之前学习语言本身是一个好主意,但我确信可以用最少的Ruby知识开发一个简单的Rails应用程序。
至于您的应用程序堆栈,我建议您重新考虑将Rails应用程序部署到Windows。即使在Windows上开发Rails应用程序也可能会很痛苦。如果可以的话,我会得到一个运行Ubuntu并使用MySQL的VM(或旧机器)。如果您正在寻找Rails上的全文搜索,可以使用Thinking Sphinx - 如果您有兴趣,可以使用Railscast。我也会轻轻地尝试一下文本编辑器而不是一个完整的IDE - 我喜欢OS X上的TextMate和Linux上的gedit。
当我决定学习Rails时,我也有微软的背景。我有很多东西可以接受 - 没有框架假装网络是有状态的(asp.net),学习一门新语言,学习一个新框架,获得更强大的css / html / javascript技能,新操作系统(OS X和Linux for me),学习新的数据库。总的来说,我很高兴。我是一个更好的开发者。
答案 1 :(得分:2)
如果你想要适销对象,我首先要学习最低标准,即默认的Rails堆栈,以获得广泛的吸引力。然后可以考虑获得一些更多的利基技能,以提升您对潜在客户/雇主子集的价值。
这几乎意味着针对MRI 1.8.6 / 7,Rails 2.3.4(考虑在erb和测试/单元之外至少学习HAML和rspec)和Apache * nix世界中的MySQL。
我不建议学习如何部署到Windows堆栈 - 服务器的目标绝大多数是Linux或者其他一些* nix风格。对于开发Web服务器,Mongrel在Windows上运行良好。
一定要在Windows上构建 - 我没有太多痛苦 - 但要注意Ruby / Rails社区的可见部分(主要开发库和框架的人以及大多数在线编写的人) )主要是OSX或Linux用户,因此对于Windows用户来说往往会有一个延迟,特别是在需要操作系统交互的地方,或者有编译元素到库的地方。另外,我可靠地告知Rails启动在Windows上很多更慢。我不想亲自确认 - 我可能会感到不安。
MSSQL与Rails一起工作正常,但出于上述原因,我对使用任何特定于平台的功能持谨慎态度:您不太可能找到一个能够很好地部署到混合Win- * nix环境的站点。 MSSQL ActiveRecord代码也可能不像MySQL或SQLite那样强硬 - 我在任何版本的任何Rails相关代码中找到的一个错误就在那里。也就是说,如果您不使用任何特定于MS的功能,您会发现移植很容易。但是如果你不使用任何额外的东西,为什么不完全跳过它?有足够的差异(MySQL中的查询“优化器”需要一些人习惯),你可能最好不要学习最有可能成为目标的平台。至于Eclipse,它显然是一个成熟的开发环境,但我不确定Rails插件有多好(并且作为Lotus Notes的人质,我对使用Eclipse过敏是绝对必要的)。如果你不能没有IDE(我建议你尝试 - 你会了解更多),那么several SO questions涵盖了替代方案。
答案 2 :(得分:1)
在项目中使用Solr并不要求您拥有用于运行实际Rails应用程序的Java堆栈。有quite a few Ruby libraries可以帮助您轻松连接Solr后端。一些要看:
我同意你希望以C Ruby / * NIX环境为目标的其他海报,但如果使用Tomcat / JRuby可以帮助你更快地学习它,那就去吧。