2009-06-17 6 views
5

Sono nuovo di Ruby on Rails e finora mi sto divertendo molto imparandolo. Provenendo dal mondo .NET, è stato un bel cambiamento dato che il mio IDE (Visual Studio 2008) gestisce tutto per me, mentre in Rails tutto è stato fatto tramite più applicazioni (Terminal, TextMate, ecc.).L'utilizzo di un IDE con Rails potrebbe ostacolarmi?

Ho iniziato a dare un'occhiata più da vicino a RubyMine come IDE per lo sviluppo di Rails, e come grande fan di IDEA e ReSharper, naturalmente mi piace RubyMine. Ha il completamento del codice, supporto integrato per RSpec, integrazione SVN e così via. Tuttavia, dal momento che l'IDE gestisce gran parte dell'esperienza di "Rails", mi chiedo se non debba seguire l'approccio di TextMate + Terminal.

È un IDE Ruby/Rails come RubyMine che mi ostacola?

risposta

2

userei le basi per avviare (terminale e un semplice editor di testo) fino a che realmente ottenere una buona comprensione di Ruby on Rails. Quindi, una volta che la conoscenza di base del framework si sposta su un IDE.

Secondo me se vuoi imparare ad usare il terminale e un editor, ma se vuoi essere produttivo usa un IDE.

A casa uso la configurazione di base da quando sto imparando Ruby on Rails. Tuttavia, al lavoro, dove sono uno sviluppatore Java, utilizzo un IDE. L'utilizzo dell'IDE mi consente di non preoccuparti dei piccoli compiti noiosi e di preoccuparmi solo della programmazione. Avere strumenti come auto-completamento, svn integrato e strumenti di debug integrati aumenta la mia produttività.

[modifica] Inoltre, non penso che il particolare IDE sia importante. Hanno tutti la stessa funzionalità. Qualunque sia il tuo più comodo è il migliore.

+0

Quando ho iniziato a piegare le barre, ho abbandonato l'IDE, ho iniziato a utilizzare Textmate e non sono mai riuscito a utilizzare un IDE per lo sviluppo delle rotaie. L'altra cosa che avrei potuto fare senza gli esempi di scaffolding. – Mark

1

Prova Netbeans Ruby Edition. Non è bello come RubyMine ma ha il supporto per svn integrato e template simili a TextMate. Mi piace, ma ripeto, non ho ancora rilasciato il progetto che sto sviluppando, quindi non posso parlare molto della produttività.

+0

Netbeans ha una corretta autocomplete/intellisense sui nomi dei metodi, che gli editor di testo non lo fanno, il che è ottimo se non è possibile memorizzare l'intero lib di ruby ​​standard! – Kris

1

Basta ricordare che il mondo open source è circa scelta, quindi ci sono tonnellate di IDE. Un popolare è Eclipse che dovrebbe includere lo sviluppo di rotaie come un plugin (e sono molto semplici da installare). Netbeans supporta anche le guide IIRC.

Forse è il momento di scendere e sporcare con gli strumenti di componenti di base e quindi trovare un IDE. Trovo sempre quando si inizia una nuova lingua che aiuta a capire la raw toolchain e come funzionano le cose prima di automatizzarle.

Personalmente, a meno che non si tratti di sviluppo Java (involuto in sé), evito i tradizionali IDES e utilizzo una soluzione modulare di Vim/Gedit/Makefile e altre automazioni.

GEdit su Linux/Gnome è un ottimo compromesso. Hai un editor di testo di base con l'evidenziazione della sintassi e un terminale incorporato. Quindi puoi aggiungere plug-in per il completamento automatico e la navigazione in classe, se lo desideri.

Good Luck

+0

Sono preoccupato che diventerò troppo dipendente dall'IDE e quindi non sarò in grado di lavorare in un negozio di Rails senza di esso, qualora si presentasse l'occasione. –

+0

La dipendenza IDE è un problema. Dal primo giorno ho usato la shell e gli strumenti di base. Quando ho visto un IDE con tutti i suoi inutili menu e pulsanti ho quasi avuto il cuore in testa pensando che "sotto è più semplice". Consiglierei la cautela IDE! :) o Un IDE standard che supporta molte lingue nello stesso flusso di lavoro. –

1

Ho intenzione di prendere una posizione diversa rispetto alle altre qui. Penso che per la maggior parte dei problemi trascorrerai un sacco di tempo a ficcare la testa negli angoli bui cercando solo di imparare le basi quando non usi un IDE.Ti rendono la vita più facile e nella maggior parte dei casi in realtà insegna alla sulla piattaforma software che stai utilizzando. I suggerimenti del codice, la formattazione automatica, la guida integrata e così via ti aiutano a scoprire le caratteristiche del linguaggio molto più velocemente di quanto non dica Blocco note.

È sicuramente importante conoscere la catena di strumenti ma preferisco esaminarlo mentre imparo dall'IDE. Guarda come e perché l'IDE ha scelto di fare qualcosa come ha fatto. In molti casi, l'IDE utilizzerà le migliori pratiche e/o le pratiche più diffuse dalle quali è possibile imparare molto.

+0

Questo è un ottimo punto. Netbeans, ad esempio, sembra avvolgere i binari e i comandi di rake. È abbastanza evidente cosa sta succedendo. –

1

Quando ho imparato su Ubuntu, ho usato gedit. Ho provato a renderlo come TextMate utilizzando diversi componenti aggiuntivi.

