Veebilehe tegemiseks ei ole alati vaja eritellimusel tarkvara.
Kui ettevõttel on vaja tutvustada oma teenuseid, avaldada blogipostitusi ja võtta vastu kontaktipäringuid, saab selle sageli väga hästi lahendada WordPressi või mõne muu valmisplatvormiga.
Aga mingil hetkel võib veebilehest saada midagi enamat.
Kasutajad peavad sisse logima. Klientidel on erinevad õigused ja hinnad. Tellimused liiguvad automaatselt teistesse süsteemidesse. Ettevõte vajab eraldi halduskeskkonda. Veeb peab suhtlema lao, raamatupidamise, CRM-i või mõne välise API-ga.
Sellisel juhul ei räägi me enam ainult veebilehest, vaid veebirakendusest.
Just selliste lahenduste puhul muutub Laravel väga tugevaks valikuks.
Mis on Laravel?
Laravel on PHP-põhine veebirakenduste arendusraamistik, mille eesmärk on anda arendajale struktureeritud alus keerukamate veebilahenduste ehitamiseks.
Lihtsamalt öeldes ei ole Laravel valmis veebileht ega sisuhaldussüsteem.
Laravel on tööriistakomplekt, mille peale saab ehitada ettevõtte jaoks täpselt sellise süsteemi nagu vaja.
Näiteks:
- e-poe
- kliendiportaali
- B2B tellimiskeskkonna
- sisehaldussüsteemi
- broneerimisplatvormi
- marketplace'i
- CRM-i
- API
- liikmelisusel põhineva keskkonna
- automatiseeritud tööprotsessi
- täiesti unikaalse veebirakenduse
See erinevus on oluline.
WordPress annab juba alguses suure hulga valmis funktsionaalsust. Laravel annab seevastu arendajale tugeva tehnilise aluse, mille peale saab süsteemi üles ehitada vastavalt konkreetse ettevõtte vajadustele.
Millal tasub Laravel veebiarenduseks valida?
Laravel muutub eriti huvitavaks siis, kui valmisplatvorm hakkab projekti võimalusi piirama.
See ei tähenda, et iga natukenegi keerulisem veebileht tuleks Laraveliga nullist ehitada.
Pigem tasub küsida:
kas meie ettevõte peab kohanduma olemasoleva platvormiga või peaks tarkvara kohanduma meie ettevõttega?
Kui vastus kaldub teise variandi poole, tasub eritellimusel lahendust juba tõsiselt kaaluda.
Kui veebilahendusel on spetsiifiline äriloogika
Üks tugevamaid põhjuseid Laraveli valimiseks on ettevõttele omane äriloogika.
Oletame näiteks, et ettevõtte kliendid jagunevad erinevatesse gruppidesse ning igal kliendil võivad olla:
- erinevad hinnad
- erinevad tooted
- erinevad maksetingimused
- erinevad tellimisõigused
- erinevad kasutajarollid
Valmisplatvormile võib sellise süsteemi ehitamine tähendada suure hulga lisamoodulite, erandite ja ümberehituste kasutamist.
Laravelis saab selle loogika ehitada algusest peale süsteemi loomuliku osana.
Sama kehtib peaaegu kõikide protsesside kohta, mis on konkreetsele ettevõttele unikaalsed.
Kui tarkvara peab peegeldama ettevõtte tegelikku tööprotsessi, mitte vastupidi, on eritellimusel arendus sageli mõistlikum.
Kui vajad kliendiportaali või iseteeninduskeskkonda
Laravel sobib väga hästi lahendusteks, kus kasutajal on pärast sisselogimist oma personaalne keskkond.
Näiteks võib klient seal:
- vaadata tellimusi
- hallata oma ettevõtte kasutajaid
- laadida alla dokumente
- muuta teenuseid
- esitada uusi tellimusi
- jälgida tööde staatust
- vaadata arveid
- suhelda teenusepakkujaga
- hallata enda andmeid
Sellise lahenduse puhul on sageli vaja palju enamat kui lihtsalt kasutajanime ja parooliga sisselogimist.
Kasutajatel võivad olla erinevad rollid ja õigused ning neile kuvatav info võib sõltuda ettevõttest, lepingust, tellimusest või kümnetest muudest tingimustest.
Laravel võimaldab sellise loogika ehitada süsteemi keskseks osaks.
Kui vajad ettevõtte sisehaldussüsteemi
Kõik veebirakendused ei pea olema avalikud.
Mõnikord loob kõige suurema väärtuse hoopis ettevõtte enda töötajatele mõeldud süsteem.
Näiteks võib sisehalduses hallata:
- kliente
- tellimusi
- projekte
- pakkumisi
- arveid
- dokumente
- tooteid
- laoseisu
- töötajaid
- tööülesandeid
- aruandlust
Paljud ettevõtted kasutavad selliste protsesside jaoks korraga Excelit, e-posti, pilvekaustu ja mitut eraldiseisvat tarkvara.
Eritellimusel süsteemi eesmärk ei pea olema nende kõigi asendamine.
Sageli on mõistlikum ühendada vajalik info ühte keskkonda ning automatiseerida just need tegevused, mis võtavad kõige rohkem käsitööd.
Laravel sobib selliseks arenduseks hästi, sest süsteemi andmemudel, õigused, automatiseerimine ja integratsioonid saab ehitada konkreetse tööprotsessi järgi.
Kui veeb peab suhtlema teiste süsteemidega
Tänapäevane veebirakendus töötab harva täielikult iseseisvalt.
Näiteks võib see vajada ühendust:
- raamatupidamistarkvaraga
- ERP-iga
- CRM-iga
- makseteenusega
- transpordiettevõttega
- laohaldussüsteemiga
- autentimisteenusega
- tarnija süsteemiga
- mõne välise andmebaasiga
Sellised ühendused luuakse enamasti API-de abil.
Näiteks võib e-poes tehtud tellimus automaatselt liikuda raamatupidamisse, vähendada laoseisu, luua saadetise ja tagastada süsteemi jälgimiskoodi.
Kasutaja jaoks toimub kõik ühe nupuvajutusega.
Taustal võivad omavahel suhelda aga mitu erinevat süsteemi.
Just sellistes projektides tuleb Laraveli tugevus hästi esile.
Kui suur osa tööst peaks toimuma automaatselt
Hea eritellimusel tarkvara väärtus ei seisne ainult selles, mida kasutaja ekraanil näeb.
Väga suur osa väärtusest võib tekkida hoopis taustal.
Näiteks saab süsteem automaatselt:
- importida andmeid
- töödelda faile
- saata teavitusi
- genereerida dokumente
- sünkroniseerida laoseisu
- kontrollida makseid
- uuendada tellimusi
- käivitada ajastatud tegevusi
- saata andmeid teistesse süsteemidesse
Laravelil on selle jaoks olemas taustatööde ehk queue'de süsteem. Ajamahukad ülesanded saab suunata taustal töötlemisse, selle asemel et kasutaja peaks veebilehel tegevuse lõppemist ootama. Laravel toetab selleks muu hulgas Redisest, Amazon SQS-ist ja andmebaasist sõltuvaid queue-lahendusi.
Suurema süsteemi puhul võib selline arhitektuur kasutajakogemust ja süsteemi töökindlust oluliselt parandada.
Kui vajad keerukamat e-poodi
Kõik e-poed ei vaja Laravelit.
Kui ettevõte vajab klassikalist veebipoodi tavapäraste toodete, maksete ja tarnelahendustega, võib WooCommerce olla oluliselt kiirem ja soodsam valik.
Laravel muutub huvitavaks siis, kui e-poe vajadused lähevad tavalisest kaugemale.
Näiteks kui vaja on:
- keerukat hinnastamist
- B2B ja B2C müüki samas süsteemis
- personaalseid hinnakirju
- mitut ladu
- automaatseid andmevooge
- suuri tootekatalooge
- spetsiaalset tellimisprotsessi
- kohandatud halduskeskkonda
- tihedat integratsiooni ERP-i või raamatupidamisega
- ettevõttele unikaalseid töövooge
Sellisel juhul võib e-pood muutuda ettevõtte keskseks infosüsteemiks.
Siis tasub hinnata, kas valmis e-poe platvormi pidev kohandamine on endiselt kõige mõistlikum tee või oleks parem ehitada vajalik lahendus õige arhitektuuriga algusest peale.
Kui ehitad marketplace'i või platvormi
Marketplace on hea näide projektist, kus tavaliselt tekib palju omavahel seotud äriloogikat.
Süsteemis võivad olla:
- ostjad
- müüjad
- spetsialistid
- ettevõtted
- administraatorid
- kuulutused
- tellimused
- sõnumid
- maksed
- komisjonitasud
- arvustused
- teavitused
Igal kasutajagrupil võivad olla erinevad õigused ja tegevused.
Lisaks tuleb hallata olukordi, kus ühe tegevuse tulemus mõjutab mitut süsteemi osa korraga.
Laravel sobib selliste andmemahukate ja rollipõhiste rakenduste arendamiseks väga hästi.
Kui vajad eraldi API-t
Laravelit ei pea kasutama kogu veebilehe kuvamiseks.
Seda võib kasutada ka ainult rakenduse backendina.
Näiteks võib Laravel hallata:
- andmebaasi
- kasutajaid
- autentimist
- õiguseid
- makseid
- äriloogikat
- integratsioone
- API-t
ning kasutajaliides võib olla ehitatud mõne teise tehnoloogiaga.
See tähendab, et sama backend võib vajadusel teenindada näiteks:
- veebirakendust
- mobiilirakendust
- partneri süsteemi
- administratsioonikeskkonda
Selline ülesehitus võib olla väga praktiline, kui ühest süsteemist hakkab tulevikus arenema mitu erinevat toodet või kasutajaliidest.
Kas Laravel tähendab, et kogu frontend peab olema PHP-s?
Ei.
See on üks levinud väärarusaamu.
Laraveliga saab ehitada väga erineva tehnilise ülesehitusega rakendusi.
Lihtsama lahenduse kasutajaliides võib kasutada Laraveli enda Blade'i template'e.
Interaktiivsema rakenduse puhul saab kasutada näiteks Vue või Reacti.
Üks populaarne lähenemine on Inertia, mille abil saab ühendada Laraveli backendi Vue või Reacti kasutajaliidesega ilma, et kogu süsteem peaks olema klassikalise eraldiseisva API arhitektuuriga.
Seetõttu ei määra Laraveli kasutamine iseenesest seda, milline kasutajaliides välja näeb või kui interaktiivne see olla saab.
Kasutaja ei pea üldse teadma, millise tehnoloogia peale süsteem on ehitatud.
Laravel või WordPress?
See ei ole tegelikult küsimus sellest, kumb tehnoloogia on parem.
Need lahendavad sageli erinevaid probleeme.
WordPress on mõistlik valik, kui:
- vajad ettevõtte kodulehte
- põhirõhk on sisul
- vajad blogi
- funktsionaalsus on üsna standardne
- soovid väiksema eelarvega kiiresti valmis saada
- e-pood sobib hästi WooCommerce'i võimalustega
Sellisel juhul pole erilist põhjust hakata lihtsat veebilehte eritellimusel tarkvarana ehitama.
Laravel on mõistlikum, kui:
- lood päris veebirakendust
- süsteemil on palju äriloogikat
- kasutajatel on erinevad rollid ja õigused
- vaja on palju automatiseerimist
- süsteem peab suhtlema teiste tarkvaradega
- vajad kohandatud halduskeskkonda
- standardplatvorm hakkab projekti piirama
Mõnikord võib õige lahendus olla ka nende kahe kombinatsioon.
Näiteks võib ettevõtte avalik sisuleht töötada WordPressis, samal ajal kui eraldi kliendiportaal on ehitatud Laraveliga.
Tehnoloogia peaks lähtuma probleemist, mitte vastupidi.
Kas Laravel sobib suure süsteemi jaoks?
Jah, kuid framework üksi ei tee süsteemi kiireks ega skaleeruvaks.
Suure rakenduse jõudlus sõltub eelkõige sellest, kuidas see on arhitektuuriliselt üles ehitatud.
Laravel annab selle jaoks palju vajalikke tööriistu.
Näiteks saab kasutada:
- cache'imist
- Redis-t
- taustatöid
- queue'sid
- andmebaasi optimeerimist
- koormuse hajutamist
- eraldi failisalvestust
- erinevaid serveriarhitektuure
Laraveli cache'i süsteem toetab näiteks Redis't, Memcachedi, DynamoDB-d ja andmebaasipõhist cache'i.
Oluline erinevus on aga selles, et neid võimalusi tuleb ka õigesti kasutada.
Halvasti ehitatud Laraveli rakendus võib olla aeglane samamoodi nagu halvasti ehitatud rakendus ükskõik millise teise tehnoloogiaga.
Aga turvalisus?
Ka siin ei tasu teha väidet, et mõne frameworki valimine muudab rakenduse automaatselt turvaliseks.
Laravel annab arendajale tugeva aluse autentimise, õiguste, andmebaasitöö ja paljude tavapäraste veebirakenduse turvaprobleemide korrektseks lahendamiseks.
Lõplik turvalisus sõltub siiski rakenduse enda arhitektuurist, kirjutatud koodist, serveri seadistusest ja sellest, kuidas süsteemi hiljem hooldatakse.
Eritellimusel lahenduse puhul on just seetõttu oluline, et arenduse käigus mõeldaks läbi ka:
- kasutajate õigused
- ligipääs andmetele
- sisendite valideerimine
- failide töötlemine
- API-de autentimine
- logimine
- varundamine
- uuendused
Turvalisus ei ole funktsioon, mis lisatakse projekti lõpus. See peaks olema süsteemi ülesehituse osa.
Mis on Laraveli eritellimusel lahenduse suurim eelis?
Kõige suurem eelis on vabadus.
Valmisplatvormi puhul tuleb ettevõtte vajadusi alati mingil määral sobitada sellega, mida platvorm võimaldab.
Eritellimusel lahenduse puhul saab teha vastupidi.
Süsteemi saab kujundada ettevõtte protsessi järgi.
Kui töötajal on mingi tegevuse tegemiseks praegu vaja läbida kuus sammu, võib eritellimusel süsteemis olla võimalik teha sama asi ühe nupuga.
Kui kliendid saadavad pidevalt sama infot e-posti teel, saab selle jaoks luua iseteeninduse.
Kui kahes süsteemis hoitakse samu andmeid, saab need omavahel ühendada.
Just sellistes kohtades tekib eritellimusel tarkvara tegelik väärtus.
Millal Laravelit pigem mitte valida?
Laravel on võimas tööriist, kuid see ei tähenda, et seda peaks kasutama igas projektis.
Näiteks ei ehitaks me tavaliselt Laraveliga nullist lihtsat viielehelist ettevõtte kodulehte, kui projektis puudub eriline funktsionaalsus.
Samuti ei pruugi eritellimusel e-pood olla mõistlik, kui ettevõte vajab ainult:
- väikest tootekataloogi
- tavapärast ostukorvi
- pangamakseid
- pakiautomaate
- lihtsat tellimuste haldust
Sellisel juhul võib WooCommerce anda sama ärilise tulemuse oluliselt väiksema investeeringuga.
Ka valmis SaaS-lahendus võib olla parem valik, kui see lahendab ettevõtte vajaduse juba peaaegu täielikult.
Eritellimusel arendus tasub ennast kõige paremini ära seal, kus selle paindlikkus annab ettevõttele reaalse eelise.
Kas eritellimusel lahendus on alati kallim?
Alguses enamasti küll.
Kui võrrelda valmis WordPressi lahendust ja nullist konkreetsete vajaduste järgi arendatud veebirakendust, nõuab teine tavaliselt rohkem arendustööd.
Aga ainult esialgse arendushinna vaatamine võib olla eksitav.
Kui valmisplatvorm vajab hiljem kümneid tasulisi lisamooduleid, pidevaid kompromisse ja palju käsitsi tehtavat tööd, võib selle tegelik kogukulu aastate jooksul olla hoopis suurem.
Eritellimusel lahenduse mõte ei ole olla odavaim viis veebilehe tegemiseks.
Selle eesmärk on olla õige tööriist olukorras, kus ettevõttel on vaja midagi enamat kui valmisplatvorm suudab mõistlikult pakkuda.
Milliseid küsimusi enne Laraveli arenduse tellimist läbi mõelda?
Tehnoloogiat ei pea klient ise enne arendajaga ühendust võtmist ära valima.
Palju olulisem on osata kirjeldada probleemi.
Näiteks:
- mida peaks süsteem kasutaja jaoks tegema?
- kes süsteemi kasutavad?
- kas kasutajatel on erinevad rollid?
- milliseid andmeid süsteem haldab?
- kas olemasolevate süsteemidega on vaja ühenduda?
- milliseid tegevusi võiks automatiseerida?
- kas süsteem vajab makseid?
- kas tulevikus võib tulla mobiilirakendus?
- kui palju kasutajaid või tehinguid on oodata?
- millised tegevused võtavad ettevõttes praegu kõige rohkem käsitööd?
Nende vastuste põhjal saab juba hinnata, kas Laravel on projekti jaoks sobiv tehnoloogia või oleks mõni lihtsam lahendus mõistlikum.
Laravel veebiarendus Veebikujundus Stuudios
Veebikujundus Stuudios kasutame Laravelit eelkõige projektides, kus tavalisest veebilehest või valmisplatvormist enam ei piisa.
Saame Laraveliga ehitada näiteks:
- veebirakendusi
- e-poe erilahendusi
- kliendiportaale
- sisehaldussüsteeme
- B2B keskkondi
- marketplace'e
- API-integratsioone
- automatiseeritud äriprotsesse
Vajadusel saab Laraveli backendi ühendada kaasaegse Vue kasutajaliidesega ning ehitada nii kliendivaate kui ka sisehalduse ühe tervikliku süsteemina.
Eritellimusel veebilahenduste hinnad algavad 1599 € + KM, kuid tegelik maksumus sõltub projekti funktsionaalsusest ja arendusmahust.
Kui sul on idee süsteemist, mida olemasolevad valmisplatvormid hästi ei lahenda, ei pea tehnilist arhitektuuri enne ise välja mõtlema.
Kirjelda meile, kuidas süsteem peaks töötama ja millise probleemi see ettevõttes lahendama peab. Selle põhjal saame hinnata, kas Laravel on projekti jaoks mõistlik valik ja millise lahendusega tasuks edasi minna.
