Hvad er Lumen – Micro Laravel-rammeværket?

Hørt om Lumen, mikrolarveret, der er ved at blive trendy i disse dage? Det er det, der gør udviklerne begejstrede i disse dage, fordi det har gjort applikationsudvikling lettere for dem.

Lumen er en mikroramme skabt af skaberen af Laravel. Ja det er rigtigt! Taylor Otwell, der skabte Laravel, har den populære open source PHP-ramme også skabt Lumen. Lumen gør tingene mindre, enklere, hurtigere og slankere. Og det bruges til at bygge højtydende mikrotjenester med løst koblede komponenter, hvilket gør det nemmere for udviklere at lave forbedringer og opdateringer med minimal kompleksitet.

Lumen er meget hurtigere end andre lignende rammer af sin art, for eksempel Slim og Silex. Hovedformålet bag rammen er hastighed, og det er det, den stræber efter at opnå. Da det er en mikroramme, vil Lumen sandsynligvis ikke erstatte Laravel i den nærmeste fremtid. Den har dog et grundniveau, der næsten ligner Laravel og dens komponenter. Men den har færre konfigurationsparametre til konfiguration af webapplikationer.

Bemærkede træk ved Lumen

  • Lumen er superhurtig
  • Det er open source
  • Har en simpel syntaks
  • Har mulighed for flere anmodninger på et sekund
  • Hurtig rute funktion
  • Veltalende ORM
  • Bladskabelon
  • Databaseabstraktion
  • Controllere
  • Caching
  • Fejlhåndtering
  • Job i kø
  • Afhængighedsindsprøjtning

Lumen er kendt for sin Fast Route-pakke til routeren, et bibliotek, der giver hurtig implementering, i stedet for routeren, der følger med Laravel.

Lumen har begivenhedsfunktionen med sin enkle observatørimplementering til at abonnere og lytte til begivenhederne i applikationen.

Til godkendelsesprocessen bruger Lumen Stateless-mekanisme som tokens i stedet for sessionstilstand.

Understøttelse af caching er en interessant funktion for Lumen, det samme som Laravel. Cache-drivere som Memcached, Redis og Database understøttes alle her.

Mikrotjenesten har næsten den samme kø-tjeneste som Laravel.

Sammenligning mellem Laravel og Lumen

Selvom skaberen af begge rammer er én, er der masser af forskelle mellem de to. Licenseret under MIT, Laravel er en robust MVC-ramme til udvikling af webapplikationer i PHP. Lumen har samme grundniveau som Laravel og udnytter rammens fulde kraft, hovedsageligt Eloquent ORM, job i kø, afhængighedsinjektion, routing, nogle planlagte kommandoer og så videre. Med Lumen er der mindre fleksibilitet i at udvide og ændre bootstrap-filerne.

Da Lumen er en mikrotjeneste, så den er meget mere specialiseret i API-udvikling og -udvikling og er en afklebet ramme, behøver mange af funktionerne i Laravel ikke også at være i denne.

Mens Laravel kan bruges til alle former for applikationsudvikling, er Lumen velegnet til visse specificerede tjenester som skabeloner, caching, cookieudvikling, API’er, skabeloner osv. Laravl har bare brug for de nødvendige udvidede komponenter og værktøjer til at bygge den pågældende applikation. Lumen er lettere og drevet af mikrotjenester.

Laravel er et rammeværk i fuld stack , og dette åbner op for integration af en række værktøjer for at udvide dets funktioner. Lumen strækker sig ikke så meget , og der er begrænsninger på de værktøjer og tredjepartskomponenter, du kan integrere . Det er heller ikke muligt at integrere Laravel-baserede projekter i Lumen, men du kan bruge Lumen API’erne, mens du udvikler applikationer.

Laravel tilpasser sig perfekt til databasefunktionaliteten, og den kan nemt håndtere SQL-forespørgsler og overtage ændringerne. Dette er en fordel med Laravel, og Lumen har ikke den fordel, og med mikrorammen skal du jonglere med SQL-forespørgsler.

Lumen har absolut ingen indlæringskurve, så det er en ret nem ramme at lære. Laravel er meget større, og derfor er der en indlæringskurve til at mestre kunsten.

Lumen har også begrænsninger

Selvom det er en forbløffende hurtig ramme, har Lumen sine begrænsninger. Det er ikke så konfigurerbart som Laravel-rammen og heller ikke så fleksibelt. Ydeevneaspektet af mikrorammen opnås ved at fjerne fleksibilitetsfunktionen i rammen, især i områder med konfiguration og ændring af standardopstartsprocessen.

Lumen lader dig ikke bruge Symfonys Routing-komponent, så du har ingen adgang til funktioner som subdomæne-routing, valgfri parametre osv. Du skal bruge /- for at øge ydeevnen. Hvis du har brug for Symfony Routing-funktioner, skal du skifte til Laravel.

Og Lumen kan ikke konfigureres som Laravel-rammeværket. Du kan ikke tilsidesætte rammestøvler-fangere for at ændre, hvordan rammen er opbygget. Du kan ikke bruge Lumen med debug bars, CMS-systemer og yderligere Laravel-pakker.

Afslutning af tanker

Hvornår skal du vælge Lumen

Lumen er bygget til hastighed, og det er betydeligt hurtigere end alle andre mikrorammer i sin liga. Laravel er også hurtig, men du behøver ikke at gå gennem konfigurations- og tilpasningsmulighederne, og sparer derved masser af din tjenestes indlæsningstid. Hastigheden af Lumen, og letheden ved Laravels funktioner, gør det til et oplagt valg blandt udviklere.

Lumen er også et godt valg, når din prioritet er at reducere serveromkostninger, især når et aspekt af applikationen (lavet med Laravel) modtager mere trafik end resten. Du kan bare bygge det aspekt af applikationen som en separat Lumen-applikation og få den til at fungere.

Lumen er perfekt som PHO-mikrotjenester, fordi det har en unik bootstrapping-proces, der giver udviklere mulighed for at skabe højtydende applikationer.

Interessante links:

En sammenligning mellem Laravel vs Lumen

Mere information om Lumen

Billeder: Canva


Forfatteren: Sascha Thattil arbejder på Software-Developer-India.com, som er en del af YUHIRO Group. YUHIRO er en tysk-indisk virksomhed, der leverer programmører til IT-virksomheder, agenturer og IT-afdelinger.

Skriv et svar

This site uses Akismet to reduce spam. Learn how your comment data is processed.