Wat is Ruby on Rails en waarvoor wordt het gebruikt?

Een framework voor het ontwikkelen van webapplicaties met Ruby

Ruby on Rails is een framework voor het bouwen van webapplicaties. Het is ontwikkeld met de programmeertaal Ruby en bevat vaste conventies voor onder meer schermen, databases, gebruikersacties en webadressen. Rails kan worden ingezet voor klantportalen, SaaS-platforms, interne bedrijfsapplicaties en andere toepassingen die via een browser worden gebruikt.

Hoe werkt het Ruby on Rails-framework?

Verdeel gegevens, verwerking en presentatie over vaste onderdelen

Ruby on Rails gebruikt doorgaans het Model-View-Controller-principe, afgekort tot MVC. Het model verwerkt gegevens en bijbehorende bedrijfsregels. De view bepaalt wat een gebruiker op het scherm ziet. De controller ontvangt een actie van de gebruiker en verbindt deze met de juiste gegevens en weergave.

Het framework werkt daarnaast volgens het principe Convention over Configuration. Rails bevat vaste afspraken over de inrichting van een applicatie, waardoor niet voor ieder technisch onderdeel opnieuw een structuur hoeft te worden bedacht. Developers kunnen deze conventies gebruiken om samenhangende functies binnen één toepassing te ontwikkelen.

Voor welke toepassingen is Ruby on Rails geschikt?

Gebruik één framework voor bedrijfsregels, gegevens en webschermen

Ruby on Rails is een full-stack framework. Dit betekent dat het onderdelen bevat voor zowel de zichtbare gebruikersomgeving als de verwerking achter de schermen. Een webapplicatie kan daardoor gebruikersinvoer ontvangen, gegevens opslaan, bedrijfsregels uitvoeren en vervolgens een resultaat in de browser tonen.

Active Record is het onderdeel waarmee een Rails-applicatie met een relationele database werkt. Daarmee kunnen developers bijvoorbeeld klanten, accounts, aanvragen, producten en statussen als onderling verbonden gegevensmodellen inrichten. Validaties kunnen controleren of verplichte informatie aanwezig is voordat een record wordt opgeslagen.

Routes bepalen welke webadressen en gebruikersacties bij bepaalde functies horen. Een route kan bijvoorbeeld verwijzen naar een overzicht, detailpagina, invoerformulier of bewerkingsactie. Controllers verwerken de aanvraag en bepalen welke gegevens en schermen daarbij beschikbaar worden gemaakt.

Rails bevat ook technische voorzieningen voor e-mailberichten, bestandsuploads, achtergrondtaken en realtime updates. Een toepassing kan bijvoorbeeld na het indienen van een formulier een bevestiging versturen. Een omvangrijke verwerking kan als achtergrondtaak worden uitgevoerd, zodat de gebruiker niet op dezelfde pagina hoeft te wachten.

Ruby on Rails kan worden gebruikt voor een klantportaal waarin gebruikers hun gegevens, aanvragen en documenten bekijken. Ook een medewerkersportaal, planningsapplicatie of abonnementsomgeving kan met Rails worden ontwikkeld. De geschikte inrichting hangt af van de gebruikers, processen, gegevens en gewenste koppelingen.

Kan Ruby on Rails ook als backend voor een app worden gebruikt? Ja. Een Rails-applicatie kan via een API gegevens beschikbaar maken aan een mobiele app of afzonderlijke gebruikersomgeving. De API legt vast welke informatie mag worden opgevraagd of gewijzigd en welke autorisatie daarvoor nodig is.

Gebruikersrollen kunnen binnen de applicatie verschillende functies toegankelijk maken. Een klant ziet bijvoorbeeld alleen de eigen dossiers, terwijl een medewerker aanvragen mag behandelen. Een beheerder kan aanvullende instellingen aanpassen. De opdrachtgever bepaalt welke rollen en rechten nodig zijn; APPelit verwerkt deze technisch in de toepassing.

Voor functies die niet standaard in Rails aanwezig zijn, kunnen aanvullende Ruby-pakketten worden gebruikt. Zo’n pakket wordt een gem genoemd. Voor iedere toevoeging moet worden beoordeeld of deze aansluit op de gebruikte Rails-versie, gewenste werking en beveiliging van de applicatie.

De keuze voor Ruby on Rails hangt niet alleen af van de gewenste functies. Ook de bestaande technische omgeving, koppelingen, verwachte belasting en benodigde interacties spelen een rol. Een applicatie met veel gegevensformulieren en duidelijke bedrijfsregels stelt andere technische eisen dan een toepassing voor intensieve beeldverwerking of een realtime 3D-omgeving.

Schaalbaarheid is daarom geen automatische eigenschap van alleen het framework. De database-inrichting, achtergrondprocessen, caching, infrastructuur en externe diensten beïnvloeden samen hoeveel aanvragen een toepassing kan verwerken. Deze onderdelen worden afgestemd op het afgesproken gebruik van de software.

Een Rails-applicatie kan geautomatiseerd en handmatig worden getest. Tests kunnen bijvoorbeeld controleren of berekeningen, validaties, autorisaties en gebruikersroutes volgens de vastgelegde voorwaarden werken. Daarnaast wordt beoordeeld hoe de toepassing reageert op ontbrekende informatie, ongeldige invoer en tijdelijk niet-beschikbare koppelingen.

Bij een bestaande Rails-applicatie is ook de gebruikte versie van belang. Frameworkversies en aanvullende onderdelen worden na verloop van tijd bijgewerkt. Een versie-upgrade kan aanpassingen vereisen aan functies, koppelingen en technische afhankelijkheden. Daarom wordt de werking na een upgrade opnieuw gecontroleerd.

Case: Ruby on Rails voor een serviceportaal

