簡體   English   中英

JRuby是否可以替代Rails開發的MRI?

[英]Is JRuby a viable alternative to the MRI for Rails development?

我是一個初學者 - 中級軌道開發人員,正在努力提高我的技能。

我對JRuby的狀態有點困惑,以及它是否是切換到MRI的可行替代方案。

目前我在家里運行Mac並使用textedit進行編輯(MRI用於ruby,終端用於rails命令等)。 在工作中,我在Windows上使用NetBeans,但不在那里做任何Ruby工作。

我正在認真考慮放棄Mac,原因與此對話無關,但我擔心一旦我在Windows上,對Ruby的支持將不是最優的(我可能錯了)。

我非常喜歡在工作中使用Netbeans,我可以看到使用Netbeans在Windows上使用JRuby並允許JRuby管理我的寶石將是一個相對愉快的體驗。 我喜歡代碼完成的想法和完整的IDE而不是文本編輯器(沒有啟動編輯器火焰戰爭)。

我的問題是,JRuby是否會使學習軌道復雜化? 從我所看到的,JRuby上不支持某些寶石,或者在該生態系統中可能會有所不同。 作為一名學習者,我會從網絡和書籍中學習很多教程,我擔心事情可能會起作用,或者很難在JRuby上工作。 這種懷疑主義是否有充分根據? 或者它應該是一個相對無痛的開關? 它如何影響部署到非JRuby平台,如Heroku等?

我還在權衡很多選項,包括Windows上的MRI,MRI或OpenSolaris上的JRuby等等。我認為無論哪種方式,我都會使用Netbeans。

任何評論都表示贊賞。

實際上,您不需要Rails的代碼完成。 TextMate是目前Ruby世界中最常用的編輯器,對於Ruby中的所有內容來說,它已經綽綽有余了。 Ruby不需要像Java那樣接近工具支持。 所以我想說如果編輯問題是你選擇JRuby的唯一原因,那不是一個很好的理由。 因為你是對的,有很多寶石在JRuby中不起作用,因為它們使用某種原生擴展。 也就是說,最流行的寶石往往在JRuby中工作。 JRuby的性能仍然不如Ruby 1.9,但在很多情況下它與MRI 1.8相當。 就個人而言,我建議將JRuby視為高級Ruby概念。 它會運行Rails,但是,是的,你會發現你將無法按照教程進行操作,對於初學者來說,一切都會變得如此艱難。 JRuby不是一項特別令人生畏的技術,但它可能比你想要作為初學者克服的障礙更多。

無論如何,我強烈建議將歐元用於支持TextMate的副本,即使您不主要在其中進行開發。 值得每一分錢,然后一些。 在該環境中工作一段時間,看看你是否真的需要你的IDE。 我打賭你不會。

我的問題是,JRuby是否會使學習軌道復雜化?

是的,因為所有教程,初學者文檔以及通常能夠幫助您的大多數開發人員都在進行MRI檢查,因此對於每個問題,您必須首先消除jRuby相關原因。

從我所看到的,JRuby上不支持某些寶石,或者在該生態系統中可能會有所不同。

任何使用C本機擴展編寫的gem都需要移植到jRuby(反之亦然,但問題很少見)。

作為一名學習者,我會從網絡和書籍中學習很多教程,我擔心事情可能會起作用,或者很難在JRuby上工作。 這種懷疑主義是否有充分根據?

我會說是的,請看我的第一點。

它如何影響部署到非JRuby平台,如Heroku等?

您的開發環境越偏離您的生產環境,就會出現越多“古怪”的錯誤。 另一種方法是使用jRuby部署到谷歌應用引擎。

另一方面,如果沒有需求,誰會寫jRuby教程?

我使用Netbeans,Textmate和Vim,但通常使用Netbeans。 我喜歡Netbeans的集成調試,有時非常有幫助。 Netbeans和Vim是跨平台的,這對我來說很重要。 我討厭依賴只適用於一個操作系統的軟件。 我很確定我已經嘗試過幾乎每個IDE for Rails,Netbeans是我最好的Rails IDE,但我離題了。

cwninja對JRuby的寶石不兼容性是對的,盡管JRuby支持大多數寶石。 有關支持的寶石,請訪問http://isitjruby.com/ JRuby現在有很多動力,是一個強大的開發選擇。 從理論上講,選擇JRuby或MRI應該是無關緊要的,但不要指責我。 JRuby允許輕松地在1.8.x和1.9.x之間輕松切換ruby兼容性,但是你可以再次使用RVM (恰好是炸彈)來實現這一點。

無論哪種方式,如果您正在考慮使用不同的ruby解釋器,請查看RVM 它允許您輕松地輕松安裝和管理大多數ruby解釋器。

看看TBH從UNIX系統轉向用於Ruby開發的Windows系統,這看起來很愚蠢。 如果你不想使用Mac,請不要使用Mac,但Windows上的很多東西都不會很好用。 與做任何工作相比,你會花更多的時間搞砸東西來讓它工作。

我建議不要使用代碼完成編輯器,它不會幫助你學習。 我會說遠離那個,直到你有一個良好的語言基礎,在開始嘗試快捷方式之前學習在哪里查找API等。

JRuby肯定是MRI紅寶石的一個很好的替代品,但是如果你正在學習教程,它可能只是增加了WTF的水平,因為你知道這可能會適得其反,但如果你去Windows,JRuby可能是最好的方法。

祝好運。

我開始在OS X上使用MRI,然后是Windows。 我目前在Windows上使用JRuby,但仍然在Windows上使用MRI來檢查行為,這是你會習慣的。 JRuby正在進行大量更改以使其與Ruby 1.9兼容,而Ruby本身則是一個移動目標。

查看兩者之間的差異並報告錯誤,最終會加強您對兩者的理解,並將幫助兩個團隊推動語言向前發展。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM