Is Ruby On Rails een goeie keuze in 2021

April 19, 2021

Vaak krijgen we de vraag wat het verschil is tussen al die verschillende webtechnologieën. Frontend, Backend, JavaScript, .. zijn termen die we al eens vaker gehoord hebben, maar als je bezig bent met je eigen zaak kan je zich daar natuurlijk niet in verdiepen. Toch is het mogelijk om als niet specialist een doordachte keuze te maken of om toch enige notie te hebben over de verschillen in het techologielandschap. In deze blogpost evalueren we daarom het webframework Ruby on Rails. Toegegeven, als gebruiker en ervaringsdeskundige ben ik misschien niet helemaal neutraal. Maar gezien de jarenlange ervaring ken ik ook echter de pijnpunten en valkuilen bij het gebruik van Ruby On Rails. En wees gerust, deze komen ook zeker aan bod!

Verschillende technologische tools zijn gebouwd met verschillende doelwitten in het vizier. Java heeft zijn sterkte binnen de Enterprise software, Python is de dominante speler op het vlak van datascience en wetenschap, maar om te begrijpen waar Ruby zijn gram haalt keren we even terug in de geschiedenis.

Bij de lancering van de eerste versie in 2005 was de developers community meteen razend enthousiast. Vele mensen waren destijds wel toe aan vernieuwing gezien PHP in vele gevallen te wensen overliet en met de goede filosofie van Ruby en kwam er in snel tempo een framework in stand die onze gemeenschap in staat stelde:

  • Aan een snel tempo nieuwe websites met goeie standaarden te bouwen, ideaal voor prototypes.
  • Dankzij de Japanse filosofie van Ruby een solide basis had en al relatief snel heel betrouwbaar bleek te zijn
  • Een gemeenschap en een opensource cultuur met zich meebracht die samenwerking en testen bevorderde (en dus ook de ontwikkelkost naar omlaag haalde)

In Gent werd dit in de beginjaren gevierd met een jaarlijkse internationale topconferentie over Ruby (ArrrrCamp)

Een Twittertm, Netflixtm en LinkedIntm later, wordt Ruby on Rails nog heel vaak gebruikt. Het initiële enthousiasme is misschien weg, maar dat is vervangen door een zeer matuur framework.

Het Rapid Application Development aspect van Ruby on Rails is ook vandaag nog de reden waarom het binnen de startupcultuur nog steeds de technologie bij uitstek is. Hoewel er wat kapers op de kust zijn (Node.js, Elixir, Crystal..) is Ruby on Rails nog steeds de referentie en voor velen binnen de startup scene dan ook een standaard. Dit zorgt er ook voor dat je heel wat ondernemende mensen hebt die vertrouwd zijn met Ruby on Rails.

Het is echter mijn mening dat Ruby On Rails vooral binnen de KMO het meest tot zijn recht komt. Deze omgevingen vereisen een flexibiliteit waarbij er geen weken maar slechts dagen op bepaalde nieuwe features kan gewacht worden. Dit dynamisme zit ingebakken in het framework, snel kunnen schakelen is de boodschap. KMO’s hebben vaak een eigen heel specifieke workflow binnen een niche die niet in een generiek softwarepakket te vatten is. Anderzijds kunnen KMO’s zich vaak geen grote ontwikkelbudgetten veroorloven waar multinationals dit wel kunnen. Ruby On Rails ligt op het perfecte kruispunt prijs/kwaliteit.

Binnen de traditionele multinationals komt Ruby on Rails nog minder vaak voor, ben je een multinational met een intern ontwikkelteam dan ben je immers vaak reeds gebonden aan een bepaalde (oudere) technologie. Toch zijn er dag van vandaag heel wat multinationals die deze trend willen doorbreken en vaak afdelingen laten functioneren als een startup binnen het grotere geheel.

Sinds 2016 is er een trend opgang waarbij de frontend frameworks (React, Vue, Angular) vaak de aandacht opeisen, en overschaduwen deze de vernieuwingen op de backend. Vaak is een solide basis in de backend met Ruby on Rails nog steeds onmisbaar. Deze frameworks verhogen vaak wel gevoelig de ontwikkeltijd van bepaalde projecten, omdat ze vaak extra werk meebrengen. Vele zaken moeten nu immers in tweevoud ontwikkeld worden. Het resultaat mag er zeker wezen, maar niet voor elke applicatie is hyperinteractiviteit vereist.

Tot nog toe enkel lof? Maar waar zitten de problemen dan?

  • Helaas is het pluspunt van de gebruiksvriendelijkheid naar de ontwikkelaar toe ook soms een minpunt. Minder ervaren developers schrijven vaak onbewust code die snel werkt op een klein aantal gevallen, maar niet performant genoeg is voor de echte use case. Daarom is het zeker belangrijk dat je met een ervaren partner in zee gaat. (Eigenlijk geldt dit voor elke technologie, maar bij Ruby On Rails komt het sneller naar boven).
  • Hoewel het binnen de sector zeker een van de prominente frameworks is, heeft het meer de traditionele markt van Java en PHP gebaseerde oplossingen nog niet voorbij gestoken, en word het door sommigen nog steeds als niche beschouwd.
  • Het dynamisme van de taal is een mes dat aan twee kanten snijdt, bij andere technologiëen zijn er vaak extra checks and balances die bepaalde problemen sneller kunnen onderscheppen. In onze ervaring weegt het snel kunnen schakelen en oplossen van een probleem vaak niet op kan tegen de extra complexiteit.

Hoe ziet de toekomst er dan uit? Moeilijk te zeggen natuurlijk, maar de kans is heel groot dat binnen 10 jaar tijd het aantal Ruby on Rails platformen enkel is toegenomen. En de verklaring daarvoor is niet ver te zoeken.

Bedrijven als Facebooktm, Googletm , Microsofttm en Appletm lanceren vaak hun eigen frameworks, met het oog om mindshare te winnen bij de ontwikkelaars. Alhoewel deze vaak opensource zijn, zit de kennis wel vaak voor een groot stuk intern bij die bedrijven en bepalen zij daardoor voor een groot stuk de richting van het project. Ruby on Rails is volledig open source en operereert volledig los en onafhankelijk van een grote speler. Deze onafhankelijk zorgt er voor de Ruby on Rails nog gegarandeerd een heel stabiele en lange levensduur zal kennen.

Het web in het algemeen zal natuurlijk niet meteen verdwijnen, en het ziet er naar uit dat het aandeel van platformonafhankelijke apps ook op mobiel enkel zal toenemen, doormede de trend van de zogenaamde Progressive Web Apps.

Kortom, overweeg je in 2021 een nieuw online platform te lanceren? Met Ruby On Rails zit je nog zeker goed!