Laravel, czemu programiści go pokochali?

Laravel to framework, napisany w języku PHP. Został on wydany w 2011 roku i bardzo szybko stał się jednym z popularniejszych rozwiązań.

Laravel, czemu programiści go pokochali?

Laravel

Laravel to framework, czyli szkielet programu, napisany w języku PHP. Został on wydany w 2011 roku i bardzo szybko stał się jednym z popularniejszych rozwiązań tego typu. Jest to oprogramowanie w pełni otwarte (licencja MIT), bazujące na popularnym wzorcu MVC (Model-View-Controller).

Mimo ogromnej popularności, dużo programistów uważa, że Laravel nie jest frameworkiem, któremu warto zaufać. A jak jest naprawdę? W Code Apps używamy naprzemiennie Laravela i Symfony, oba frameworki znamy bardzo dobrze. Postanowiłem więc spisać kilka najważniejszych zalet tego systemu i obalić kilka mitów.

Zapraszam!

Czym jest framework?

Zacznijmy od wyjaśnienia, czym jest w ogóle framework. Jest to szkielet do budowy aplikacji. Frameworki są różne od takich, które są po prostu zestawem bibliotek, które możemy użyć aż po takie, które narzucają nam sposób budowania projektów.

Większość aplikacji składa się z tych samych elementów. Na przykład praktycznie każda aplikacja webowa musi zawierać:

  • Obsługę routeru
  • Obsługę bazy danych
  • Autoryzację użytkowników
  • Bibliotekę do wysyłki e-maili
  • itd.

Gdybyśmy przy każdym projekcie musieli to wszystko robić od nowa, tracilibyśmy bardzo dużo czasu. I tu z pomocą przychodzą nam frameworki. Dzięki nim, programista może skupić się na tworzeniu faktycznych funkcji aplikacji.

Oczywiście, są aplikacje, które wymagają dedykowanych rozwiązań. Ale jednak większość programów śmiało możemy zbudować na frameworku.

laravel

Model-View-Controller

Model-View-Controller, w skrócie MVC, to wzorzec architektoniczny, który pomaga programiście uporządkować strukturę aplikacji.

Wzorzec MVC składa się z 3 części:

  • Model – Model to pewna definicja logiki aplikacji. Najczęstszą formą modelu w aplikacjach webowych jest to, co aplikacja otrzymuje z bazy danych.
  • View – Ten element definiuje jak wygląda nasza aplikacja lub to, co ona zwraca.
  • Controller – Główna logina aplikacji, która przyjmuje dane wyjściowe od użytkownika i reaguje na nie (przekazuje do modelu, widoku czy np. waliduje otrzymane dane).

Zalety frameworka PHP Laravel

Popularność

Obecnie Laravel naprzemiennie z Symfony jest najpopularniejszym frameworkiem w języku PHP. Dzięki czemu programiści mają dostęp do dużej społeczności i wiedzy. Dodatkowo, dużo firm szuka programistów znających ten framework.

Dokumentacja i laracast

Sami autorzy dbają o to, aby poznanie ich produktu było jak najprostsze. Laravel posiada bardzo rozbudowaną dokumentację oraz tutoriale w formie wideo.

Prostota

Moim zdaniem największą zaletą Laravel jest prostota i intuicyjność. Wielokrotnie programiści napotykając jakiś problem, nie muszą nawet zaglądać w dokumentację. Piszą tak jak im się „wydaje”, że powinno być i nagle okazuje się, że to działa. Dodatkowo osoby pracujące nad tym narzędziem zadbały o bardzo dużo różnych funkcji czy opcji, które bardzo ułatwiają pracę programistom. Przykładem jest funkcja back(), która cofa nas do poprzedniej strony. Normalnie, musielibyśmy sami zapisać w sesji poprzednią stronę, odczytać z sesji i przekierować użytkownika. Laravel zrobi to wszystko za nas.

Autentykacja

