Warum entscheiden wir uns 2020 immer noch für Ruby?

Hallo Habr! Ich präsentiere Ihnen die Übersetzung des Artikels "Warum ist Ruby im Jahr 2020 immer noch unsere Wahl?" von Vira Vashkovska.



Wir sind ein erfahrenes Ruby on Rails-Entwicklungsteam. Einige von uns entwickeln sich seit Jahren in Ruby und kennen es wie unsere Westentasche. Deshalb brauchen wir viel Mut, um zuzugeben, dass Ruby momentan nicht von seiner besten Seite ist.



Die Sprache war 2013-2015 sehr beliebt, aber dann nahm ihre Popularität ab. Dies macht sich insbesondere dann bemerkbar, wenn wir die Statistiken von Ruby und Ruby on Rails für 2020 mit den Fortschritten anderer Tools vergleichen. Stack Overflow hat die Wachstumsdynamik von Ruby und Node.js anhand der Anzahl der gestellten Fragen eher trivial verglichen. Ja, dies ist nicht der objektivste Indikator, aber Sie haben die Idee ...



Bild



Ruby-Benutzer sind gefallen, aber reicht das aus, um den Tod von Ruby anzukündigen? Nicht wirklich. Wenn Sie Artikel wie "Ruby is Dead" oder "Ruby is Irrelevant" gesehen haben, machen Sie sich bereit - irgendwann wurde jede Sprache für tot erklärt. Nehmen Sie Node.js - die Laufzeit hat gute Zeiten - und dennoch beeilen sich die Leute, ihren Tod anzukündigen.



Bild



Hastige Ansichten über den Untergang des Tools sind unter Softwareentwicklern unglaublich verbreitet. Wir haben bereits viele Instrumente gesehen, die für tot erklärt wurden, obwohl dies nicht einmal im entferntesten der Fall war. Alle erfahrenen Entwickler wissen, dass Geschichten über sterbende Sprachen und Frameworks beliebt sind.



Sind Ruby und Ruby on Rails bis 2020 tot?



Offensichtlich gibt es keinen Rauch ohne Feuer. Ruby ist keineswegs perfekt: Entwicklern wurden mehrere Gründe gegeben, über einen Wechsel zu anderen Tools nachzudenken. Werfen wir einen Blick auf die häufigsten Kritikpunkte an Ruby und Ruby on Rails und sehen, ob es sich lohnt.



1. "Chaotischer Verbrauch von Prozessorressourcen." Ruby und Ruby on Rails haben bekanntermaßen aus heiterem Himmel eine hohe CPU-Auslastung. Entwickler starten ihre typischen Prozesse, öffnen Aktivitätsmonitore und stellen fest, dass die CPU-Auslastung 50% oder sogar 100% beträgt. Diese Änderungen treten in der Regel ohne ersichtlichen Grund auf - die Entwickler verstehen nicht, was sie falsch gemacht haben, und müssen den Prozess abbrechen.



Unser Kommentar: Ruby kommt mit der CPU-Auslastung nicht gut zurecht. Um den Verbrauch zu reduzieren, reicht es normalerweise aus, die Konfigurationsdateien zu bearbeiten und unnötige Hintergrundscanprozesse zu deaktivieren. Das Problem ist oft die Qualität des Codes; Unsere einzige Beschwerde ist die Schwierigkeit, diese Probleme zu finden.



Bild



2. "Dynamisches Tippen ist kein Zeichen für guten Code." Die dynamische Eingabe in Ruby wird nicht ordnungsgemäß getestet. Entwickler können Fehler machen, unlesbaren Code erstellen und sich dessen nicht bewusst sein. Einige Leute denken, dass Ruby-Code-Repositories ein Magnet für technische Schulden sind.



Bild



Unser Kommentar: In Ruby sind Variablen dynamisch: Eine Variable kann auf verschiedene Werte verweisen und Sie können sie jederzeit ändern. Dies macht Ruby zu einer der schnellsten Sprachen zum Schreiben von Code, daher ist dies kein Nachteil. Ruby hat auch einen großartigen Garbage Collector, der technische Probleme automatisch erkennt und keine manuelle Konfiguration erfordert. Gut skalierte erfolgreiche Projekte mit Ruby sind ein Beweis dafür, dass Ruby sehr ordentlich sein kann.



