Laravel – Najlepszy framework na świecie?

Data dodania:

Laravel - logotyp

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

Zalety Frameworka 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 – Laravel ma wbudowany system autentykacji. Wszystko 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 – Laravel posiada własny, dedykowany system szablonów. Blade jest prosty, intuicyjny i ma wszystkie funkcje jakie nowoczesny system szablonów powinien mieć, takie jak 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 – te 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 – 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 laravelu ma się wrażenie, że napisało się naprawdę coś dobrego :)

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.

Laravel - programista

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 problemów jakie musimy rozwiązać podczas pisania aplikacji.

W Smartbees oprócz Laravela wykorzystujemy również symfony i w dalszej części wpisu postaram się przedstawić nasze subiektywne odczucia podczas pracy z tymi dwoma frameworkami.

Framework Symfony w porównaniu do Laravela jest mniej „zautomatyzowany”. Aby uzyskać te same funkcjonalności musimy napisać więcej linii kodu. Np. 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 on 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.

O komponentach Symfony możesz dowiedzieć się więcej z poprzedniego wpisu.

Przewagą Symfony jest natomiast 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 naszą 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ć. Mając taką wiedzę będziemy mogli stwierdzić jakie narzędzie najlepiej sprawdzi się w naszym projekcie.

Chciałbyś porozmawiać o swoim projekcie opartym o Laravel lub Symfony?
Skontaktuj się z nami!