Ruby on Rails vs ASP.NET MVC 3 per un ragazzo .NET? [chiuso]


98

Sono molto nuovo in RoR e desidero scegliere tra APS.NET MVC3 e RoR. C # è sicuramente più facile per me dato che lo faccio da così tanto tempo, ma mi chiedo se abbia senso considerare l'utilizzo di RoR su .MVC per sviluppare un sito Web reale?

Cos'altro ottengo con RoR che non posso ottenere con ASP.NET MVC 3 per cui vale la pena spendere il tempo per padroneggiare RoR? Pensavo che il plug-in RoR della comunità disponibile fosse una ragione, ma non sembra così organizzato e sembra che la curva di apprendimento per fare le cose giuste sarà così grande che praticamente non risparmierà molto tempo per un newby! Potrei sbagliarmi qui e apprezzo davvero il tuo commento nella vita reale su questo? Intendiamoci che devo ancora imparare ASP.NET MVC ma sembra veloce per un ragazzo .NET!

Cosa potrebbe offrire RoR a un ragazzo .NET che VALE la pena scegliere RoR su ASP.NET MVC 3? e per favore i consigli pratici! :)


11
In che modo questa domanda è fuori tema o non è una vera domanda? Ad ogni modo, ho aggiunto il advicetag alla domanda.
Zabba

1
@zabba, perché? A me sembra un non tag.
bzlm

1
@bzlm, cos'è un non tag?
Zabba

2
@zabba solo 95 domande, nessun riepilogo wiki, scopo poco chiaro (le domande che richiedono "consiglio" di solito non hanno risposta e quindi non sono benvenute secondo lo statuto del sito), ecc. :)
bzlm

3
Tranquilli ragazzi! Com'è "quali sono i valori di RoR su .NET MVC per uno sviluppatore NET?" non è una domanda? !!! Non bloccato affatto su MVC e mi chiedevo solo la risposta !!
iCode

Risposte:


71

Sono entrambi fantastici e possono raggiungere gli stessi obiettivi molto rapidamente. Qualche tempo fa ho usato un ottimo libro per imparare, e sarebbe proprio quello che fa per te: Rails for .Net Developers

Inoltre, ho scritto un post sul passaggio da MVC a RoR tempo fa.

Per quanto riguarda i confronti, entrambi hanno punti di forza come è stato spiegato, ma eccone alcuni che mi colpiscono:

  • Mi piace molto la distribuzione di RoR e i modi semplici per eseguire il push su siti live: nessun script da eseguire, solo un po 'di riga di comando dovrebbe metterti in funzione una volta che il codice è stato effettivamente scritto. Se scegli RoR, COMPRENDI I COMANDI DELLA LINEA DI COMANDO - ti renderà la vita molto più facile!

  • Come hai detto, i plugin sono fantastici e possono davvero essere usati per velocizzare le cose.

  • Come sviluppatore .Net, MVC sarà un gioco da ragazzi, consiglierei di usare Razor, poiché è molto semplice e meno ingombrante rispetto al vecchio rendering 2.0 senza rasoio.

  • L'EF4 di .Net può essere paragonato quasi direttamente ad ActiveRecord di RoR, ottimi sistemi ORM per la gestione dei dati.

  • Ho scoperto che la documentazione di .Net è un po 'più coerente e completa.

  • Un problema che ho avuto con RoR sono stati i cambiamenti rapidi e drastici; non molto tempo fa, sono passati alla 3.0 sul mio host e non ho bloccato la mia versione - ogni sorta di roba si è guastata finché non ho scoperto le nuove cose (avrei dovuto congelare la mia versione).

Non è una scelta pulita, entrambi sono fantastici. Dato che sei già uno sviluppatore .Net, immagino che MVC3 sarebbe la strada da percorrere, ma entrambi sono facili da imparare.


4
Ora che ASP.NET MVC è open source, mi chiedo quanto velocemente colmerà il divario di funzionalità con RoR. Sto investendo i miei soldi su MVC3 ora che la comunità degli sviluppatori avrà la possibilità di contribuire a un prodotto che è ancora completamente supportato dai team di ingegneri MS.
Scott

1
Non sono sicuro di RoR. Se sei un tipo .NET con C # MVC e Razor, ma trovi MS MVC, WebAPI, WCF, EF un po 'ingombrante e desideri una soluzione più compatta ... puoi provare SS servicestack.net ... È gratuito , open source, comunità molto attiva che supporta .net e mono, sostituzione completa dei pesanti framworks sopra. Personalmente lo apprezzo molto :)
Tom

