Când dorești să implementezi un proiect nou de la zero în Laravel, ai mai multe strategii disponibile. Am pregătit o listă cu avantaje și dezavantaje pentru fiecare abordare.
1. Laravel Basic
Laravel Basic înseamnă 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 va fi împărțită în 3 părți:
- Implementare API
- Frontend
- Javascript – implementare requesturi ajax.
Avantaje
- În aplicația real-time se va încărca doar ce este nevoie
- Posibilitate de a fi integrată în altă aplicație
- Frontend-ul se poate implementa în orice framework CSS sau framework JS ( VueJS, ReactJS, AngularJS )
- Se poate rula si headless, adică fără 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)
Această direcție devine deprecated, adică se recomandă să alegi Jetstream + Inertia sau Jetstream + Livewire.
Avantaje
- Aplicație ui/ux friendly real-time
- Separare între backend și frontend
- Posibilitate de a fi integrată în alte aplicații
- Componente reutilizabile implementate în VueJS
- Bootstrap este cel mai popular și ușor de învățat framework CSS.
Dezavantaje
- Necesită cunoștințe solide REST API
- Necesită cunoștințe VueJS – JS framework
4. Laravel Jetstream Inertia
Este una dintre cele mai bune variante pentru a implementa o aplicație de la zero. Aplicația va fi împărțită în 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
- Acțiunea din controller devine request ajax în mod automat
- Frontendul este alcătuit din componente VueJS
Dezavantaje
- Necesită cunoștințe Jetstream
- Necesită cunoștințe Inertia
- Necesită cunoștințe solide în 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 fiind scris în PHP folosind standardul din Laravel și se transformă în cod javascript, obținând astfel o aplicație real-time.
În loc de controllere vei avea de creat componente Livewire, fiecare componentă fiind 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!