Categorii
programare web

Laravel 8 – 5 strategii pentru un proiect nou

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!