Ruby on Rails gegen ASP.NET MVC 3 für einen .NET-Typ? [geschlossen]

98

Ich bin sehr neu in RoR und möchte zwischen APS.NET MVC3 und RoR wählen. C # ist sicher einfacher für mich, da ich es schon so lange mache, aber ich frage mich, ob es Sinn macht, RoR über .MVC zu verwenden, um eine reale Website zu entwickeln?

Was bekomme ich sonst noch mit RoR, was ich mit ASP.NET MVC 3 nicht bekommen kann, das es wert ist, die Zeit zu verbringen, um RoR zu beherrschen? Ich denke, das verfügbare Community-RoR-Plug-In wäre ein Grund, aber es scheint nicht so organisiert zu sein und die Lernkurve, um die richtigen Dinge zu tun, wird so groß sein, dass es praktisch nicht viel Zeit für einen Neuling spart! Ich könnte mich hier irren und ich schätze Ihren realen Kommentar dazu wirklich? Wohlgemerkt, ich muss noch ASP.NET MVC lernen, aber das klingt für einen .NET-Typ schnell!

Was könnte RoR einem .NET-Mitarbeiter bieten, der es wert ist , RoR über ASP.NET MVC 3 auszuwählen? und bitte die praktischen Hinweise! :) :)

iCode
quelle
11
Wie ist diese Frage nicht zum Thema oder keine echte Frage? Auf jeden Fall habe ich das adviceTag zu der Frage hinzugefügt .
Zabba
1
@ Zabba, warum? Sieht für mich wie ein Nicht-Tag aus.
Bzlm
1
@bzlm, was ist ein Nicht-Tag?
Zabba
2
@zabba nur 95 Fragen, keine Wiki-Zusammenfassung, unklarer Zweck (Fragen, die "Beratung" erfordern, sind normalerweise nicht beantwortbar und daher laut Site Charter nicht willkommen) usw. :)
bzlm
3
Chill Jungs! Wie lautet "Was sind die Werte von RoR über .NET MVC für einen NET-Entwickler?" Keine Frage? !!! Überhaupt nicht auf MVC festgelegt und habe mich nur nach der Antwort gefragt !!
ICode

Antworten:

71

Sie sind beide fantastisch und können die gleichen Ziele sehr schnell erreichen. Ich habe vor einiger Zeit ein großartiges Buch verwendet, um es zu lernen, und es wäre genau das Richtige für Sie: Rails for .Net Developers

Außerdem habe ich vor einiger Zeit einen Beitrag über den Wechsel von MVC zu RoR geschrieben .

Vergleiche haben beide Stärken, wie bereits erwähnt, aber hier sind einige, die mir auffallen:

  • Ich mag die Bereitstellung von RoR und die einfachen Möglichkeiten, auf Live-Sites zu pushen, wirklich - überhaupt keine Skripte zum Ausführen, nur ein bisschen Befehlszeile sollte Sie zum Laufen bringen, sobald der Code tatsächlich geschrieben ist. Wenn Sie sich für RoR entscheiden, VERSTEHEN SIE DIE BEFEHLSLINIENBEFEHLE - das wird Ihr Leben so viel einfacher machen!

  • Wie Sie bereits erwähnt haben, sind die Plugins großartig und können wirklich verwendet werden, um die Dinge zu beschleunigen.

  • Als .Net-Entwickler wird MVC ein Kinderspiel. Ich würde die Verwendung von Razor empfehlen, da es sehr einfach und übersichtlicher ist als das alte 2.0-Rendering ohne Rasiermesser.

  • Das EF4 von .Net kann fast direkt mit dem ActiveRecord von RoR verglichen werden, einem großartigen ORM-System für den Umgang mit Daten.

  • Ich habe festgestellt, dass die Dokumentation von .Net etwas konsistenter und gründlicher ist.

  • Ein Problem, das ich mit RoR hatte, waren die schnellen und drastischen Änderungen; Vor nicht allzu langer Zeit haben sie auf meinem Host ein Upgrade auf 3.0 durchgeführt, und ich habe meine Version nicht gesperrt - alle möglichen Dinge sind kaputt gegangen, bis ich die neuen Dinge herausgefunden habe (ich hätte meine Version einfrieren sollen).

Es ist keine saubere Wahl - beide sind großartig. Da Sie bereits ein .Net-Entwickler sind, würde ich vermuten, dass MVC3 der richtige Weg ist, aber beide sind leicht zu erlernen.

naspinski
quelle
4
Jetzt, da ASP.NET MVC Open Source ist, frage ich mich, wie schnell es die Funktionslücke mit RoR schließen wird. Ich setze mein Geld jetzt auf MVC3, da die Entwicklergemeinde die Möglichkeit hat, zu einem Produkt beizutragen, das von den MS-Entwicklungsteams noch vollständig unterstützt wird.
Scott
1
Ich bin mir nicht sicher über RoR. Wenn Sie ein .NET-Typ mit C # MVC und Razor sind, MS MVC, WebAPI, WCF, EF jedoch etwas umständlich finden und eine dichtere Lösung suchen, können Sie SS servicestack.net ausprobieren. Es ist kostenlos , Open Source, sehr aktive Community unterstützt .net und Mono, vollständiger Ersatz der oben genannten schweren Framworks. Ich persönlich liebe es sehr :)
Tom
2
Die Ruby-Versionierung ist einfach und vorhersehbar, wenn Sie Bundler verwenden, wie Sie es sollten.
Lilith River
31