Meldingen, locaties en onderhoudsafspraken in één webapplicatie verwerken

Een onderhoudsbedrijf beheert technische installaties op verschillende klantlocaties. Klanten sturen servicemeldingen per e-mail, waarna medewerkers de bijbehorende locatie, installatie en contactpersoon handmatig opzoeken. De organisatie wil deze gegevens via een afgeschermd portaal laten registreren.

De opdrachtgever bepaalt welke klantgegevens, installaties en soorten meldingen in de toepassing beschikbaar moeten zijn. Ook legt de organisatie vast welke statussen medewerkers gebruiken en welke informatie klanten tijdens de afhandeling mogen bekijken.

APPelit ontwikkelt een webapplicatie met Ruby on Rails. Iedere klantorganisatie krijgt eigen gebruikersaccounts. Na het aanmelden ziet een gebruiker alleen de locaties en installaties die aan het betreffende account zijn gekoppeld.

Bij een nieuwe melding selecteert de klant eerst een locatie en installatie. Het formulier toont vervolgens de velden die voor dat type installatie nodig zijn. De toepassing controleert of de verplichte omschrijving en contactgegevens aanwezig zijn voordat de melding wordt ingediend.

Rails verwerkt de relaties tussen klanten, locaties, installaties en meldingen. Iedere servicemelding krijgt een eigen status en wordt gekoppeld aan de geselecteerde installatie. Hierdoor kan een bevoegde medewerker eerdere meldingen voor dezelfde installatie terugvinden.

Na indiening ontvangt de klant een bevestiging. De melding verschijnt tegelijkertijd in het werkoverzicht van de verantwoordelijke medewerkers. Zij kunnen de status aanpassen, een interne behandelaar selecteren en een voorgestelde onderhoudsdatum toevoegen.

De klant ziet in het portaal de actuele status en afgesproken datum, maar krijgt geen toegang tot interne notities. Deze scheiding wordt ingericht met gebruikersrollen en autorisaties. Ook directe pogingen om een dossier van een andere klant te openen, worden technisch geblokkeerd.

Via een API-koppeling kunnen geselecteerde klant- en installatiegegevens uit een bestaand bedrijfssysteem worden opgehaald. De organisatie bepaalt welk systeem de centrale informatiebron blijft en welke wijzigingen tussen de systemen mogen worden uitgewisseld.

Voor de oplevering worden verschillende gebruikersroutes getest. Daarbij wordt onder meer gecontroleerd of gebruikers uitsluitend toegestane locaties zien, verplichte velden correct werken en statuswijzigingen op het juiste moment worden getoond.

Deze toepassing past bij Ruby on Rails omdat zij bestaat uit onderling verbonden gegevens, formulieren, gebruikersrollen en vaste processtappen. APPelit bouwt de technische functionaliteit; het onderhoudsbedrijf bepaalt de inhoudelijke serviceregels en toegangsrechten.

Ruby on Rails-ontwikkeling door APPelit

Laat een webapplicatie bouwen rond uw gebruikers en bedrijfsregels

APPelit ontwikkelt nieuwe Ruby on Rails-applicaties en uitbreidingen voor bestaande digitale omgevingen. Daarbij kunnen gebruikersportalen, beheerfuncties, databases, achtergrondtaken en API-koppelingen worden gerealiseerd.

Voor uw organisatie ontstaat een webapplicatie die de afgesproken gegevens, handelingen en toegangsrechten verwerkt. U bepaalt de gebruikers, processtappen en inhoudelijke regels; onze developers realiseren de technische toepassing.

Wilt u een webapplicatie met Ruby on Rails laten ontwikkelen of een bestaande Rails-omgeving uitbreiden? Deel uw gewenste functionaliteiten, gebruikersrollen en koppelingen met APPelit. Neem contact op om de technische mogelijkheden te bespreken of vraag een vrijblijvende offerte aan.

Ervaar het gemak van onze service!

Wilt u dat wij contact opnemen? Vul het formulier hieronder in en we bellen u terug. U kunt ook meer informatie achterlaten via onze contactpagina of het offerteformulier

Terugbelverzoek persoon voor APPelit

Ervaar het gemak van onze service!

Wilt u dat wij contact opnemen? Vul het formulier hieronder in en we bellen u terug. U kunt ook meer informatie achterlaten via onze contactpagina of het offerteformulier



    Perfect en professioneel IT bedrijf, kent de markt zo goed dat ze voorlopen op de actuele ontwikkelingen.
    gertjan baan
    9 maanden geleden
    Snelle, vriendelijke en behulpzame service!
    Mika Lieve
    11 maanden geleden
    Goede en snelle service
    Hidde van den berg
    1 jaar geleden
    Ik loop momenteel stage en werk mee aan de implementatie van een e-learning platform. In dit traject heeft APPelit ons ontzettend goed geholpen om helder te krijgen waar onze behoeften en prioriteiten lagen. Ze stelden de juiste vragen en dachten professioneel en eerlijk met ons mee. Tijdens dit proces werd duidelijk dat onze uiteindelijke keuze buiten de offerte van APPelit viel. Toch bleven zij open, oprecht en behulpzaam. Ze gaven eerlijk aan wat zij konden bieden en waar de match misschien minder goed was, zonder ons iets op te dringen. Die transparante houding waarderen wij enorm. Het getuigt van integriteit en oprechte betrokkenheid bij de klant, ook als daar geen directe samenwerking uit voortkomt.
    Eddu Scholten (EDD)
    2 jaar geleden
    Fijne en professionele dienstverlening. Prettig contact, duidelijke communicatie, klantgerichte en vriendelijke benadering.
    Iris Lodder-Mulder
    1 maand geleden
    Twan van Stralen
    1 jaar geleden
    Sluiten