2
Il controllo delle versioni di Ruby è semplice e prevedibile se usi Bundler, come dovresti essere.
Lilith River

31

Io uso e mi piacciono entrambi, e il problema con una domanda come questa è che sono così diversi che potresti andare tutto il giorno a parlare di mele contro arance, ma poiché la tua domanda è piuttosto aspecifica, dirò solo:

Se ti consideri "un ragazzo .NET", dovresti imparare un linguaggio che funziona in modo molto diverso dal C #, e un linguaggio dinamico come Ruby non è un brutto punto di partenza. (Un'altra opzione sarebbe un linguaggio funzionale come Haskell, Scala, ecc.)

Sarai un programmatore migliore dopo averlo fatto e non dovrai più chiamarti "un ragazzo .NET"!


3
Sono d'accordo ma il mio obiettivo è quello di avere un vero sito web attivo e funzionante il più velocemente possibile ed estendere i miei orizzonti non è il mio obiettivo principale in questo momento. Sicuramente apprezzo l'apprendimento di nuove grandi cose come Ruby, ma il mio obiettivo in questo momento è scegliere l'opzione giusta per il tempo limitato che ho. E perché le mele e le arance sono il cui obiettivo è essere un framework di sviluppo web?
iCode

3
Far funzionare velocemente un sito reale non sarà un problema con Rails. Fatti un favore: trascorri una settimana lavorando su questo tutorial prima di decidere che danneggerà il tuo time to market. L'unico rischio è che imparerai qualcosa! Il motivo per cui sono "mele e arance" è che funzionano in modo diverso, funzionano su piattaforme diverse, ecc. Hanno un'architettura MVC in comune e c'è chiaramente molta influenza, principalmente in una direzione, ma sono molto mondi diversi. Può essere una differenza che espande la mente.
Craig Stuntz

Ottimo grazie. Lo farò io. Potresti ancora commentare quello che si potrebbe ottenere con Rails, disponibile in .MVC dal punto di vista pratico, dato che li hai usati entrambi?
iCode

6

Non sono uno sviluppatore RoR qui, ma faccio Django e penso che la stessa domanda potrebbe essere posta anche per Django. La prima cosa che mi piace di Django su ASP.NET MVC è che Django viene già fornito con ORM. Il che significa che la maggior parte degli esempi di codice che troverai sul Web seguiranno un modello simile. Con ASP.NET MVC puoi scegliere tra molti ORM diversi che possono essere una buona cosa, ma possono anche causare confusione.

Proprio come ha detto @Craig, però, sono davvero mele contro arance. Sceglierei ASP.NET MVC se mi fosse richiesto di distribuirlo su uno stack MS e userei Django per progetti "personali" o progetti che lo richiedevano per essere distribuito su Linux.


3
Non ho mai usato Django prima. Sono un ragazzo di Rails e .NET MVC. Quasi tutti i tutorial .NET MVC che ho visto presumono che tu stia utilizzando Entity Framework e la documentazione e le esercitazioni sul sito ASP.NET sono molto buone. Per includere EF in un progetto MVC è sufficiente digitare un comando nella console del gestore di pacchetti NuGet, proprio come ottenere un gem con Rails, tranne per il fatto che si ottiene un riferimento all'assembly .net. IMHO .NET MVC con EF e Code First insieme ad AppHarbor per la distribuzione sono quanto di più vicino si possa ottenere a un ambiente Rails.
PhillipKregg

6

Nella tua risposta a Craig Stuntz hai menzionato che vuoi l '"opzione giusta per il tempo limitato che hai"

Vai con mvc3 e concentrati sull'apprendimento proprio questo, invece di un nuovo linguaggio e framework allo stesso tempo. RoR è fantastico, ma è un nuovo linguaggio, framework e IDE tutto in una volta ed è probabile che non lo farai bene la prima volta. Non l'ho fatto.

Ci sono alcuni tutorial davvero buoni sul sito web asp.net che ti permetteranno di essere subito operativo


2
Questo è stato anche il mio pensiero, ma ho sentito che la gente parla di quanto sia facile fare le cose in RoR anche per i neofiti, ma mi chiedo se questo sia per un sito web hello world o un sito web di produzione del mondo reale. So che la mia domanda è complicata, ma qualcosa mi dice che RoR è un nuovo linguaggio, framework e IDE tutto in una volta come hai menzionato e non può essere veloce nel realizzare un prodotto di produzione con .MVC ma volevo sapere cos'è .net esperienze della comunità con questo? Per lo più voglio sapere, oltre al divertimento, qual è il punto di scegliere RoR su .MVC3? Grazie
iCode
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.