Hva er Lumen Framework?

For å lage en nettapplikasjon er det vanligvis ikke fornuftig å utvikle den fra bunnen av. På den ene siden vil dette kreve omfattende kunnskap. På den annen side ville tidsbruken til dette bli svært høy, slik at dette neppe ville være lønnsomt. Av denne grunn brukes ofte rammer til dette formålet.

Disse inneholder allerede alle viktige funksjoner for den tilsvarende oppgaven. Da er det bare å sette dem sammen og tilpasse de individuelle krav.

Innenfor nettrammeverk er det imidlertid et veldig stort utvalg. Det er derfor viktig å velge en passende pakke. En måte å gjøre dette på er med Lumens. Dette er en relativt ny løsning – den ble først utgitt i 2015.

En annen spesiell funksjon er at samme utvikler er ansvarlig for designet som for Laravels nettrammeverk. Dette tyder allerede på at det er noen likheter. Denne artikkelen introduserer hva Lumen er, hvilke spesielle funksjoner den har og hvordan den skiller seg fra Laravel.

Distribuer nettapplikasjoner via mikrotjeneste

Vi har allerede skissert de grove egenskapene til Lumen i introduksjonen: Det er et rammeverk for utvikling av webapplikasjoner som ble designet av samme person som det mye bedre kjente rammeverket Laravel. Det er imidlertid en rekke andre viktige egenskaper. For eksempel er det av stor betydning at det er et rammeverk basert på mikrotjenester. Så langt har denne teknikken ikke vært særlig utbredt i dette området. Det er derfor svært viktig å gå nærmere inn på hva mikrotjenester faktisk er og hvilke fordeler og ulemper de tilbyr.

Hva er en mikrotjeneste?

I mange tiår har dataprogrammer nesten alltid vært monolittiske programmer. Dette betyr at disse består av en lukket enhet som kun er funksjonell som helhet. De siste årene har mikrotjenester imidlertid blitt stadig mer populære. Det betyr at et program består av mange enkeltkomponenter som er uavhengige av hverandre og som også fungerer på egen hånd. Et program kan da få tilgang til ulike slike tjenester. Disse gjør jobben sin helt uavhengig og overfører kun resultatet. Tilkoblingen er bare løs. For eksempel er det mulig for forskjellige applikasjoner å få tilgang til de samme mikrotjenestene.

Kommunikasjon via API

Ved bruk av mikrotjenester er det svært viktig å være oppmerksom på en passende form for kommunikasjon. Til dette brukes såkalte APIer. Denne forkortelsen står for Application Programming Interface. Hver mikrotjeneste må gi et tilsvarende API. Den faktiske applikasjonen kan da få tilgang til dette og gjøre en tilsvarende forespørsel. Om nødvendig blir denne forespørselen autentisert. Hvis dette lykkes, fullfører mikrotjenesten oppgaven sin og sender resultatet tilbake til applikasjonen. Da kan den bruke den. For at systemet skal fungere er det viktig å velge passende dataformater. Detaljert dokumentasjon er også nødvendig slik at utviklerne som får tilgang til mikrotjenesten vet nøyaktig hvilken informasjon de får fra den.

Hva er fordelene med å bruke mikrotjenester?

Når du bestemmer deg for om du skal bruke Lumen for nettapplikasjonen din, er det viktig å vurdere om du vil bruke et monolitisk program eller mikrotjenester. Det er derfor svært viktig å forholde seg intensivt til fordelene ved å bruke mikrotjenester og i hvilke tilfeller denne teknologien gir mening.

