Când dorești să implementezi un proiect nou de la zero in Laravel ai mai multe strategii disponibile. Am pregătit o listă cu avantaje și dezavantaje pentru fiecare abordare.
1. Laravel Basic
Laravel Basic inseamnă doar cod PHP și motorul de template BLADE.
Avantaje
- Cod minimal și curat
- Cod PHP 100%
- Template-urile sunt scrise folosind BLADE
Dezavantaje
- La fiecare acțiune se va incărca pagina completă
2. Laravel Basic + Ajax via Axios
Aplicația împărțim în 3 părți:
– Implementare API
– Frontend
– Javascript – implementare requesturi ajax.
Avantaje
- Aplicație real-time, se va încărca doar ce este nevoie
- Posibilitate de a integra în altă aplicație
- Frontend-ul se poate implementa in orice framework CSS sau framework JS ( VueJS, ReactJS, AngularJS )
- Se poate rula si headless, adica fara frontend.
Dezavantaje
- Structura aplicației devine complexă
- Crește timpul de implementare
3. Laravel + laravel/ui (VueJS)
Aplicația împărțim în 2:
- Implementare API
- Frontend implementat in VueJS
- Frontend va folosi Bootstrap
Aceasră direcție încet devine deprecated, adică se recomandă să alegi Jetstream + Inertia sau Jetstream + Livewire.
Avantaje
- Aplicație ui/ux friendly real-time
- Separare intre backend si frontend
- Posibilitate de a integra in alte aplicații
- Componente reutilizabile implementate in VueJS
- Bootstrap este cel mai popular framework CSS și ușor de învățat.
Dezavantaje
- Cunoștine solide REST API
- Ai de învățat VueJS – JS framework
4. Laravel Jetstream Inertia
Este una dintre cele mai bune variante pentru a implementa o aplicație de la zero. Aplicație va avea 3 părți:
- API hibrid
- Integrare Jetstream
- Integrare Inertia ( VueJS )
Avantaje
- Aplicație real time
- Business logic este scris in PHP folosind standardul din Laravel
- Actiunea din controller devine request ajax in mod automat
- Frontendul este alcătuit din componente VueJS
Dezavantaje
- De învățat Jetstream
- De învățat Inertia
- Cunoștințe solide in VueJS
- Acomodarea durează mai mult până înțelegi cănd un request este un request full sau se încarcă prin ajax
5. Laravel Jetstream Livewire
Este o alternativă interesantă, codul este scris în PHP folosind standardul din Laravel și se transformă în cod javascript astfel vei obține o aplicație real-time.
In loc de controllere vei avea de creat componente Livewire, fiecare componentă este echivalentul unei metode action din controller.
Avantaje
- Cod PHP, nu este necesară învățarea unui framework JS
- Componentele sunt reutilizabile
Dezavantaje
- limitat la ecosistemul Livewire
- Resource controllers devin inutile
- Necesită timp de adaptare
Daca îți dorești să inveți Laravel de la zero, și nu numai, alăturat găsești datele mele de contact!