Ogromna część aplikacji webowych zawiera możliwość założenia konta i zalogowania się do aplikacji przez użytkowników. Laravel posiada wbudowaną autentykację użytkowników, którą dodajemy do naszej aplikacji jedną komendą. Dzięki wbudowanej obsłudze rejestracji, logowania i uprawnień, programiści zyskują bardzo dużo czasu.

Eloquent

Laravel posiada wbudowany system do obsługi baz danych dzięki modelom, które piszemy jako część aplikacji. Fajne i proste w obsłudze rozwiązanie, które bardzo ułatwia tworzenie prostych zapytań.

Query builder

Dodatkowo, Laravel posiada tzw. Query Builder, który umożliwia nam budowanie nawet bardzo zaawansowanych zapytań, praktycznie bez znajomości bazy danych. Za pomocą odpowiednich metod, jesteśmy w stanie pobrać dane z bazy nie pisząc nawet kawałka zapytania SQL.

Artisan

Artisan to linia komend, która bardzo ułatwia pracę programistom. Zamiast robić wszystko ręcznie, wystarczy wpisać odpowiednią komendę i Laravel zrobi daną czynność za nas.

Blade

Szczerze mówiąc nie jestem fanem systemu szablonów Blade. Zdecydowanie wolę system Twig, który jest dostępny we frameworku Symfony. Jednak Blade posiada jedną funkcję, którą programiści bardzo chwalą. A mianowicie, Blade to tak naprawdę tylko nakładka na PHP. Dzięki temu, możemy w szablonach używać PHP, przez co Blade ma dużo większe możliwości. Jak wspomniałem, ja osobiście nie jestem fanem tego rozwiązania, ale warto o tym wspomnieć.

Migracje

Migracje to klasy, które definiują strukturę bazy danych. Super opcja, która pozwala nie tylko zachować porządek, ale też trzymać historię zmian w strukturze bazy danych, która zmienia się wraz z kolejnymi wersjami aplikacji.

Chcesz otrzymać raz w tygodniu newsletter dla programistów?
 
Podaj swój adres e-mail.

Środowisko Laravela

Laravel to nie tylko framework, to cały ekosystem powiązanych z frameworkiem dodatków i programów. Obecnie w ekosystemie Laravela znajduje się 18 elementów, takim jak np.:

  • Nova – Generator panelu administracyjnego do naszej aplikacji.
  • Lumen – Microframework do malutkich aplikacji.
  • Cashier – Moduł do płatności subskrypcyjnych.
  • Dusk – Moduł do testów aplikacji.
  • Passport – Implementacje OAuth2.
  • Scout – Wyszukiwanie full-textowe w bazie danych.
  • Socialite – Logowanie do aplikacji za pomocą kont z Facebook, Twitter, LinkedIn, Google, GitHub, GitLab and Bitbucket.

Niektóre z powyższych dodatków są płatne, jednak czas jaki zyskujemy jest często wart tych dodatkowych pieniędzy.

Laravel vs Symfony

Zarówno Laravel jak i Symfony są bardzo popularne, jednak różnią się dość znacząco. Laravel jest prostszy do nauczenia i dużo więcej rzeczy jest zautomatyzowanych. W Symfony musielibyśmy napisać dużo więcej kodu, aby uzyskać taki sam efekt jak w przypadku Laravela. Plusem Symfony na peno jest Doctrine i to, że Symfony nie wymusza na nas struktury aplikacji. Możemy zrobić po swojemy tylko korzystając z komponentów od Symfony.

Dyskusja na temat plusów i minusów obu rozwiązań to temat na osobny wpis, który napewno niedługo powstanie 🙂

A Ty, po której jesteś stronie? Używasz Laravela, czy wolisz inne rozwiązania?

Michał Molenda

Autor wpisu:

Michał Molenda

