Wat is het Lumen-kader?
Om een webapplicatie te maken is het meestal geen goed idee om die zelf vanaf nul te ontwikkelen. Ten eerste zou dit zeer uitgebreide kennis vereisen. Anderzijds zou de daarvoor benodigde tijd zeer hoog zijn, zodat het nauwelijks rendabel zou zijn. Daarom worden hiervoor vaak kaders gebruikt.
Deze bevatten reeds alle essentiële functies voor de overeenkomstige taak. Dan is het alleen nog nodig deze samen te voegen en aan te passen aan de individuele eisen.
Op het gebied van webframeworks is er echter een zeer ruime keuze. Daarom is het belangrijk een geschikt pakket te kiezen. Een mogelijkheid hiervoor is Lumen. Dit is een relatief nieuwe oplossing – de release vond pas plaats in 2015.
Bijzonder is ook dat dezelfde ontwikkelaar verantwoordelijk is voor het ontwerp als voor het Laravel web framework. Dit suggereert al dat er enkele overeenkomsten zijn. Dit artikel introduceert wat Lumen is, de speciale kenmerken en het onderscheid met Laravel.
Webapplicaties implementeren via microservice
Wij hebben de ruwe kenmerken van Lumen reeds in de inleiding geschetst: Het is een framework voor de ontwikkeling van webapplicaties dat door dezelfde persoon is ontworpen als het veel bekendere framework Laravel. Er zijn echter ook enkele andere belangrijke eigenschappen. Van groot belang is bijvoorbeeld dat het een framework is gebaseerd op microservices. Deze techniek is in dit gebied tot nu toe niet al te wijdverbreid. Het is daarom erg belangrijk om nader in te gaan op wat microservices eigenlijk zijn en welke voor- en nadelen ze bieden.
Wat is een microservice?
Vele decennia lang waren computerprogramma’s bijna altijd monolithische programma’s. Dit betekent dat zij bestaan uit een gesloten eenheid die alleen als geheel functioneert. Sinds enkele jaren worden microservices echter steeds populairder. Dit betekent dat een programma bestaat uit vele afzonderlijke componenten die onafhankelijk van elkaar zijn en ook zelfstandig functioneren. Een programma kan dan toegang krijgen tot verschillende van dergelijke diensten. Deze doen hun werk volledig onafhankelijk en geven alleen het resultaat door. De verbinding is alleen los. Het is bijvoorbeeld mogelijk dat verschillende toepassingen toegang hebben tot dezelfde microdiensten.
Communicatie via API
Bij het gebruik van microservices is het van groot belang aandacht te besteden aan een geschikte vorm van communicatie. Hiervoor worden zogenaamde API’s gebruikt. Deze afkorting staat voor Application Programming Interface. Elke microservice moet een overeenkomstige API bieden. De eigenlijke toepassing kan daar dan toegang toe krijgen en een overeenkomstig verzoek doen. Indien nodig wordt dit verzoek geauthenticeerd. Als dit lukt, voltooit de microservice zijn taak en stuurt het resultaat terug naar de applicatie. Deze kan het dan gebruiken. Om het systeem te laten werken, is het belangrijk om geschikte gegevensformaten te kiezen. Gedetailleerde documentatie is ook noodzakelijk, zodat ontwikkelaars die de microservice benaderen precies weten welke informatie zij ervan ontvangen.
Wat zijn de voordelen van het gebruik van microservices?
Bij de beslissing om Lumen te gebruiken voor uw webapplicatie speelt het een belangrijke rol of u een monolithisch programma of microservices wilt gebruiken. Het is daarom erg belangrijk om goed te kijken naar de voordelen van het gebruik van microservices en in welke gevallen deze technologie zinvol is.
Een groot voordeel is de grote flexibiliteit van deze systemen. Indien nodig kunnen nieuwe functies gemakkelijk worden toegevoegd via een geschikte microservice zonder dat de andere diensten hoeven te worden aangepast. Daarom kunnen uitbreidingen veel gemakkelijker worden uitgevoerd dan bij monolithische programma’s. De schaalbaarheid van de systemen is ook groot, want het is geen probleem om meer diensten toe te voegen. Tijdens de ontwikkelingsfase is het ook een voordeel dat de basisfuncties al na korte tijd kunnen worden gebruikt. U kunt dan de iets minder belangrijke functies toevoegen terwijl u het programma al gebruikt. Onderhoudsmaatregelen zijn ook gemakkelijk uit te voeren, omdat ze voor elke afzonderlijke dienst afzonderlijk kunnen worden uitgevoerd.
Microservices worden ook gekenmerkt door de mogelijkheid om de algemene toepassing door vele onafhankelijke teams te laten ontwikkelen. Het is alleen nodig te specificeren welke taken elke afzonderlijke dienst moet uitvoeren. Dan kan een team het vrij zelfstandig ontwikkelen. Het is zelfs mogelijk verschillende programmeertalen te gebruiken voor de afzonderlijke diensten. Dit leidt niet alleen tot een hoge mate van flexibiliteit in het ontwerp. Bovendien kan voor elke dienst een techniek worden gekozen die perfect geschikt is voor de betreffende taak. Bovendien kunt u altijd de nieuwste technologie gebruiken voor uitbreidingen – zelfs als de andere diensten nog met oudere technologieën werken. Op die manier is een geleidelijke modernisering mogelijk.
Ten slotte profiteert u meestal van een hoge uitvoeringssnelheid. Het gebruik van kleine onafhankelijke diensten betekent dat de computerinspanning die nodig is om de overeenkomstige taken uit te voeren gewoonlijk aanzienlijk minder is dan wanneer een grote monolithische toepassing wordt gebruikt. Daarom is het gebruik van microservices ook aan te bevelen als u belang hecht aan efficiënte uitvoering.
Lumen en Laravel
We hebben al gezegd dat Lumen veel gemeen heeft met het bekende webframework Laravel: Beide technieken zijn ontwikkeld door dezelfde persoon – Taylor Otwell. Daarom ligt het vermoeden voor de hand dat er ook enkele overeenkomsten zijn. Dit is inderdaad het geval en voor veel projecten is het zelfs zinvol om beide technieken samen te gebruiken.
Compatibiliteit met Laravel
Het is al gezegd dat microservices kleine onafhankelijke diensten leveren. Dit is precies de taak waarvoor Lumen bedoeld is. Deze diensten zijn back-end toepassingen. Front-end applicaties die deze diensten benaderen, kunnen echter niet met Lumen worden gemaakt. U kunt hiervoor verschillende andere talen en frameworks gebruiken. Een zeer populaire oplossing is om hiervoor Laravel te gebruiken. Deze twee raamwerken zijn perfect op elkaar afgestemd, zodat zeer efficiënte toepassingen gemakkelijk kunnen worden gecreëerd.
Bovendien zijn er grote syntactische overeenkomsten. Een team van ontwikkelaars dat Laravel beheerst, kan met een relatief korte trainingsperiode ook microservices maken met Lumen. Verder is het mogelijk om Lumen-applicaties desgewenst over te zetten naar Laravel.
Eenvoudige en efficiënte ontwikkeling
Een ander voordeel van dit kader is dat het zeer gemakkelijk te ontwikkelen is. De leercurve is hier erg steil. Hierdoor kunnen ontwikkelaars uit verschillende disciplines zich snel vertrouwd maken. De ontwikkelingstijd is meestal ook zeer kort. Er is een groot aantal functies beschikbaar, zodat het niet nodig is deze zelf te ontwikkelen. Dit vermindert de inspanning die nodig is om de toepassingen te creëren aanzienlijk.
Conclusie: Het gebruik van lumen zorgt voor een hoge uitvoeringssnelheid
Het Lumen framework is een interessant alternatief voor de vorige opties voor webontwikkeling. Van bijzonder belang is hier het gebruik van microservices, wat met de meeste andere technieken niet mogelijk is. Dit leidt tot een uitstekende flexibiliteit bij de ontwikkeling en uitstekende onderhouds- en uitbreidingsmogelijkheden. Bovendien is er een zeer hoge uitvoeringssnelheid. Als u deze aspecten belangrijk vindt, is dit raamwerk dus een uitstekende keuze voor uw projecten.
Interessante artikelen:
De informatie over het raamwerk op Github
Sascha Thattil ist Geschäftsführer bei YUHIRO. YUHIRO unterstützt Agenturen, IT Dienstleister und IT Abteilungen bei dem Aufbau von Webentwickler/ Laravel Entwickler Teams in Indien.
Geef een reactie