Rozwój aplikacji opartych o Laravel
Laravel to framework, który pozwala na tworzenie aplikacji internetowych w języku PHP. Jest jednym z najpopularniejszych frameworków dla języka PHP. W porównaniu do konkurencji ma niski próg wejścia i możliwości rozwijania aplikacji — nawet do dużych rozmiarów.
SSR w Laravel
Laravel daje pełną paletę rozwiązań do tworzenia nawet bardzo rozbudowanych i skomplikowanych aplikacji. Domyślnie korzysta z systemu templatek Blade, które mogą być wydajnie doposażone o JS dzięki Laravel-Mix.
Technicznie Laravel-mix to wrapper na Javascriptowy build tool, jakim jest webpack, który daje dodatkowe możliwości budowania w architekturze Laravela i strukturze katalogów.
Warto jednak zauważyć, że widoki generowane po stronie serwera (eng. Server Side Rendering) to tylko jedna z możliwości pracy z tym frameworkiem.
Obsługa baz danych w Laravelu
Laravel posiada własny system ORM — Eloquent. Pozwala on na tworzenie wydajnych zapytać do baz danych SQL. Przez wielu specjalistów jest uważany za bardziej wygodny od konkurencyjnego Doctrine.
Tworzenie REST API
Dzięki mechanizmom wbudowanym w Laravela — takim jak routing, autentykacja i autoryzacja, obsługa logowania błędów czy bezpośrednie zarządzanie odpowiedziami HTTP — Laravel idealnie nadaje się do tworzenia API. Pozwala na szybie tworzenie dokumentacji API dzięki Swagger.
REST API pozwala nam zasilić danymi np. aplikacje typu SPA, aplikacje mobilne, IoT czy inne, zewnętrzne integracje.
Przetwarzanie kolejek, praca ciągła
Ze względu na sposób działania języka PHP — kod aplikacji uruchamiany jest, aby przetworzyć żądanie użytkownika. Co jednak z czynnościami konserwacyjnymi, serwisowymi? Z pomocą przychodzą nam zdefiniowane zadania CRON — mają one jednak swoje ograniczenia. Innym sposobem jest instalacja Supervisor, który pozwala rozwinąć skrzydła aplikacjom napisanym w Laravelu.
Oczywiście w tym miejscu warto zaznaczyć, że istnieją inne systemy do przetwarzania kolejek takie jak np. RabbitMQ, ale wybiega tematycznie poza główny wątek — jakim jest Laravel.
Wersje Laravela
Kolejne wersje frameworka Laravel dodają nowe funkcje, zmieniają pewne koncepcje czy są dostosowywane do wymagań zmieniającego się w kolejnych osłonach języka PHP.
Warto mieć świadomość, że pomiędzy kolejnymi "dużymi wersjami" pojawiać się mogę tzw. breaking changes — każdorazowa migracja na kolejną linię Laravela powinna być poprzedzona testami analizą zmian a aplikacji.
Biorąc jednak pod uwagę, że back-end zwykle rozwija się wolniej od front-endu nie jest to takim wielkim problemem.
Artisan, Composer i Docker
Mimo tego, że język PHP jest dostępny na większości serwerów współdzielonych, to jednak Laravel często wymaga do pracy zainstalowanego lub dostępnego jako plik .phar managera zależności — Composer. Do wydajnej pracy możemy również potrzebować narzędzia artisan, które jest po prostu CLI (eng. Command Line Interface) dla Laravela.
W takim przypadku dostęp SSH to niezbędne minimum, ale aby zainstalować np. wspomnianego Supervisora lub uruchamiać aplikację jako kontener Docker będziemy musieli uzyskać dostęp do użytkownika root, a to już kwestia przynajmniej serwerów VPS.
Stabilny partner w budowie systemów opartych o Laravel
Rozważając budowę aplikacji opartej o Laravel, warto wybrać solidnego i rzetelnego wykonawcę. Nie jest to technologia szczególnie trudna, ale biorąc pod uwagę stosunkowo niski próg wejścia do języka PHP oraz fakt, że często wykonawcy, które do tej pory wdrażali Wordpressa, próbują swoich sił z Laravelem — warto zachować czujność.
Na szczególną uwagę zasługuje doświadczenie w podobnych obszarach do rozwiązania, które chcemy tworzyć. Przykładowo — zagadnienia związane z Blade i Laravel-Mix nie są konieczne do tworzenia REST-API, tak jak odpowiednia struktura RestFul nie jest wymagana w przypadku monolitycznych aplikacji SSR.