Indrek Kald • 7 september 2019

PHP kui kaasaegsete veebirakenduste arendusplatvorm

Sel nädalal tuli välja ühe tuntuma PHP-raamistiku – Laraveli – uus versioon, mida tutvustab ADM Interactive´i IT produtsent Anti Ainsar.

Järgneb Anti Ainsari kommentaar:

ADM Interactive´i IT produtsent Anti Ainsar.  Foto: ADM

Kõik ettevõtted kasutavad oma tööprotsesside juhtimiseks ning automatiseerimiseks tarkvara, kuid järjest enam ettevõtteid on sunnitud endale sobilikke lahendusi ka ise välja töötama. Tihtilugu on tegu olulise rahalise ning ajalise investeeringuga ning seega on oluline, et rakendustele valitud alusplatvorm oleks turvaline, töökindel, jätkusuutlik ning samas ka kuluefektiivne.

Professionaalsete ning ärikriitiliste veebirakenduste jaoks kasutatavate arendusplatvormide peale mõeldes meenuvad enamasti kaks nime – Java ning .NET. Mõlema puhul on tegu laialt levinud platvormiga, mis on tarkvaratööstuses kasutusel juba paarkümmend aastat ning jõudnud selle aja jooksul juurduda paljude suurettevõtetes ning organisatsioonides.

Nende kõrval on üha olulisem roll ka PHP-platvormil. Ehkki ka PHPd on tarkvaratööstuses kasutatud juba pikka aega, peetakse seda siiani peamiselt väiksemate veebilehtede ja rakenduste tarbeks sobilikuks arendusplatvormiks.

Tänu aastate jooksul toimunud hoogsatele arengutele PHP-maailmas võib aga öelda, et see ajajärk on tänaseks pöördumatult läbi saanud ning PHP puhul on tegemist tõsiseltvõetava kandidaadiga ka kõige kõrgemate nõudmistega arendusprojektides.

PHP-rakendusi kohtab juba pea kõikjal

PHP esimene versioon nägi ilmavalgust 1995. Viimase kahe kümnendi jooksul on PHP keel oluliselt edasi arenenud ning seda ümbritsev ökosüsteem kasvanud niivõrd suureks, et tänapäeval võib kohata PHP-põhiseid rakendusi igal sammul.

PHP-platvormile on loodud lugematu arv vabavaralisi teeke, kuid kunagi varem ei ole need olnud nii hästi integreeritavad ning üksteisega ühilduvad kui täna.

Viimase kümne aasta jooksul on välja andud 18 suuremat spetsifikatsiooni ning standardit, mida tuntakse PHP Standard Recommendation (PSR) ehk soovituslike PHP-standardite nime all.

Tänu ühtsele standardile ning Composeri-nimelisele sõltuvushaldurile on võimalik kaasaegsetes PHP-projektides kasutada suurt hulka kvaliteetseid teeke ja tarkvarakomponente, mis on stabiilsed, korralikult testitud ning väga hästi omavahel integreeritavad.

Hetkel kasutuses olev PHP versioon 7 anti välja 2015. aasta lõpus ning see tõi endaga kaasa olulisi uuendusi nii keeles endas kui ka sellel põhinevate rakenduste jõudluses. PHP 7 kasutab sisemiselt täiesti uut mootorit, mis optimeerib mälukasutust ning parendab rakenduste jõudlust ligi kahe- või kolmekordselt võrreldes varasemate versioonidega. Lisaks antakse iga paari kuu tagant välja ka väiksemaid uuendusi, mis hõlmavad enamasti täiendusi ning turvauuendusi.

Populaarsus vabavaraliste lahenduste eelistajate seas

Tulenevalt kergesti ligipääsetavast platvormist, on tavapäraselt lahenduste arendamine PHP-platvormile odavam kui näiteks Javale arendamine. Ühtlasi on tänaseks PHP arendusega tegelevaid agentuure märkimisväärselt palju, mis tähendab, et selle platvormiga töötades on alati võimalik kuskilt leida abi ning nõu.

PHP on alati olnud populaarne ka väiksemate vabavaralisi lahendusi eelistavate ettevõtete ning idufirmade hulgas, ent täna on PHP ka paljude suurte tehnoloogiaettevõtete poolt soositud arendusplatvorm. Nende hulka kuuluvad näiteks USAs levinud sõidujagamisteenust pakkuv Lyft, Tesla, MIT, Wikipedia ning Facebook.

Viimase puhul on märkimisväärne eelkõige see, milliste mahtudega peab see veebirakendus toime tulema. Tänavuse esimese kvartali seisuga oli Facebookil 2,38 miljardit aktiivset kasutajat, kes teevad igapäevaselt keskkonnas kümneid miljoneid postitusi.

Laravel – PHP tõusev täht

Nagu paljudele keeltele omane, on ka PHP-l olemas mitmed raamistikud, mis teevad sellega töötamise mugavamaks ja kiiremaks. Silmapaistev täht selles valdkonnas on Laravel, mis PHP-le kohaselt on avatud lähtekoodiga veebiraamistik.

Laravel, mis anti esmakordselt välja 2011. aastal, on võrdlemisi lühikese aja jooksul saanud üheks kõige populaarsemaks raamistikuks PHP-maailmas. Põhjuseid, miks Laravel nii kiirelt mitmete arendajate lemmikuks on saanud, on mitmeid.

