Šta je Laravel?

Susrećemo se sa sve većom potrebom izrade web aplikacija. Problem je što se često zadaci kod svakog projekta ponavljaju. Da li ove "ponavljajuće" komponente u softveru pisati iznova svaki put ili napraviti neko svoje kastomizovano rešenje koje možemo implementirati na svakom novom projektu. Ako smo već krenuli sa svojim rešenjem, pitanje je da li ćemo imati dovoljno vremena da naše komponente održavamo ažurnim i ispravnim. Odgovor je verovatno, NE. Kada otkrijete šta je Laravel i kako ga koristiti, biće vam lakše da izbegnete repetativne poslove.

 

Infogate - Laravel-logo-white

Da li možemo da se oslonimo na open source zajednicu u ovom slučaju?

Danas više nego ikada pre imamo u ponudi razna gotova programska rešenja. Neko će se odlučiti za Ruby, neko za Python, NodeJS ili PHP i svi imaju svoje prednosti ali odluku sa kojim rešenjem idete u realizaciju morate doneti sami. Ako uzmemo u obzir da je PHP najprisutniji na web-u, možemo očekivati da je i broj ljudi sa kojima potencijalno sarađujete veliki. Bilo da je projekat jednostavan ili komplikovaniji moraćemo da se bavimo istom tematikom bez obzira na kompleksnost. Ako je taj deo već obrađen na kvalitean način ostaje nam samo da izaberemo gotov paket.

Susrećemo se za većom potrebom izrade web aplikacija i uvek se zadaci kod svakog projekta ponavljaju. Da li ove ponavljajuće komponente u softveru pisati iznova svaki put ili napraviti neko svoje kastomizovano rešenje koje možemo implementirati u svakom novom projektu. Da li ćemo imati baš svaki put dovoljno vremena da naše komponente održavamo ispravnim, odgovor je verovatno ne.

Da li možemo da se oslonimo na open source zajednicu u ovom slučaju?

Danas više nego ikada pre imamo u ponudi razna gotova programska rešenja. Neko će se odlučiti za Ruby, neko za Python, NodeJS ili PHP i svi imaju svoje prednosti ali odluku sa kojim rešenjem idete u realizaciju morate doneti sami. Ako uzmemo u obzir da je PHP najprisutniji na web-u, možemo očekivati da je i broj ljudi sa kojima potencijalno sarađujete veliki. Bilo da je projekat jednostavan ili komplikovaniji moraćemo da se bavimo istom tematikom bez obzira na kompleksnost. Ako je taj deo već obrađen na kvalitean način ostaje nam samo da izaberemo gotov paket.

Pokušaćemo da vam damo razloge zašto treba da probate jedan od vodećih PHP frejmvorka - Laravel.

Laracon Europe

Frejmvork (Framework)

infogate-framework-building

Pre nego što se upustimo o priču o Laravel-u, pokušaćemo da objasnimo šta je frejmvork?

U osnovi, frejmvork predstavlja bilo koji skup gotovih komponenti (modula) koji gradi jednu solidnu startnu platformu (skelet) koja nam pomaže da budemo efikasni u razvoju aplikacija. Ovde je akcenat na brzini, jednostavnosti i upotrebi dobro poznatih i proverenih modula koje želimo da imamo pri ruci kada krećemo u projekte. Ne želimo svaki put da počinjemo od nule, vreme je danas luksuz koji ne možemo da priuštimo i ne postoji ni jedan razlog protiv da ne bi koristili frejmwork.

Kada kažemo frejmvork često mislimo na kompleksne strukture za građenje buduće aplikacije, ali u praksi frejmvork može biti i blok od samo par komponenti, recimo FastRoute za rutiranje, HttpFoundation za obradu HTTP zahteva, Container za dependensi, Twig za templejte.

 

Softwerski Frejmvork - definicija

"U programiranju, programski okvir je apstrakcija u kojoj omogućavanje generalnih softverskih funkcija mogu biti selektivno menjane dodatnim kodom napisanim od strane korisnika, i time omogućavajući softver koji je specifčan za aplikacije. Programski okvir je univerzalano softversko okruženje koje može biti korišćeno iznova i koje omogućava određenu funkcionalnost kao deo veće softverske platforme da olakša razvoj aplikacija, proizvoda i rešenja. Programski okviri mogu uključivati podršku programa, kompajlere, biblioteke koda, skupove alatki, i API koji sve ukupno donose različite komponente da omoguće razvoj projekta ili rešenja."  — Wikipedia