3. "Es gibt keine Wachstumskurve." Es ist nicht so, dass Ruby schrecklich geworden ist, es ist nur so, dass andere Sprachen viel mächtiger geworden sind. JavaScript macht jedes Jahr unglaubliche Qualitätssprünge, während Ruby stetig, aber langsam wächst. Früher war Rails ein klarer Wettbewerbsvorteil, aber jetzt hat jede Sprache Rails-ähnliche Frameworks.



Unser Kommentar: Es stimmt, dass Ruby on Rails Node.js, JS, Python und eine Vielzahl anderer Frameworks inspiriert hat. In Bezug auf Updates haben diejenigen, die Ruby die ganze Zeit verwendet haben, signifikante Verbesserungen bei der Geschwindigkeit und Qualität des Codes festgestellt. Ruby on Rails im Jahr 2020 ist so schnell wie JS-Frameworks - wir haben einen Artikel, der dies ausführlicher erklärt.



Ruby und Ruby on Rails sind für viele Projekte ein Muss



Ruby ist keine Mainstream-Sprache, aber eine der effizientesten. Die Leute lernen es nicht zum Spaß - sie machen es für die Arbeit. Es wird derzeit von Airbnb, Hulu, GitHub und vielen anderen wichtigen Plattformen verwendet. Hier finden Sie einige zusätzliche Statistiken zu Ruby-basierten Websites und deren Datenverkehr.



Bild



Das Ruby on Rails 2020-Ökosystem umfasst eine der beliebtesten Communitys auf GitHub mit über 3.500 Mitwirkenden. Um Ihnen eine Vorstellung zu geben, Django, eines der beliebtesten Python-Frameworks, hat nur 1.500. Ein Vergleich zwischen Ruby on Rails und Django im Jahr 2020 zeigt also, dass RoR tatsächlich gut abschneidet.



Die Ruby-Entwicklung ist schnell und effizient



In Syndicode verwenden wir Ruby aus vielen Gründen. Erstens benötigt das schnelle Schreiben von Projekten in Ruby 30-40% weniger Zeit als in anderen Sprachen. Dies liegt daran, dass Sie 3-4 Mal weniger Codezeilen benötigen als in Java oder Python. Der Code ist leicht und verbessert die Leistung.



Früher hatte Ruby den Ruf, langsam zu sein, aber dies kann mit guten Codierungspraktiken gelöst werden. Wir stimmen voll und ganz dem von Shopify veröffentlichten Leitfaden zu - es ist einfach, schnellen Ruby-Code zu schreiben, wenn Sie wissen, wie.



Bild



Vorteile der Ruby-Entwicklung für Produktbesitzer



Codierungsgeschwindigkeit, weniger Zeilen und großartige Frameworks scheinen ein Entwicklungsvorteil zu sein. Wie wäre es mit Produktqualität und Leistungsvorteilen? Nach unserer Erfahrung hat Ruby Unternehmen viel zu bieten.



Schnelle Markteinführung. Ruby on Rails ist unsere Wahl für die MVP-Entwicklung, da es das einzige Tool ist, mit dem wir Hochgeschwindigkeitscodierung ohne Qualitätseinbußen erzielen können.



Flexibilität. Da Ruby-Code so schnell und einfach zu bearbeiten ist, ist das Erstellen und Veröffentlichen von Updates eine einfache Aufgabe. Entwickler können schnell neue Funktionen veröffentlichen, Innovationen auf den Markt bringen und sich an die Bedürfnisse der Benutzer anpassen.



Popularität von Ruby on Rails im Jahr 2020: Das Ruby on Rails-Plattform-Ökosystem übertrifft die meisten Backend-Entwicklungsumgebungen, einschließlich Node- und Python-Tools, deutlich.