Ich benutze und mag beide, und das Problem bei einer solchen Frage ist, dass sie so unterschiedlich sind, dass man den ganzen Tag über Äpfel oder Orangen reden kann, aber da Ihre Frage ziemlich unspezifisch ist, sage ich einfach:

Wenn Sie sich als ".NET-Typ" betrachten, sollten Sie eine Sprache lernen, die ganz anders funktioniert als C #, und eine dynamische Sprache wie Ruby ist kein schlechter Ausgangspunkt. (Eine weitere Option wäre eine funktionale Sprache wie Haskell, Scala usw.)

Sie werden danach ein besserer Programmierer sein und müssen sich nicht mehr ".NET-Typ" nennen!

Craig Stuntz
quelle
3
Ich stimme zu, aber mein Ziel, eine echte Website so schnell wie möglich zum Laufen zu bringen und meinen Horizont zu erweitern, ist derzeit nicht mein Hauptziel. Ich schätze es sehr, neue großartige Dinge wie Ruby zu lernen, aber mein Fokus liegt momentan darauf, die richtige Option für eine begrenzte Zeit auszuwählen, die ich habe. Und warum sind die Äpfel und Orangen ihr Ziel, ein Webentwicklungs-Framework zu sein?
ICode
3
Mit Rails ist es kein Problem, eine echte Site schnell zum Laufen zu bringen. Tun Sie sich selbst einen Gefallen: Arbeiten Sie eine Woche lang an diesem Tutorial, bevor Sie entscheiden, dass es Ihre Markteinführungszeit verkürzt. Das einzige Risiko ist, dass Sie etwas lernen! Der Grund, warum sie "Äpfel und Orangen" sind, ist, dass sie unterschiedlich arbeiten, auf verschiedenen Plattformen laufen usw. Sie haben eine gemeinsame MVC-Architektur und es gibt eindeutig viel Einfluss - meistens in eine Richtung - aber sie sind sehr verschiedene Welten. Es kann ein geisteserweiternder Unterschied sein.
Craig Stuntz
Grosses Dankeschön. Ich werde es tun. Würden Sie bitte noch kommentieren, was man mit Rails bekommen könnte, das in .MVC aus praktischer Sicht verfügbar ist, da Sie beide verwendet haben?
ICode
6

Kein RoR-Entwickler hier, aber ich mache Django und ich denke, die gleiche Frage könnte auch für Django gestellt werden. Die Nummer 1, die ich Django über ASP.NET MVC mag, ist, dass Django bereits mit dem ORM geliefert wird. Was bedeutet, dass die meisten Codebeispiele, die Sie im Web finden, einem ähnlichen Muster folgen. Mit ASP.NET MVC können Sie aus vielen verschiedenen ORMs auswählen, was eine gute Sache sein kann, aber auch Verwirrung stiften kann.

Genau wie @Craig sagte, ist es wirklich Äpfel gegen Orangen. Ich würde ASP.NET MVC auswählen, wenn ich es auf einem MS-Stack bereitstellen müsste, und Django für "persönliche" Projekte oder Projekte verwenden, bei denen es unter Linux bereitgestellt werden muss.

Al W.
quelle
3
Nie zuvor Django benutzt. Ich bin ein Rails- und .NET MVC-Typ. Fast jedes .NET MVC-Lernprogramm, das ich gesehen habe, geht davon aus, dass Sie Entity Framework verwenden, und die Dokumentation und Lernprogramme auf der ASP.NET-Site sind sehr gut. Um EF in ein MVC-Projekt aufzunehmen, geben Sie einfach einen Befehl in die NuGet-Paketmanagerkonsole ein - genau wie beim Abrufen eines Edelsteins mit Rails, außer dass Sie eine .net-Assemblyreferenz erhalten. IMHO .NET MVC mit EF und Code First sowie AppHarbor für die Bereitstellung kommen einer Rails-Umgebung am nächsten.
PhillipKregg
6

Sie erwähnen in Ihrer Antwort an Craig Stuntz, dass Sie die "richtige Option für die begrenzte Zeit, die Sie haben" wollen.

Entscheiden Sie sich für mvc3 und konzentrieren Sie sich darauf, genau das zu lernen, anstatt gleichzeitig eine neue Sprache und ein neues Framework zu erstellen. RoR ist großartig, aber es ist eine neue Sprache, ein neues Framework und eine neue IDE auf einmal und es besteht die Möglichkeit, dass Sie es beim ersten Mal nicht richtig machen. Ich habe nicht.

Auf der asp.net-Website finden Sie einige wirklich gute Tutorials , mit denen Sie sehr schnell einsatzbereit sind

Glatzkopf
quelle
2
Das war auch mein Gedanke und ich höre, dass die Leute darüber reden, wie einfach es ist, Dinge in RoR selbst für Neulinge zu tun, aber ich frage mich, ob das für eine Hallo-Welt-Website oder eine reale Produktions-Website ist. Ich weiß, dass meine Frage schwierig ist, aber irgendetwas sagt mir, dass RoR eine neue Sprache, ein neues Framework und eine neue IDE auf einmal ist, wie Sie erwähnt haben, und es kann nicht so schnell sein, ein Produktionsprodukt mit .MVC zu erstellen, aber ich wollte wissen, was das .net ist Community-Erfahrungen damit? Ich möchte neben dem Spaß vor allem wissen, wozu RoR anstelle von .MVC3 gewählt werden soll. Vielen Dank
iCode