Laravel – najlepszy framework na świecie?

Laravel przebojem wdarł się na „rynek” frameworków PHP. W dwa lata od powstania był już najczęściej wyszukiwanym w Google frameworkiem, a obecnie popularnością dorównuje wszystkim innym razem wziętym. Jak zdobył taką popularność? Czy to oznacza, że Laravel można wykorzystać w każdym projekcie?

Laravel czyli najlepszy framework na świecie

Laravel - co to jest?

Laravel to framework PHP zbudowany w oparciu o wzorzec Model-View-Controller (MVC). Swojego pierwszego wydania doczekał się w 2011 roku – podobnie jak inny popularny PHP framework – Symfony, z którym często jest zestawiany. Laravel jest rozwiązaniem Open Source – nie musisz płacić kosztów licencyjnych za jego użytkowanie. Głównym założeniem Laravela jest szybkość i prostota tworzenia projektów, która wyróżnia go na tle konkurencyjnych rozwiązań.

Zalety frameworka PHP Laravel

Laravel nie zdobył serc programistów na całym świecie poprzez ciekawą nazwę czy ładne logo. Ma on mnóstwo zalet, dzięki którym tworzenie aplikacji webowych staje się dużo prostsze i szybsze.

  • Autentykacja – framework Laravel ma wbudowany system autentykacji. Jedyne co trzeba zrobić, aby go uruchomić, to komenda „make:auth”. I to wszystko, Laravel stworzy za nas wszystkie najczęściej używane funkcjonalności takie jak: strony rejestracji, logowania czy resetowania hasła.
  • System szablonów Blade – framework PHP Laravel posiada własny, dedykowany system szablonów. Blade jest prosty, intuicyjny i ma wszystkie funkcje, jakie nowoczesny system szablonów powinien mieć np. dziedziczenie. Wielu programistów PHP nie lubi pisać szablonów w dedykowanych systemach, jednak Blade jest inny. Wszystkie funkcje PHP są dostępne, gdyż szablony są kompilowane w czysty kod PHP.
  • Eloquent model – to rozwiązanie w Laravel służy do projektowania bazy danych. Całą bazę danych projektujemy za pomocą klas w PHP. Każda tabelka w bazie danych jest „przypisana” do klasy modelu w PHP. Praca z bazą danych z Eloquent staje się prosta i przyjemna.
  • Dokumentacja oraz laracasts – Laravel jest świetnie udokumentowany. Każdy nowy feature w kolejnych odsłonach tego frameworka jest opisany w dokumentacji. Jeszcze lepsze są laracasts, czyli tutoriale video prowadzone przez specjalistę znającego Laravela od podszewki.
  • Artisan – framework Laravel ma swoją linię komend zwaną „Artisan”, która niezwykle przyspiesza pracę. Wszystkie najczęściej używane komponenty aplikacji możemy wygenerować jedną komendą.
  • Prostota – Laravel „reklamuje się” poprzez piękny, poukładany kod i nie jest to tylko chwytliwe hasło marketingowe. Praca z frameworkiem jest naprawdę przyjemna. Kod jest bardzo przejrzysty i po napisaniu aplikacji w frameworku PHP Laravel ma się wrażenie, że napisało się naprawdę coś dobrego :)

Czy Laravel ma jakieś wady?

Po tych wszystkich zaletach chciałoby się odpowiedzieć twierdząco na pytanie postawione w tytule. Otóż niekoniecznie... Laravel z pewnością jest najpopularniejszym frameworkiem, ale czy najlepszym, to zależy już od projektu, do jakiego chcemy go zastosować. Dlatego tak ważne jest, aby bardzo skrupulatnie rozplanować swój pomysł, ponieważ tylko wtedy będziemy w stanie wybrać najlepsze rozwiązanie, które dostosujemy do naszych potrzeb. W wielu artykułach możemy znaleźć informacje, że Laravel jest najlepszym frameworkiem, Wordpress najlepszym systemem CMS, a ReactJS najlepszą biblioteką. Są to wszystko subiektywne opinie programistów, którzy znają lepiej konkretny system lub po prostu lepiej się im z nim pracuje.

Obecnie jako programiści PHP mamy do wyboru naprawdę mnóstwo gotowych systemów, które możemy wykorzystać w pisaniu aplikacji. To, po czym można poznać dobrego programistę PHP, to umiejętność zastosowania odpowiedniego frameworka/systemu do rozwiązania problemów, na jakie trafiamy podczas pisania aplikacji.

W Smartbees, oprócz fremowrka PHP Laravel, wykorzystujemy również Symfony. W dalszej części wpisu postaramy się przedstawić nasze subiektywne odczucia związane z pracą z tymi dwoma frameworkami.

Co wyróżnia Symfony na tle Laravel?

Framework Symfony w porównaniu do Laravel jest mniej „zautomatyzowany”. Aby uzyskać te same funkcjonalności, musimy napisać więcej linii kodu. Na przykład sami musimy wdrożyć proces autentykacji. Z tej samej przyczyny, potrzebna jest również większa wiedza z zakresu działania samego frameworka. Laravel stawia na prostotę, udostępnia wiele pomocniczych funkcji, z których możemy korzystać w naszym kodzie, np. za pomocą „back()” zostaniemy przekierowani na poprzednią stronę. W Symfony, aby uzyskać to samo działanie, będziemy musieli odwołać się do sesji. Może to drobna różnica, jednak w dużej aplikacji, w której mamy dziesiątki tysięcy linii kodu im jest go mniej, tym lepiej.

Przewagą Symfony jest możliwość zbudowania aplikacji w oparciu nie o sam framework, lecz o poszczególne komponenty. Dzięki takiemu podejściu możemy pisać naszą aplikację wg swoich standardów, nie przejmując się tym, czego wymaga od nas framework. Taka metodyka jest nieoceniona, gdy klient poprosi nas o zmiany funkcjonalne, w napisanym już przez nas kodzie. Wiele razy musieliśmy niejako „hakować” framework, aby osiągnąć zamierzony cel działania. Gdy naszą aplikację opieramy nie o framework, lecz o wybrane komponenty, mamy pełną kontrolę nad aplikacją i nie musimy się zastanawiać jak obejść pewne ograniczenia.

Mając na uwadze powyższe różnice, bardzo ważnym jest rozpisanie całej aplikacji na czynniki pierwsze i znalezienie najtrudniejszych funkcjonalności z jakimi przyjdzie nam się zmierzyć. Posiadając taką wiedzę, będziemy mogli stwierdzić, jakie narzędzie najlepiej sprawdzi się w naszym projekcie.

Najczęściej zadawane pytania o Laravel

poznaj odpowiedzi
1

Dlaczego warto korzystać z Laravel?

2

Dla kogo Laravel będzie najlepszym wyborem?

3

Czy Laravel jest darmowy?

Myślisz o projekcie opartym o Laravel?

Pomożemy Ci w realizacji