Jednostavnije rečeno, frejmvork je struktura od koje gradimo našu aplikaciju. Dozvoljava nam da povežemo različite API-je kako bi definisali konačnu strukturu buduće aplikacije.

Fejmvork radi sledeće stvari:

  • Čini rad na kompleksnim projektima jednostavnijim
  • Pisanje čistog i ponovo upotrebljivog koda
  • Nameće pravila za implementaciju koda na konzinstentan način, manje grešaka, fleksibilnost
  • Čini testiranje i otklanjanje grešaka jednostavnijim

Web frejmvork

Web frejmvork je softverski frejmvork koji je posebno diyajniran kao podrška za rayzijanje web aplikacija zajedno sa web servisima, web resursima i web API.

PHP Frejmvork

PHP Frejmvork je kolekcija klasa koja pomaže developeru da brzo i jednostavno izgradi svoj projeket.

Šta je Laravel?

Ako poredimo PHP open source projekte, Laravel je jedan od omiljenih izbora za moderne web aplikacije. On je otvorenog koda, svež i moderan i poseduje sve komponente za brz razvoj aplikacije.

Laravel može da bude odgovor za potrebe vašeg novog projekta, ipak najbolje je da birate rešenje prema svojim znanjima i iskustvima koje ste stekli ranije. Ako planirate prezentacionu stranicu ili blog možda je uputnije da se odlučite za čist HTML kod ili recimo WordPress kao zreliju platformu za ove namene.

Developeri biraju Laravel pre drugih frejmvork rešenja zbog njegove brzine, karakteristika i skalabilnosti. On dosledno prati Model View Controller (MVC) arhitekturu i čini PHP dobrim izborom za web rešenja.

Laravel nas lišava pisanja koda uobičajenih zadataka koji se koriste u većini web projekata, kao što su provere identiteta, rutiranje, sesija i keširanje. Ima jedinstvenu arhitekturu, pa omogućava programerima da kreiraju sopstvenu infrastrukturu koja je specijalno dizajnirana za njihovu primenu.

Laravel se ne koristi samo za velike projekte, odličan je izbor i za male i mikro projekte, a možete se odlučiti i za kastomizovane verzije Laravela poput Lumen-a.

 

Kako da naučim Laravel

Ako ste početnik koji želi da krene sa učenjem Laravel frejmvorka obavezno krenite od sledećih stranica:

infogate-laravel-laptop

Laravel

Zvanična Web prezentacija Laravel frejvorka. Obavezna polazna stranica za svakog početnika. Kako instalirati Laravel na razvojno okruženje Homestead, detaljno objašnjenje za migracije, autentikaciju, kontrolere, modele, prikaze, događaje, notifikacije i ostale specifičnosti ovog frejmvorka.

infogate-laravel-laracasts

Laracasts

Ako učite vizualno onda obavezno posetite ovaj link. Laracasts obezbeđuje jako kvalitetne video prezentacije za učenje osnova u Laravel frejmovorku. Lekcije nisu dosadne, učite kroz primere i većina materijala je potpuno beplatna. a za dalje napredovanje postoji i opcija pretplate za napredne lekcije.

Razvojno okruženje

Za razliku od WordPress koji možete da pokrećete i na starijim verzijama PHP-a, za Laravel to ne važi. Od verzije Laravela 5.5 biće obavezna instalacija sa najnovijom verzijom PHP 7.x.
Do verzije 5.4 možete računati i sa verzijom PHP 5.6, a to vam napominjemo jer ukoliko planirate da okačite aplikaciju na neki hosting paket proverite da li provajder podrzava verziju 5.6.

Ukoliko imate još neke nedoumice oko toga šta je Laravel i kako ga najbolje koristiti, postavite nam pitanje u komentaru. Ako smatrate da je ovaj tekst bio koristan, podelite ga sa svojim prijateljima na društvenim mrežama.