Viele kostenlose Tools und Bibliotheken. Es gibt ein riesiges Ökosystem von Ruby und Ruby on Rails-Edelsteinen und -Repositorys: wiederverwendbare Codefragmente, die in jedes Projekt integriert werden können.



Kostengünstig: Mit Ruby müssen Sie 2-3 Mal weniger für die Entwicklung bezahlen. Dies liegt daran, dass Sie mit der Syntax der Sprache schnell schreiben können. Dennoch können viele Funktionen mit von der Community generiertem, gebrauchsfertigem Code implementiert werden.



Plattformübergreifend: In Ruby geschriebener Code funktioniert auf allen Geräten und Betriebssystemen sowie in allen Browsern. Alle unsere von Ruby betriebenen Websites, SaaS und Marktplätze funktionieren in einer plattformübergreifenden Umgebung einwandfrei.



Sicherheit: Ruby und Ruby on Rails sind ideal für datensensitive Anwendungen (Finanzplattformen, Marktplätze, Gesundheitslösungen usw.). Ruby und RoR folgen dem sicheren Entwicklungslebenszyklus: Entwickler priorisieren Sicherheitstools, Echtzeitüberwachungstools und halten sich an hohe Sicherheitsstandards.



Top 5 Bereiche für die Ruby-Entwicklung



Es gibt kaum Aspekte der Webentwicklung, die Ruby nicht behandelt. Basierend auf unserer Erfahrung haben wir jedoch 5 Haupttypen von Projekten identifiziert, bei denen die Verwendung von Ruby anstelle anderer Allzwecksprachen "einen Unterschied macht".



Handelsplattformen



Bild



Ruby wird verwendet von: Airbnb, Hulu, Amazon



Marketplaces sind riesige Webplattformen, die Käufer und Verkäufer verbinden, Finanztransaktionen, Transaktionen und Käufe ermöglichen. Sie verarbeiten große Datenmengen, erfordern hohe Sicherheitsstandards und sind zeitaufwändig in der Entwicklung.



Wir verwenden Ruby on Rails für alle unsere Projekte auf dem Markt, einschließlich der sehr erfolgreichen Clean Agents und HotelCloud. Dies ermöglicht es uns, die Entwicklungszeit zu verkürzen, die Qualität zu verbessern und Updates schnell zu veröffentlichen.



Software als Service



Bild



SaaS mit Ruby: Basecamp, Dribble



Software-as-a-Service ist eine Plattform, die kontinuierlich Dienste auf regelmäßiger Abonnementbasis bereitstellt. Zwei Kriterien für den Aufbau eines erfolgreichen SaaS sind Geschwindigkeit und Sicherheit. Schließlich tragen SaaS-Anbieter langfristig für den Erfolg ihrer Kunden. Zuverlässigkeit, gute Leistung, Sicherheit und schnelle Updates sind unerlässlich. Aus diesem Grund ist Ruby on Rails die beste Wahl für die SaaS-Entwicklung.



Skalierbarkeit: SaaS wächst schnell - Unternehmen wachsen mit einer Rate von 50-60% pro Jahr. Die Codebasis muss sich an neue Anforderungen anpassen und hohen Belastungen standhalten. Mit Ruby und RoR können Sie die Funktionalität schnell ändern und Services an neue Anforderungen anpassen.



Kosteneffizienz: Ruby on Rails verfügt über eines der wichtigsten Ökosysteme für die Webentwicklung. Eine große GitHub-Community, hochwertige Edelsteine ​​und gebrauchsfertige Bibliotheken tragen zu einer robusten Infrastruktur bei.



Wir haben Ruby on Rails für InstaLinks ausgewählt, ein SaaS, das intelligente Links generiert, auf die von Desktop und Handy aus zugegriffen werden kann. RoR erfüllt auch die Anforderungen größerer Projekte wie CRM - sehen Sie sich unseren Fall mit UkrVit an.



MVP



Bild



Unternehmen, die Ruby für MVPs wie Twitter, Shopify, GitHub, Basecamp



