Ich entwickle eine Website mit RUBY ON RAILS; JSON für Kommunikations-APIs und MONGODB als Nosql-Datenbank. Also kann ich weiter Windows-Plattform gewinnen oder muss ich mit Linux gehen? Wenn ja .. was dann? Bitte schlagen Sie die beste Plattform für mein Projekt vor.ist es in Ordnung, Windows-Plattform zu verwenden, um RUBY-Projekt zu entwickeln? oder sollte ich stattdessen Linux verwenden?
Antwort
Ich habe mit Rails unter Windows, Mac und Linux entwickelt, daher denke ich, dass ich eine ziemlich breite Perspektive habe.
Windows ist machbar; aber die Plattform wird dich bei jedem Schritt des Weges bekämpfen. Linux und OSX sind hinsichtlich der Einrichtung einer Entwicklungsumgebung äquivalent, Linux ist ein wenig einfacher zu starten, während OSX den Vorteil eines besseren Toolsets hat. Ich bevorzuge OSX, Linux und Windows in dieser Reihenfolge.
RVM allein ist ein ziemlich zwingender Grund, ein Unix-basiertes Betriebssystem zu verwenden.
Homebrew ist ziemlich genial, aber ist es wirklich vergleichbar mit Apt? –
@Matt Apt ist, warum ich sagte Linux war einfacher zu beginnen :) Obwohl Homebrew ist nicht so beängstigend. Ich denke, ich brauchte es nur, um mysql und git zu installieren. –
@Matt RVM stuft das Spielfeld zwischen OSX und Linux beträchtlich ein, wenn es um die Installation von Ruby geht. –
Sie können Windows verwenden.
Sie können jedoch ein wenig Probleme haben. Der größte Teil der Dokumentation geht von einem Unix-System (Mac OS X, Linux usw.) aus, so dass Sie Anweisungen übersetzen müssen (Kompilierung, Pfade usw.).
Sie müssen bedenken, dass Windows immer ein Bürger zweiter Klasse in der Welt des Rubins (und der meisten Open Source) sein wird. Es stammt aus ein paar Dingen, erstens ist das Fehlen von Fork auf Windows und die grundlegende Rolle, die es in Unix-Anwendungen spielt. Aus diesem Grund funktionieren die meisten guten App-Server überhaupt nicht auf Windows (Passenger/Nginx, Einhorn, Thin usw.). Das zweite große Problem ist, dass Ruby-Edelsteine sich auf c-Bibliotheken stützen können, die nicht verfügbar oder unter Windows schwer zu installieren sind. Schließlich, aufgrund des Fehlens von Ruby-Fenstern, ist ziemlich alles auf der Plattform nicht gut getestet.
Als allgemeine Faustregel gilt, Windows ist ideal für die Windows-Entwicklung, alles andere, was Sie mit Linux oder OSX verwenden sollten. Einige Plattformen haben eine bessere Unterstützung als andere, aber auf der ganzen Linie werden Dinge für Unix zuerst mit Windows als nachträglicher Einfall getan werden.
Sie sollten das gleiche Betriebssystem auf Ihren Entwicklungsservern (d. H. Testen von Entwicklern) ausführen, während Sie in der Produktion laufen. Andernfalls können Fehler auftreten, die nur in der Produktion auftreten.
Sie können jedoch Windows ausführen, wenn Sie möchten, führen Sie einfach das Zielbetriebssystem in einer VM aus; Sie können weiterhin einen Windows-Editor usw. verwenden, um den Quellcode zu bearbeiten. Sie können ein Windows SCM-System, ein Windows-basiertes Bug-Tracking-System usw. verwenden, es spielt keine Rolle.
Führen Sie einfach Ihren Testserver auf dem richtigen Betriebssystem und alles wird gut.
- 1. Ist es in Ordnung, mit() zu verwenden?
- 2. Warum ist es nicht ratsam, attach() in R zu verwenden, und was sollte ich stattdessen verwenden?
- 3. Sollte ich UUID überall verwenden oder ist es in Ordnung, mit normalen IDs zu mischen?
- 4. Ist es in Ordnung, Ruby 1.8.5 zu verwenden?
- 5. F #: Ist es in Ordnung, Theorembeweiser zu entwickeln?
- 6. Ist es in Ordnung, AWT mit JavaFx zu verwenden?
- 7. Ist es in Ordnung, google.setOnLoadCallback mehrmals zu verwenden?
- 8. Was sollte ich verwenden, um RTSP-Server zu erstellen, sollte es vlcj oder xuggler sein?
- 9. Ist es in Ordnung LinearLayout anstelle von FrameLayout zu verwenden?
- 10. Ist es in Ordnung, den CSS3-Selektor zu verwenden: not()
- 11. Ist es in Ordnung, noch Tabellen zu verwenden?
- 12. Ist es in Ordnung, `using` so zu verwenden?
- 13. Ist es in Ordnung, verschiedene Implementierungsdateien zu verwenden, um Polymorphie zu erreichen?
- 14. Ist es in Ordnung, die Rem-Einheit zu verwenden, um alles zu positionieren?
- 15. Wenn window.navigator.userAgent veraltet ist, was sollte ich stattdessen verwenden?
- 16. Mitgliedschaftsanbieter zu verwenden oder nicht zu verwenden?
- 17. Ist es möglich, Java zu verwenden, um dll zu erstellen?
- 18. Ist es möglich, DirectX-Anwendungen in Linux zu entwickeln?
- 19. Ist es möglich, Gradle zu verwenden, um Scala-Projekte zu entwickeln?
- 20. Ist es möglich, "man std :: find" in Linux zu verwenden?
- 21. Wenn Sie einzelnen Komponenten eindeutige Schlüssel zuweisen, ist es in Ordnung, Math.random() zu verwenden, um diese Schlüssel zu generieren?
- 22. Sollte ich aufhören, OpenCV zu verwenden?
- 23. Um Ansichten zu verwenden oder Ansichten nicht zu verwenden
- 24. Ist es in Ordnung, GET-URLs in Bestätigungs- oder Bestätigungs-E-Mails für Benutzerkonten zu verwenden?
- 25. Ist AnimatorInflater.loadAnimator billig genug, um häufig zu verwenden, oder sollte es zwischengespeichert werden?
- 26. Ist es in Ordnung, Plinq in allen Linq-Abfragen zu verwenden?
- 27. NHibernate - Ist es in Ordnung, eine abstrakte Basis zu verwenden, um Funktionalität anstelle einer Schnittstelle bereitzustellen?
- 28. Sollte ich bestehenden Magento CSS anpassen oder ich sollte Bootstrap und verwenden Sie stattdessen
- 29. Ist es sinnvoll, LINQ zu verwenden, um Schleifen zu ersetzen?
- 30. Was sollte ich verwenden, um Web Services App zu erstellen?
Nur zu Ihrer Information: Ruby ist kein Akronym. Es ist einfach der Name eines Edelsteins. Rails ist auch kein Akronym und MongoDB auch nicht. (Nun, der * DB * Teil ist.) –