Mi piaceva dover usare il terminale mentre stavo imparando in quanto ti aiuta a capire tutti gli aspetti del processo di costruzione. Usare un IDE heavy-duty come RubyMine o Eclipse potrebbe nascondere tutto ciò e quindi limitare la tua comprensione di ciò che sta succedendo "sotto le coperte". Di solito questa mancanza di conoscenza porrà problemi man mano che si sviluppano applicazioni più complesse.

A mio parere, il supporto SVN è un po 'inutile in un IDE. È piuttosto semplice aprire il terminale per gestire il repository o utilizzare uno strumento della GUI come Tortoise.

Penso che l'unico vero vantaggio dell'utilizzo di un IDE come RubyMine sia la funzionalità di completamento automatico/del codice. Anch'io sono un grande fan di ReSharper (usato per lo sviluppo di C#) e mi sarebbe piaciuto avere uno strumento simile quando stavo imparando Rails- ma TextMate non supporta il completamento automatico/del codice?

Direi di non saltare a usare e RubyMine per almeno diversi mesi, o anche un anno, se mai. Il lavoro extra che devi fare ti ripagherà a lungo termine. Rimani con TextMate.

1

Anche io stavo usando RubyMine; è un IDE eccellente (naturalmente, essendo uno strumento JetBrains), ma come un ragazzo abbastanza nuovo di Rails, ho trovato che faceva un po 'troppo per me. Tende ad oscurare ciò che sta realmente accadendo dietro le quinte. Tuttavia, per qualcuno che si è abituato ad essere in grado di scorrere il codice in un debugger e ispezionare le variabili, RubyMine è stato incredibilmente utile e in realtà ha ampliato la mia comprensione del codice (e ovviamente Netbeans e altri possono farlo anche io come RubyMine "gestisce").

Quindi, in generale, dico quello che la maggior parte delle altre persone dice: ci sono aspetti dell'uso dell'IDE che rendono le cose molto più chiare; assicurati che l'IDE non stia diventando una stampella.

1

Ogni volta che tento di imparare/adottare un linguaggio/framework, provo a fare cose con un editor barebone ... Sintassi evidenziazione ... poi, mentre imparo, mi piace aggiungere cose come il correttore di sintassi on-fly (netbeans è fantastico in questo). Poi mentre progredisco e imparo la magia del linguaggio/framework, comincio ad aggiungere cose come snippet/completamento del codice. Ad un certo punto potresti vedere uno strumento che ti sta meglio, ma non ha un controllo sintattico simile al volo ... ma a quel punto non sarà più importante a causa della tua progressione.

Personalmente, utilizzo netbeans con il plug-in jVi ... evidenziazione della sintassi, controllo della sintassi, debug e tutto viene praticamente fuori dalla scatola ... (il plugin jVi richiedeva comunque un po 'di personalizzazione).

Tuttavia, io a volte uso TextMate o vim con rails.vim

10

Disclaimer: Ho solo usato rubino per un brevissimo periodo di tempo. Ma credo che la mia esperienza come sviluppatore .NET nell'apprendimento di altre lingue sia preziosa per te.

Non sono d'accordo con la maggior parte delle persone qui e dico andare con l'IDE. Un IDE è lì per rendere la vita più facile, non più difficile. So che provenire da un completamento automatico in background .NET è il modo in cui imparo le lingue. Non leggo la documentazione. Vedo ciò che suggerisce il mio IDE e vedo cosa fa.

Non mi preoccuperei molto di non conoscere tutti i dettagli di ciò che accade sullo sfondo, lo capirai quando ne avrai bisogno. Nel frattempo ne avrai abbastanza per continuare a imparare i dettagli della lingua. Hai bisogno di tutto l'aiuto che puoi ottenere, se hai scritto .NET in passato, un IDE sarà un aiuto enorme.

+0

Prospettiva molto interessante. Grazie. –

+2

Questo è il rovescio della medaglia: nascondi i dettagli nitty-grintosi finché non hai bisogno di conoscerli. Ha il vantaggio di risparmiare tempo per essere subito operativo. – Merritt

+0

@Merritt: Effettivamente, e non ci ho davvero pensato. Intellisense in Visual Studio rende sicuramente le cose più facili, ma allo stesso tempo, spesso "approfondisco" le scelte che Intellisense offre, specialmente quando si lavora con una nuova API. Forse questo si tradurrà bene in RoR. –

0

Se vieni da .net/VS sfondo, dico andare con un IDE. Sono uno sviluppatore C# che lavora con ruby ​​e rail nel mio tempo libero (quindi non sono un 'ruby professionista') e come ho detto Jack Ryan sopra, gli sviluppatori di .net sono abituati a un certo modo di imparare le cose. è più facile imparare cose quando hai un IDE che ti mostra le opzioni di completamento automatico e la relativa documentazione fianco a fianco. in questo modo impareresti velocemente.

Ma per qualcosa come l'esecuzione di generatori, rake task, test ... ecc. È possibile utilizzare la console all'inizio (hey è possibile utilizzare una console e un IDE insieme giusto? :)). questo ti darebbe un'idea di cosa sta succedendo "sotto il cofano". in seguito potresti usare i tuoi "corridori" IDE o qualsiasi altra cosa per eseguire le stesse cose con una GUI.

Problemi correlati