Nachdem ich ungefähr 1 Jahr Erfahrung mit RoR sammeln durfte frage ich mich, ob ich nicht doch besser die Finger von RoR lassen sollte. Nach einigen Monaten Pause finde ich mich nicht mehr wirklich im Projekt zurecht. Vieles muß ich mir erst wieder neu anlesen. Mein persönlicher Eindruck ist, daß es nicht wirklich möglich ist, ein Ruby System ohne Aufwand nach einer Neuinstallation wieder zum Laufen zu bringen. Durch die automatische Installation werden zu jedem Zeitpunkt andere Versionen installiert. Das hat auch schon Probleme und extra Arbeit mit sich gebracht. Ein Bekannter von mir, der auch seit einiger Zeit mit RoR arbeitet, flucht auch regelmäßig über Rails. Verwendet man nicht die letzte Version, wird es auch schwerer Hilfe bei Problemen zu finden. Und mit jeder neuen Rails Version darf man anfangen, vieles im Projekt zu ändern. Es gibt auch Leute, die nie auf eine neuere Version upgrade. Nur was macht man dann, wenn es mal wieder eine Sicherheitslücke gibt und es nur Fixis für neuere Versionen gibt? Wenn man dann noch bedenkt, daß Ruby langsammer ist als C#, wäre es da nicht doch besser ASP.NET zu verwenden, zumal ich mich im Visual Studio und C# recht gut zurechtfinde? Nun raten einem immer wieder Leute zu Ruby On Rails. Auf der anderen Seite soll die Community von ASP.NET viel größer sein. Die Dokumentation soll auch besser sein. Und die Performance sowieso, da kompiliert. Kann Ruby On Rails überhaupt mit irgendwelchen Vorteilen auftrumpfen? Open Source hat für mich keine Bedeutung. Gibt's eigentlich eine Möglichkeit abzuschätzen, wie viele Zugriffe ein System (RoR, PHP, ASP.NET) pro Sekunde verarbeiten kann? Ich meine nicht durch ausprobieren ermitteln, sondern einfache nur ganz Pauschal? Zugriffszeiten auf dahinter liegende Datenbanken mal vernachlässigt.
Kann ich nicht nachvollziehen. Ich habe RoR 3.1, 3.2 und mittlerweile 4.0 Projekte. Security Fixes sind einfach einzuspielen und ändern nichts. Ich finde mich auch gut in den Projekten zurecht und wenn man Features in neuen Versionen nicht braucht zwingt einen niemand zum Upgrade. Probleme die du beschreibst hast du mit jeder Webtechnologie, weil sich die ganzen Bereiche nun mal schnell weiterentwickeln. Und nein man kann nicht pauschal abschätzen wieviel Zugriff ein System abkann, da gibts zu viel Parameter. Ich kann nämlich auch einen Scheiß in ASP.NET entwickeln der nicht mal 100 User verkraftet. Solange du keinen Auftritt hast der nennenswerte Last verursacht, ist das von untergeordneter Bedeutung. Ich kann nur sagen: "A fool with a tool is still a fool". Vielleicht sitzt in deinem Fall einfach das Problem vorm Rechner, ohne dich angreifen zu wollen. Die Community von Rails ist nun auch nicht gerade klein und es gibt viele erfolgreiche Projekte. Aber du warst ja auch der, der RoR unbedingt unter Windows entwickeln wollte, wo ich schon sagte, dass das der absolute Krampf ist. In diesem Sinne wirst du mit .net sicher besser fahren.
D. I. schrieb: > Ich finde mich auch gut in den Projekten zurecht und wenn man Features > in neuen Versionen nicht braucht zwingt einen niemand zum Upgrade. Security-Patches gibt es für die 2er-Versionen nicht mehr lange - man kommt also um Upgrades doch nicht grundsätzlich herum.
Uhu Uhuhu schrieb: > D. I. schrieb: >> Ich finde mich auch gut in den Projekten zurecht und wenn man Features >> in neuen Versionen nicht braucht zwingt einen niemand zum Upgrade. > > Security-Patches gibt es für die 2er-Versionen nicht mehr lange - man > kommt also um Upgrades doch nicht grundsätzlich herum. Ja du hast recht, 2.3 ist bald durch, aber wenn man bedenkt wie lange es schon Rails 3 gibt... irgendwann muss man auch im Webbereich einfach mal upgraden... Mit Rails 2 zu entwickeln macht ja auch nur noch bedingt Spaß, wenn ich Freiberufler wäre würde ich wohl einen Upgrade Service auf Stundenbasis anbieten ;)
Und wenn es ein eigenes Projekt ist? Sich selbst das Taschengeld erhöhen? ;-)
Also, ich habe inzwischen RoR auf einer Virtual Machine mit MintOS 14 laufen. Richtig, ich war der mit dem Windows. Und die Installationen waren jedes mal anders. Haben am Ende zwar alle funktioniert, aber ich bin mir nicht sicher, ob ich in der Lage wäre nach einem Systemcrash oder Rechnerwechsel die Installation eins zu eins wieder herzustellen. Vielleicht liegt es auch daran, daß sich kein Fan von dem ganzen Voodoo bin, der in Ruby On Rails steckt. C#/.NET sind mir halt vertraut. Viele Sachen in RoR hingegen bringen mich zum verzweifeln. Beispiele: Ich wollte einen Tabelleneintrag in mySQL editieren und ein History Feld erweitern. Ich habe also mit "<<" (glaube ich) eine neue Zeile an das History Feld angehängt. Dann habe ich die save funktion von ActiveRecord aufgerufen und mich beim nächsten aufrufen der Seite gewundert, wieso sich mein History Eintrag nicht verändert hat. Es hat nur ein paar Stunden gedauert, bis ich herausgefunden habe, daß ich mit "= alt + neu" hätte arbeiten müssen. Wieso? Weil Rails mal wieder weiser war als die Person vor dem Rechner. Offensichtlich gibt es Optimierungen im Rails Framework, die Datensätze nicht speichern wenn sie sich nicht verändert haben. Dabei wird offensichtlich bei Strings die Speicheradresse verwendet um herauszufinden, ob sich ein String geändert hat. Hängt man nun einfach mit der schnelleren << funktion etwas an einen String an, hat sich die String Adresse ja nicht verändert. Also optimiert Rails meine Erweiterung des History Feldes einfach weg und verwirft meine Änderungen am History Feld. An einer anderen Stelle wollte ich ein Objekt im Konstruktor initialisieren. Vielleicht min ich C++ verdorben, aber ich habe tatsächlich geglaubt, Konstruktoren würden immer ausgeführt. Nun kennen Ruby und Rails aber offensichtlich Wege, den aufruf des Konstruktors zu umgehen. Ich habe es dann irgendwann aufgegeben und die Initialisierung dann irgendwie in die Programmlogik eingebaut. Solche Sachen kommen in der ein oder anderen Form immer wieder vor. Und was nützt es mir, wenn man für vieles nur eine Zeile braucht, ich aber 2 Tage danach suchen muß. Dann schreibe ich lieber 100 Zeilen Code und weiß genau, was mein Programm macht. Natürlich kann man auch in ASP.NET schlecht Programmieren. Aber wenn man das Internet durchsucht findet man viele Blogs, die eben genau sagen: ASP.NET ist besser als PHP ist besser als ROR. Mir fehlt die Erfahrung um es selber zu beurteilen. Und selber erst alles auszuprobieren dauert mir einfach zu lange. Und darum starte ich lieber den 10-tausensten x VS y Thread. Es ist ja auch immer die Frage was man will. Und manchmal ist es mir eben wichtig die schnellste und leistungsfähigste Lösung zu suchen, auch wenn ich sie nicht brauche. Mit Rails würde ich wahrscheinlich problemlos ans Ziel kommen. Die Arbeit mit dem Visual Studio macht aber um längen mehr Spaß als die Arbeit mit Aptana Studio. Und mein Bauchgefühl sagt mir, daß die meißten Rails Beführworter auch Open Source Fans sind und somit ohnehin Microsoft hassen. Somit suche ich immer noch nach dem entscheidenden pro-Rails Argument. Microsoft kann mit einer Leistungsfähigen IDE und einem exzellenten Debugger aufwarten.
Be Bo schrieb: > Die Arbeit mit dem Visual Studio macht aber > um längen mehr Spaß als die Arbeit mit Aptana Studio. Aptana ist auch ein Scheiß. Ich arbeite mit RubyMine von JetBrains (ja kostet einen kleinen Obulus). Aber wenn man VS über educational hinaus einsetzen will, kostets ein bisschen mehr.
Be Bo schrieb: > Also optimiert Rails > meine Erweiterung des History Feldes einfach weg und verwirft meine > Änderungen am History Feld. Das hat mit Rails nicht die Bohne zu tun - das macht Ruby.
@Autor: D. I.: Aber mit VS kann ich auch Windows Programme schreiben. Und damit ist der Preis gar nicht so schlecht. Ok, die Standard Edition gibt's nicht mehr. Aber die Expressversionen dürfen, so weit ich weiß, auch kommerziell genutzt werden. Selbst, wenn nicht. Sollte es wirklich mal Geld bringen, dann ist auch die Professional Version erschwinglich. @Autor: Uhu Uhuhu: Letztlich ist es doch egal, was genau dahinter steckt. Tatsache ist, daß es sich nicht so verhält, wie man es erwarten dürfte. Oder kann mir einer die Stelle in der Dokumentation nennen, die diese Verhalten beschreibt? Alternative wäre ja auch noch PHP denkbar. Wir in den meißten Blogs irgendwo zwischen ASP.NET und RoR eingestuft.
Nun, Ruby ist Ruby und C# ist C#, jede Sprache hat so ihre Eigenheiten. Ich weiß ja nicht welche Blogs du liest, aber wenn die Lösung zu einem Problem PHP lautet, dann will ich lieber wieder das Problem zurück haben ;) Warum nimmst du denn nicht einfach ASP.NET, entwickelst mit deinem bekannten VS und deployst auf nen IIS? Wir müssen dir nicht krampfhaft RoR ans Knie diskutieren wenn du damit nicht zurecht kommst. Ich habe mir auch mal ASP.NET angeschaut und finde es eher nicht so nett zum entwickeln. Jedem sein Ding. Ich möchte einfach diese nahtlose Integration von Assets, HAML, SASS, CoffeeScript etc. und Deployment mit Capistrano nicht missen. Für meine Zwecke ausreichend. Und die ganzen MVC-Frameworks für PHP sind doch mehr Behelfskrücken als alles andere, IMO.
So, habe inziwschen folgende pauschale Aussagen gefunden: C# (Compiler) ist deutlich schneller als Ruby (Interpreter). Das macht sich aber nur bemerkbar, wenn man intensive Aufgaben abarbeiten will. Da die Hauptlast bei Anfragen aber vom (my)SQL Server erledigt werden, ist die Sprache nur geringfühgig für die Schnelligkeit verantwortlich. Gleiches gilt für die Bildverarbeitung (da Ruby rmagick verwendet, hat man C Geschwindigkeit). Ebenso sollen die Linux Dateisysteme schneller sein (gut für Download von z.B. Bilder). Wenn man jetzt noch davon ausgeht, daß man RoR mit dem Passenger und Apache verwendet, sollte es außerdem möglich sein, einmal generierte Seiten zu cachen. So daß Ruby wie es so schön genannt wurde, im Grunde nur die Aufgaben verteilt und alle Komponenten miteinander verbindet. Die eigentliche Arbeitslast verteilt sich dann auf Apache/Passenger/Das Dateisystem/Rmagick... Da ich keine großartige Datenverarbeitung betreiben will und es sich eher auf das dynamische Generieren von sich selten ändernden Seiten beschränkt, scheint die letztere Möglichkeit mit Apache/Linux interessant zu sein. Nun kann ich mich also zwischen PHP und RoR entscheiden. PHP kenne ich nicht, aber mit dem was ich bisher in RoR gemacht habe, würde ich schnell ans Ziel kommen. Stellt sich nur eine Frage: Welchen Hoster würde man für RoR Projekte nehmen? Wenn ich Ruby On Rails Hoster mit Wald und Wiesen PHP Hostern vergleiche, stelle ich fest, daß es für PHP mit 100GB HHD und Unlimitiertem Trafic recht günstige Angebote gibt. Ruby On Rails Hoster hingegen bieten häufig nur 1-4GB HHD und nicht selten Traficbeschänkungen. Dazu kommt, daß man offensichtlich an eine Bestimmte Ruby/Rails Kombination gebunden ist. Habt ihr da eine Empfehlungg? Oder ist sowas (http://www.strato.de/server/) der Weg, den man gehen sollte. Und dann alles selber installieren? Wie sieht es eigentlich mit der Performance von Servern aus. Zu Hause läuft alles auf einem neuen 4 Kern PC. Aber für die Preise, die da angeboten werden, wird einem wohl nur ein Bruchteil der Leistung zur Verfügung stehen. Gibt's da irgendwelche Erfahrungswerte? Hoster die dafür bekannt sind, langsammer oder schneller zu sein als die Konkurrenz?
Also entweder du nimmst Heroku oder einen anderen Rails-Cloudhoster oder du mietest dir einen VServer und setzt den selbst auf (so habe ich es gemacht). Shared-Hosting für Rails ist selten und funktioniert auch nicht so knorke wie bei PHP. Aber einen Ubuntu VServer mit RVM, Passenger und Nginx aufzusetzen ist keine schwarze Magie. Ich persönlich würde mehr zu Nginx als zum fetten Apache tendieren als Webserver, ist aber Geschmackssache, finde Nginx deutlich einfacher zum konfigurieren.
Also wäre diese Strato Server geeignet und ich muß nicht weiter suchen? http://www.strato.de/server/ Arbeitet der Passenger eigentlich mehrer Anfragen parallel ab?
Nun ich hoste bei HostEurope, aber ja die tuns denke ich auch, aber auf Apache würd ich bei 1-2GB eher dann verzichten. Ja Passenger und Nginx kann man so konfigurieren, dass parallel gearbeitet wird. Passenger ist mittlerweile der quasi-standard zum Einstieg.
Sehr zu empfehlen sind immer auch die ubernauten: http://uberspace.de Doku für RoR: https://uberspace.de/dokuwiki/cool:rails Allerdings wird grundsätzlich alles über die Shell erledigt. Gibt natürlich auch grafische Programme um einiges leichter zu machen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.