Tänaste andmekaitse- ja turvaküsimuste keskel on Laraveli väga suur ja oluline eelis see, kui lihtsaks on tehtud tugevate ja hästi organiseeritud autentimismeetodite rakendamine.

Head tavad veebilahenduste arendamiseks

Sarnaselt teistele keeltele, saab ka Laraveliga töötades kasutada arhitektuurimustrit MVC ehk Model-View-Controller, mis jagab rakenduse kolmeks suuremaks osaks. MVC on üks levinud headest tavadest, mida järgida veebilahenduste arendamisel.

Seda sarnaselt teistele põhimõtetele nagu DRY (Don’t Repeat Yourself - ära korda ennast), mis suunab arendajaid oma koodis sarnaseid funktsioone kordamise asemel kombineerima, ning KISS (Keep It Simple, Stupid! – tee see lihtsalt, rumaluke!), mis on 1960ndate USAst pärinev põhimõte, mille järgi on kõige paremini töötavad süsteemid lihtsad ja kergesti mõistetavad.

MVC langeb ise ka laiemalt probleemide lahususe (Separation of Concerns) disainiprintsiibi alla, mille järgi tuleks arendatav lahendus jagada eraldi osadeks, millest igaüks käsitleb eraldiseisvat probleemi.

Laraveli on mitmed MVCga töötamiseks vajalikud funktsioonid juba sisse ehitatud, mis lihtsustab raamistikuga töötamist ning aitab arendajal oma rakendust parimate tavade järgi üles ehitada.

Muidugi kaasneb Laraveli raamistikuga veel mitmeid arendaja tööd lihtsustavaid tööriistu ning omadusi, samuti ametlikke lisasid. Välja võiks tuua Eloquent ORM, Cashier ja Passport. Eloquent ORM ehk objekt-relatsioonvastendussüsteem, võimaldab arendajal otsida ja käsitleda andmeid andmebaasis, kasutades selleks PHP-le omast süntaksi SQL-koodi kirjutamise asemel.

Cashier on ametlik lisa, mis pakub makselahenduse Stripe integreerimist teenusesse või tootesse, ning Passport, mille puhul on tegu Oauth2 autoriseerimise toega API päringutele.

Ettevõtja seisukohast on aga kõige olulisem see, et seda tüüpi lahendusega töötamine võimaldab kiireid edasiminekuid oma teenuse või tootega. Kuna Laraveliga töötamine on tehtud mugavaks ja kiireks, siis on sellega võimalik näiteks uusi nn MVPsid ehk minimaalseid töötavaid tooteid samuti väga kiirelt ent siiski töökindlalt välja töötada. Samamoodi saab Laraveli võimaldatavat kiirust ja efektiivsust rakendada ka uute süsteemide arendamisel ja juurutamisel.

Ligipääsetav igas mõttes

Üks olulisemaid asjaolusid nii Laraveli kui ka üleüldiselt PHP edukäigu juures on kindlasti see, et tegu on vabavaraga, mistõttu on tegu paljude noorte jaoks kõige esimese tarkvarakeelega, mida nad omandavad, mis omakorda tähendab seda, et PHP arendajaid on tänapäeval turul keskmisest rohkem.

Eriti peab see paika näiteks Eestis ja meid ümbritsevas piirkonnas, kus tulenevalt näiteks riigieelarvetest ja riiklikest põhimõtetest eelistatakse igal tasandil kasutada võimalusel vabavaralisi platvorme, keeli ning raamistikke.

PHP juures on oluline ära märkida ka selle kogukond, mis tänu platvormi vabavaralisele olemusele on väga suur. Nii on pea igale küsimusele, mis PHP-arendajail võib tekkida, võimalik lahendus leida üsna kiirelt. Samuti on PHP loojad hoolitsenud selle eest, et platvormi dokumentatsioon oleks kergesti loetav ning põhjalik.

Lisaks arendajatele kuuluvad kogukonda ka need, kes on otsustanud teisi koolitada PHP valdkonnas. Seetõttu leidub laialdaselt erinevaid koolitajaid, kes tunnevad seda platvormi põhjalikult ning kelle abiga saavad uued arendushuvilised PHP ja Laraveliga tutvuda ning tööle asuda üsna kiirelt.

Võrdväärne koht Java ja .NETi kõrval

Edu tagamiseks digimaastikul peavad ettevõtted suutma oma süsteeme ja rakendusi luua ning hallata kiirelt ja vigadeta. Sellise tulemuseni jõudmist soodustab kindlasti kaasaegsetele nõuetele kohandatud tööriistade kasutamine.

PHP koostöös Laraveli raamistikuga on kindlasti üks hea näide just sellisest lahendusest, mis on tänaseks välja teeninud võrdväärse koha Java ja .NETi kõrval. Sama oluline on ka fakt, et Laraveli omandamine käib kiirelt ja lihtsalt, mis tagab projektide sujuva vahetamise arenduspartnerite vahel ja hoiab kokku klientide ning arendajate aega.

Jaga lugu:
ITUUDISED UUDISKIRJAGA LIITUMINE

Telli olulisemad Ituudised uudised igal nädalal enda postkasti.

Ituudised.ee toetajad:

Indrek Kald
Indrek KaldITuudised.ee toimetajaTel: 511 1112
Ana Madismäe
Ana Madismäereklaamimüügi projektijuhtTel: 545 60 150