从铁轨开始。对SDKs插件的建议等?

时间:2009-11-13 06:43:06

标签: javascript ruby-on-rails ruby ajax plugins

我有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以及您可以帮助我的一些有用的插件,软件或技巧在轨道上用红宝石开始右脚?

3 个答案:

答案 0 :(得分:4)

我会坚持使用jQuery为你的JS / ajax。我的看法是,RJS / Prototype不再支持jQuery,但这可能只是我。如果你想使用RJS从Ruby代码生成JavaScript,jRails适合的地方。我个人的偏好是将所有JavaScript保存在application.js中并保留unobtrusive

我喜欢的一些插件是AuthlogicNifty GeneratorsPaperclipssl_requirementsubdomain-fuQueryTrace

一些好的资源可用于Rails GuidesRailscasts。我认为在学习框架之前学习语言本身是一个好主意,但我确信可以用最少的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后端。一些要看:

  • solr-ruby - 这是Solr发行版附带的官方客户端库。它比其他一些替代品更低,但在完成你需要的东西方面给你一些很好的灵活性。
  • rsolr - 另一个低级库,看起来像是solr-ruby的替代品。乍一看似乎更频繁地更新了。
  • sunspot - 我没有用过它,但它看起来像是目前最受欢迎的Solr => Ruby对象映射库。 acts_as_solr库曾经是一个选项,但我认为它已经失宠了。

我同意你希望以C Ruby / * NIX环境为目标的其他海报,但如果使用Tomcat / JRuby可以帮助你更快地学习它,那就去吧。