Od ponad 13 lat pracuję jako programista aplikacji webowych. Prowadzę software house Code Apps, w której wraz z zespołem obsługujemy firmy jako zewnętrzny dział IT. Od 2013 roku jestem cyfrowym nomadą, czyli łączę pracę z podróżami.

Komentarze (2)

laravel

laravel

27.09.2020

"ułatwiają pracę programistą"? Proponuję dać komuś tekst do przeczytania przed opublikowaniem

Michał Molenda

Michał Molenda

28.09.2020

Poprawione, dzięki! :)

korektor

korektor

16.10.2020

"Jedna Blade posiada jedną funkcję..." chyba miało być: "Jednak Blade posiada jedną funkcję...." Pozdrawiam :-)

Michał Molenda

Michał Molenda

08.11.2020

Dzięki, poprawione! :)

Dodaj komentarz

Polecane wpisy

Programowanie

Zarobki freelancerów 2020 roku
Zarobki freelancerów 2020 roku

Analiza i wnioski z raportu zarobki freelancerów w 2020 roku, który powstał na podstawie badania na grupie 1076 Polskich freelancer.

Czytaj więcej

Programowanie

Odpowiedzialność programisty, o czym musisz pamiętać
Odpowiedzialność programisty, o czym musisz pamiętać

Odpowiedzialność programisty to bardzo ważny aspekty o który trzeba zadbać, zaczynając swoją karierę zawodową. Zobacz, moje rady w tym temacie.

Czytaj więcej

Programowanie

Dlaczego warto zostać programistą?
Dlaczego warto zostać programistą?

Zastanawiasz się, czemu temat programistów stał się taki popularny? Zapraszam do wpisu, który wyjaśnia, dlaczego warto zostać programistą.

Czytaj więcej

Programowanie

Jak nie zniechęcać się do nauki programowania
Jak nie zniechęcać się do nauki programowania

Co zrobić gdy nauka programowania zamiast sprawiać nas przyjemność, zaczęła nas nudzić? Kilka porad jak nie zniechęcać się do nauki programowania.

Czytaj więcej

Programowanie

Kursy programowania Bootcamp, wywiad z uczestnikiem
Kursy programowania Bootcamp, wywiad z uczestnikiem

Kursy typu bootcamp to kursy, które trwają określoną ilość tygodni i wszyscy uczą się o tych samych porach. Zobacz wywiad, z programistą po kursie backend.

Czytaj więcej

Programowanie

Jak zdobyć klientów, poradnik dla freelancerów
Jak zdobyć klientów, poradnik dla freelancerów

Każdy początkujący freelancer czy przedsiębiorca zastanawia się, jak zdobyć klientów. Sposobów jest bardzo dużo zobacz te najbardziej popularne.

Czytaj więcej

Programowanie

Rady dla początkujących programistów
Rady dla początkujących programistów

Rady dla początkujących programistów, które pomogą Ci uniknać niepotrzebnych błędów co wpłynie pozytywnie na Twoją karierę programisty.

Czytaj więcej

Programowanie

Błędy początkujących programistów
Błędy początkujących programistów

Artykuł opisujący błędy początkujących programistów, napisany na podstawie wielu rozmów z bardziej doświadczonymi programistami.

Czytaj więcej

Programowanie

Akademickie Inkubatory Przedsiębiorczości
Akademickie Inkubatory Przedsiębiorczości

AIP, czyli Akademickie Inkubatory Przedsiębiorczości to ciekawa alternatywna dla działalności gospodarczej. Zobacz czemu!

Czytaj więcej

Programowanie

Programista na swoim
Programista na swoim

Przychodzi moment w życiu, w którym stwierdzasz, że praca dla kogoś jest bez sensu i jako doświadczony programista, musisz założyć swoją firmę.

Czytaj więcej

Cotygodniowy
Newsletter.

Podaj swój adres e-mail, aby raz w tygodniu dostać email z ciekawymi poradami na temat biznesu, prowadzenia firmy i czasami cyfrowego nomadyzmu. Zero SPAM'u!

Michał Molenda