PHP, liv laga? đŸ€”

- Er PHP gjennoppstÄtt og kan vinne webben?

PHP, liv laga? đŸ€”
Har du noen gang lurt pÄ de virkelig store spÞrsmÄlene i livet? Slik som hva er meningen, eller hvorfor finnes vi. Eller er virkelig PHP sÄ dritt som man skal ha det til? Hvis ikke, slapp av! ... Jeg er her for Ä kjede deg litt mer

Hvorfor, hvorfor. Si oss hvorfor!!

Takk for at du besĂžkte denne flotte artikkelen, hvor hovedformĂ„let kan vĂŠre noe uklart. Kanskje det er Ă„ gi et optimistisk forsvar av nĂ„tidens med osv. Eller er det bare enda en trash av PHP. Og jeg vet at vi elsker Ă„ trashe PHP 😅 Men frykt ikke!! Jeg skal gjĂžre verken av delene, jeg skal helt objektivt uten noe som helst pĂ„virkning fra atmosfĂŠren jeg lever og Ă„nder i gi et helt perspektiv pĂ„ PHP i 2025. (Not even close)

  1. 1. SĂ„ litt fakta:

      PHP ble utviklet i 1995 av Rasmus Lerdorf

      Den er skrevet i C men er pÄvirket av bl.a Perl

      Man brukte gjerne PHP med Html, slik at man kunne html og lage nettsider.

      Brukes av bl.a facebook og wordpress og en haug av andre. Faktisk er PHP det mest brukte rammeverket

SÄ med litt info ut av veien, kan vi gÄ litt mer inn pÄ hvorfor PHP blir sÄ relevant i dagens webutviklingskontekst. SÄ for Ä se dette mÄ vi gÄ litt tilbake og snakke om hvorfor PHP ble sÄ populÊrt som det tidligere Web 1.0 sprÄket.

Historikken

For tilbake pĂ„ 90 tallet, som jo er rundt da jeg ble fĂždt đŸ‘¶đŸŒ. Var det noe mer begrenset med kapabiliteter i nettleseren. Man hadde nettlesere som netscape og Internett Explorer om kunne kjĂžre nettsider, men var svĂŠrt begrenset. SĂ„ tingen var HTML og PHP. Med PHP kunne man hente data fra en database eller gjĂžre noe kult backend, og dette brukte man da til Ă„ servere innhold til nettleseren. I samme rom som Tim Bernes Lee jobbet satt det ogsĂ„ en nordmann; HĂ„kon Wium Lie som jobbet med det som skulle senere bli CSS. SĂ„ styling fikk man, men det tok litt tid fĂžr dette ble implementert i nettleserne pĂ„ den tiden.

Ta foreksempel den mest brukte nettsiden (altsÄ, til Ä vise eksempel pÄ hvordan ikke Ä lage en nettside). Selveste ankerpunktet til skipet som for lenge siden sank og har ligget Ä rÄtne i en mansalder. Selve https://arngren.net/

Arngren Dot Net. er liksom det absolutt verste i forhold til design og css

Arngren Dot Net. er liksom det absolutt verste i forhold til design og css

Skjermbilde av Marius SĂžrenes

AltsÄ er vi helt i krybbetiden til moderne webutvikling. Uansett.. Videre fÄr man WWW. og resten er historie. Men for vÄr del er det akuratt denne SSR biten vi er opptatt av. For denne teknologien ble ogsÄ adaptert av mange ulike andre aktÞrer; Microsoft med ASP, Java med ServletContext, JSP osv. Senere fÄr man Razor og videre gÄr det. SÄ dette med server side rendering er ikke en ny ting per say. Men det er altsÄ her med PHP dette blir standarden.

Dette skal jo pÄ et tidspunkt endre seg. For Etterhvert som web 1.0 gÄr i historiebÞkene kommer web 2.0 som introduserer web applikasjoner. AltsÄ applikasjoner i webben! Wow. Og rammeverk som knockout.js og jquery gjÞr seg gjeldende. Videre fÄr vi med React, Vue.js og Angular et videre lÞft, og inni her en plass er NPM og Node og hele ruklet som vi kjenner som frontend, sÄ skal det nevnes at vi fÄr svelte og en haug med andre rammeverk. Og alt bygger pÄ JavaScript, men det er dritt sÄ vi bruker TypeScript, som ogsÄ er dritt sÄ vi gÄr tilbake til JavaScript men med noe PropTypes ogsÄ skriver vi om det pÄ diverse sosiale medium fordi vi er kule eller noe slikt. Men ... pust ...

Ny trend, ny vind og gammel skute ⛔

