Categorii
programare web

Laravel 8 – 5 strategii pentru un proiect nou

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!