Ruby und Ruby on Rails verwendet haben, sind offensichtliche Optionen für die MVP-Entwicklung. MVPs müssen schnell entwickelt werden - Produktbesitzer möchten sie an Benutzer verteilen, Investoren einen rücksichtsvollen Service bieten und ihre Reichweite erweitern.



Einfach zu erstellen: Selbst ein kleines Ruby on Rails- und Ruby-Team kann ein großes MVP erstellen.

Einfaches Lernen: Interne Entwickler können später schnell an unserem Projekt teilnehmen, da das Erlernen von Ruby on Rails aufgrund seiner einfachen Syntax wenig Zeit in Anspruch nimmt.



Hier ist ein Beispiel für ein MVP, das von unseren Webentwicklern mit Ruby on Rails erstellt wurde. HelloCare ist der Gesundheitsmarkt, auf dem Sicherheit und Zuverlässigkeit oberste Priorität haben. Mit Ruby on Rails können wir diese ehrgeizigen Ziele erreichen und gleichzeitig die Markteinführungszeit und die Herstellungskosten niedrig halten.



Plattformübergreifende Anwendungen mit Ruby on Rails



Bild



Mit Ruby: Basecamp, GitHub erstellte plattformübergreifende Apps Eine



mobile App muss in der Lage sein, Geräte-APIs zu nutzen, Push-Benachrichtigungen zu senden und sich an Hardware- und Betriebssystemeigenschaften anzupassen. Ein gutes Backend-Tool für eine mobile App sollte Warnungen, Ankündigungen und Datensynchronisierung senden. Wir verwenden Ruby und Ruby on Rails, um das Back-End für die Datenbank, den Webserver und den Anwendungsserver einzurichten.



Obwohl wir Ruby hauptsächlich für Webprojekte verwenden, beziehen wir uns bei plattformübergreifenden Tools häufig auf diese Sprache. Genau das haben wir mit Kindercare gemacht, einer Anwendung, die die Verwaltung und Organisation der Tages- und Vorschulbetreuung automatisiert. Wir haben Ruby und Ruby on Rails verwendet, um mobile und Webversionen der Plattform zu entwickeln, und die Anwendung hat weltweit hervorragende Antworten und hohe Bewertungen erhalten.



Innovative Dienstleistungen mit der Entwicklung von IoT und AI



Ruby on Rails wird oft als erschwingliches Werkzeug für einfache Projekte angesehen, aber es ist tatsächlich viel mehr als das. Wir lieben es, Ruby und Ruby on Rails für ehrgeizige Produkte zu verwenden, die KI, IoT, maschinelles Lernen usw. verwenden.



Die Sprache ist leistungsfähig genug, um komplexe Innovationen aufzunehmen, und ihre einfache Syntax spart viel Entwicklungsaufwand.



Ruby Gems bietet eine Menge Standardcode für AI- und IoT-Innovationen.



Schlussfolgerungen



Ruby stirbt nie. Sowohl die Statistiken als auch die Erfahrungen der Syndicode-Entwickler weisen auf dasselbe hin: Ruby ist eine praktische Sprache, die sich ideal zur Lösung spezifischer Geschäftsprobleme eignet. Es bietet möglicherweise keinen sofort einsatzbereiten Ansatz, was es für Communitys wie Stack Overflow weniger interessant macht, aber es funktioniert.



Die Zukunft von Ruby on Rails ist noch optimistischer - sie blüht vielmehr. Es ist immer noch eine der beliebtesten Webentwicklungsplattformen, und selbst RoR-ähnliche Frameworks müssen noch mit dem Original Schritt halten. Ruby und Rails sind schnelle und effiziente Tools zum Erstellen von Web- und mobilen Lösungen - und der Vorteil geht nirgendwo hin.



Wenn Sie vorhaben, einen Marktplatz, SaaS oder eine Webplattform mit einer mobilen Version aufzubauen, ist Ruby wahrscheinlich die richtige Wahl für Ihr Projekt. Sie werden es sicher wissen, wenn Sie mit den Entwicklern darüber sprechen. Zögern Sie also nicht, uns zu kontaktieren.



All Articles