Det er uansett slik at den siste trenden blir; server side rendering. Og da har pendelen svinget seg helt tilbake igjen. SÄ vi var opptatt av det med PHP men sÄ ble det browser first, men nÄ er det server side rendering med Nextjs, Remix, Nuxt, SvelteKIT osv.

Og det er i dette Þyemed at vi spÞr oss: Har PHP noe relevans idag i dette nyeste karnevalet i frontend verden? Ja, tjaa.. Kanskje. Mye av det enorme hatet PHP har fÄtt er jo bare massesuggesjon, altsÄ forstÄ meg rett; kritikk har vÊrt berettiget, men dette har stort sett gÄtt pÄ sikkerhetshull, og feil ved sprÄket. Men veldig mye av dette er fikset og nye versjoner forsetter Ä komme ut

Nye versjoner forsetter Ă„ komme ut

Nye versjoner forsetter Ă„ komme ut

Skjermbilde av Marius SĂžrenes

Videre har webrammeverk som Laravel tatt stĂžrre plass, og det finnes mange bedrifter som har bygget hele rammeverket i PHP.

Men nÄr man spÞr spÞrsmÄlet: Er det ett bra rammeverk Ä ta ibruk idag, sÄ er det spÞrsmÄlet av den karakter at det er ikke et rett frem svar. AltsÄ svaret avhenger av kontekst. Og det er her jeg vil si at mye av diskusjonene rundt dette idag henger ikke pÄ greip, men det finnes ikke hos seriÞse aktÞrer. For nÄr man skal velge ett rammeverk og utvikle noe i sÄ baserer man det ikke pÄ personlige preferanser, ei heller pÄ hat pÄ nettet.

TĂžrrt teoriprat đŸ—’ïž

SÄ hvordan skal vi gÄ frem for Ä finne dette ut? Det fÞrste spÞrsmÄlet er jo selvfÞlgelig: Hvem er kunden, og hva er kundens behov? Hvis det er ett behov fra kunden at det skal vÊre server side rendering er det helt legitimt Ä bruke PHP. SÄ bare basert pÄ dette ene spÞrsmÄlet fÄr vi et OK til PHP. Men sÄ kommer tanker om sikkerhet, vedlikehold og skalerbarhet for Ä nevne noen ting.

Da blir det vanskeligere Ä komme frem til en lÞsning. Men hvis vi prÞver oss pÄ en liten liste som vi kan mÄle etter:

  1. 1. Hvem skal vedlikeholde kodebasen?
  2. 2. Er det oppdatert? blir det vedlikeholdt?
  3. 3. Er dette noe som kan skalere godt?

Interressant nok sÄ scorer PHP godt pÄ ivertfall 2/3. Men den fÞrste blir litt vanskelig. PHP er ikke ett populÊrt sprÄk idag, og dette reflekteres i at det er vanskelig og dyrt Ä skaffe PHP utviklere.

Det kan ogsĂ„ nevnes at da moderne rammeverk ofte benytter seg av SSR, sĂ„ trenger de ikke det. Dette er en stor forskjell. Ta foreksempel rammeverket next.js som baserer seg pĂ„ at ting er som standard SSR, men man kan opte ut simpelten ved Ă„ legge "use client" direktivet i toppen av den enkelte komponent. Dette gjĂžr at man har enorm fleksibilitet ved Ă„ velge hva som nettleseren skal ta hĂ„nd om, og hva serveren skal ta hĂ„nd om. OgsĂ„ lurer du kanskje pĂ„ đŸ€” Men Marius.. Kan man ikke gjĂžre dette ogsĂ„ i PHP? JO akuratt. For det som man gjerne kaller for "server components" og "server functions" er i bunn og grunn samme rĂŠlet som man gjorde i PHP.

Oppsumering, fĂžr dette blir for langt đŸ„±

I korte trekk har PHP hatt en enorm suksess som det web 1.0 sprĂ„ket. Og med nye rammeverk som bl.a Laravel kan man snakke om at det er tilogmed idag og kan faktisk konkurrere med de store web rammeverkene idag i denne web 2.0.291391 ett eller annet versjon av vĂ„rt kjĂŠre internett 🛜

Men problemene er litt mangefoldige, for Ă„ velge Ă„ bruke php til ditt sideprosjekt kan gjĂžre underverk. Men Ă„ velge det til et stort proffesjonelt prosjekt kan vĂŠre dĂžden. SĂ„ svaret mitt blir blir alltids; det spĂžrs, mest sannsynlig nei

Relaterte artikler

Her er noen artikler som kan vĂŠre av interesse