En stor fordel er den høye fleksibiliteten til disse systemene. Om nødvendig kan nye funksjoner enkelt legges til ved hjelp av en passende mikrotjeneste uten å måtte gjøre noen justeringer på de andre tjenestene. Derfor kan utvidelser implementeres mye lettere enn med monolittiske programmer. Skalerbarheten til systemene er også høy, siden det ikke er noe problem å legge til ytterligere tjenester. I utviklingsfasen er det også fordelaktig at basisfunksjonene kan tas i bruk etter kort tid. Du kan da legge til de litt mindre viktige funksjonene mens du allerede bruker programmet. Vedlikeholdstiltak kan også enkelt gjennomføres, da det er mulig å gjennomføre disse separat for hver enkelt tjeneste.

Mikrotjenester er også preget av muligheten for å få hele applikasjonen utviklet av mange uavhengige team. Det er kun nødvendig å spesifisere hvilke oppgaver hver enkelt tjeneste skal utføre. Et team kan deretter utvikle det selvstendig. Det er til og med mulig å bruke forskjellige programmeringsspråk for de enkelte tjenestene. Dette fører ikke bare til høy grad av fleksibilitet i design. I tillegg kan en teknologi velges for hver tjeneste som er perfekt tilpasset oppgaven. I tillegg kan du alltid bruke den nyeste teknologien for utvidelser – selv om de andre tjenestene fortsatt fungerer med eldre teknologier. På denne måten er trinnvis modernisering mulig.

Tross alt har du vanligvis fordel av høy utførelseshastighet. Som et resultat av å bruke små uavhengige tjenester, er beregningsinnsatsen som kreves for å fullføre de relevante oppgavene, vanligvis betydelig mindre enn å bruke en stor monolitisk applikasjon. Derfor anbefales bruk av mikrotjenester selv om du verdsetter effektiv utførelse.

Lumens og Laravel

Vi har allerede sagt at Lumen har mye til felles med det velkjente nettrammeverket Laravel: begge teknikkene ble utviklet av samme person – Taylor Otwell. Det er derfor nærliggende å mistenke at det også er noen likheter. Dette er faktisk tilfelle, og for mange prosjekter er det til og med tilrådelig å bruke begge teknikkene sammen.

Kompatibilitet med Laravel

Det har allerede blitt sagt at mikrotjenester tilbyr små uavhengige tjenester. Det er akkurat dette Lumen er designet for. Disse tjenestene er backend-applikasjoner. Frontend-applikasjoner som får tilgang til disse tjenestene kan imidlertid ikke opprettes med Lumen. Du kan bruke forskjellige andre språk og rammeverk for dette. En veldig populær løsning er å bruke Laravel til dette. Disse to rammeverkene er perfekt matchet slik at svært effektive applikasjoner enkelt kan lages med dem.

Det er også store syntaktiske likheter. Et utviklerteam som har mestret Laravel kan også lage mikrotjenester med Lumen med relativt kort opplæringstid. I tillegg er det mulig å bytte Lumen-applikasjoner til Laravel om nødvendig.

Enkel og effektiv utvikling

En annen fordel dette rammeverket gir er at det er veldig enkelt å utvikle. Læringskurven er veldig bratt her. Dette gjør at utviklere fra ulike disipliner raskt kan bli kjent. Utviklingstiden er også vanligvis svært kort. Ulike funksjoner er tilgjengelige her, slik at det ikke er nødvendig å utvikle dem selv. Dette reduserer arbeidet med å lage applikasjonene betydelig.

Konklusjon: Bruken av lumen sikrer høy utførelseshastighet

Lumen-rammeverket representerer et interessant alternativ til de tidligere alternativene for webutvikling. Bruken av mikrotjenester, som ikke er mulig med de fleste andre teknologier, er spesielt interessant her. Dette fører til utmerket fleksibilitet i utviklingen og utmerkede vedlikeholds- og utvidelsesmuligheter. I tillegg er det en veldig høy utførelseshastighet. Derfor, hvis du verdsetter disse aspektene, er dette rammeverket et utmerket valg for prosjektene dine.

Interessante artikler:

Offisiell side for Lumen

Informasjonen om rammeverket på Github

Legg igjen en kommentar