Technologie

Laravel

Laravel

Czym jest Laravel?

Laravel to jeden z frameworków języka PHP opracowany w 2011 roku. To rozwiązanie open source bardzo szybko zdobyło sympatię programistów i już 2 lata później stało się najczęściej wyszukiwanym frameworkiem w wyszukiwarce Google. Oparty jest na wzorcu architektonicznym Model - View - Controller, który zakłada podział tworzonej aplikacji na trzy zasadnicze części:


  • Model, czyli logikę aplikacji.
  • View, czyli widok wyświetlany użytkownikowi (interfejs użytkownika).
  • Controller (kontroler) reagujący na akcję użytkownika, aktualizujący model i odświeżający widok aplikacji.

Jakie są zalety tego frameworka?

Prosta składnia

Do jednych z najważniejszych zalet, z punktu widzenia pracy z tym frameworkiem, jest duży nacisk na prostotę składni, czystość i elegancję kodu. Choć może to się wydawać bez znaczenia dla odbiorcy gotowej aplikacji, wpływa to na szybkość projektowania, wydajność przetwarzania danych, stabilność i działanie całej aplikacji. Dodatkowo te cechy znacznie ułatwiają późniejsze utrzymanie i modyfikacje gotowego produktu. Ponadto wpływają na możliwość dołączenia do projektu kolejnych programistów lub jego przekazanie do innego zespołu.

Intuicyjne

Kolejna zaleta związana jest z podstawowymi założeniami twórców tego narzędzia. Laravel jest intuicyjny, posiada prostą i rozbudowaną dokumentację, co czyni ewentualny troubleshooting zdecydowanie łatwiejszym i szybszym procesem. Wpływa to na czas przygotowania gotowego produktu, a więc i na jego cenę (zakładając oczywiście utrzymanie wysokiej jakości kodu i standardu rozwiązania). Laravel posiada również wbudowaną funkcję uwierzytelniania i autoryzacji, co znacząco zwiększa bezpieczeństwo użytkowników i wpływa na szybkość zaprojektowania aplikacji.

Linia komend Artisan

Następną niewątpliwą zaletą jest wbudowana linia komend Artisan, która pozwala przeprowadzać szereg skomplikowanych operacji za pomocą odpowiednich poleceń. Bez użycia dodatkowego kodu, bez konieczności poświęcenia czasu na jego napisanie i sprawdzenie, powtarzalnie.

Otwartość

Otwarty charakter rozwiązania pozwolił społeczności na przygotowanie wielu dodatkowych modułów, które są ogólnodostępne i pozwalają na bardzo szybkie wdrożenie funkcji, które najczęściej sprawiają trudności programistom tym większe, im bardziej skomplikowana jest sama aplikacja.

Zastosowania:

Sprawdzone technologie to klucz do tworzenia wysokiej jakości rozwiązań IT. Na każde zlecenie patrzymy z perspektywy dostępnych rozwiązań. Staramy się myśleć i działać nieszablonowo, aby dobrać dobrać framework i metodykę pracy optymalną z punktu potrzeb klienta i jego planów. To pozwala nam wdrażać skalowalne aplikacje dostosowane do wymagań biznesu.

Ok. To czy Laravel ma jakieś wady?

Tak… i nie. To ma, czy nie ma? Wszystko sprowadza się do istoty tego narzędzia i jego pochodzeniu. Laravel to framework PHP, więc do pewnego stopnia powiązany jest z jego zaletami (które dodatkowo wzmacnia), ale też wadami (których nie może całkowicie rozwiązać). Tak naprawdę bardzo wiele, jeśli nie najwięcej zależy od samego rozwiązania, do którego stworzenia chcemy wykorzystać ten framework.


W zależności od tego, jak wykorzystamy wady Laravela mogą wynikać z jego zalet. Dla przykładu zawiera mechanizm fasad (statyczne interfejsy dla klas dostępnych w aplikacji), które znacząco przyśpieszają pisanie kodu. Super, prawda? Zawsze łatwiej i szybciej jest skorzystać z gotowca i mieć sprawę z głowy. Niestety, ale nie zawsze użycie fasad jest wskazane. Tworzą one zależności między elementami, często niewidoczne na pierwszy rzut oka, przez co aplikacja może stać się problematyczna przy testach czy konieczności jej modyfikacji.


Możliwość pisania krótkiego, uporządkowanego kodu po części zawdzięczamy Eloquent ORM, czyli model mapowania obiektowo-relacyjnego, a w skrócie sposób, w jaki aplikacja współpracuje z bazą danych. Eloquent pozwala uprościć to zagadnienie, ale niesie za sobą kolejne ryzyką związane ze złamaniem zasady SOLID (skrót od 5 zasad programowania obiektowego), a mianowicie zasady pojedynczej odpowiedzialności. Mówi ona, że nie powinno być więcej niż jednego powodu dla istnienia klasy lub metody, powinny one odpowiadać za jedną, zdefiniowaną funkcję. Eloqyent tworzy klasę modelu, która posiada wiele takich odpowiedzialności. Może przykładowo przechowywać dane odpowiadające jednemu elementowi w tabeli i w tym samym czasie mieć możliwość zapisania samego siebie do bazy lub siebie z niej usunąć.

To czy Laravel będzie odpowiedni dla mojej aplikacji?

Może być. Dlaczego tylko może? Wszystko zależy od rozwiązania, które chcesz stworzyć i sposobu, w jaki zostanie zaprojektowane. To podobnie jak z wartościami i potrzebami biznesowymi, które każdy klient może posiadać inne.


Jeśli najważniejsze jest szybkie dostarczenie rozwiązania dedykowanego, zaprojektowanego od początku do końca dla konkretnej grupy odbiorców to Laravel sprawdzi się idealnie. Pozwoli na przygotowanie i wdrożenie niezbędnych funkcji w krótkim czasie, zachowując przy tym dobrą jakość kodu i rozsądny stosunek użyteczności do możliwości modyfikacji i rozwoju.


A jeśli szukam rozwiązania niestandardowego, dostosowanego do współpracy z moimi obecnymi systemami? Laravel sprawdzi się także w takim wypadku. Pozwoli na przygotowanie dedykowanych mechanizmów składających się na ściśle spersonalizowaną i wyspecjalizowaną aplikację zapewniającą bezpieczeństwo użytkowania i wysoką jakość kodu. Dodatkowo będzie ona stosunkowo szybko przekazana biznesowi do testów i weryfikacji, co znacząco skróci czas ostatecznego dostosowania do końcowych wymagań, jak i doprecyzowanie tych wymagań przez zamawiającego.


A jeśli nie wiem jeszcze do końca, co chcę zrobić i jakie ostatecznie funkcje powinna mieć moja aplikacja? Laravel jest nastawiony na pracę zgodnie z zasadami syntactic sugar (skupienie na przejrzystości kodu i łatwości jego zrozumienia). Dzięki temu niejako wymusza na programistach stosowanie jasnej i czytelnej składni, która doświadczonemu programiście pozwoli na bezproblemowe śledzenie zależności między poszczególnymi modelami klas i elementami aplikacji. To pozwoli na stosunkowo łatwe i niskokosztowe wprowadzanie nowych funkcjonalności i modyfikacji w już istniejących częściach aplikacji.

Podsumowanie

Laravel dodatkowo uwypukla jedną z najważniejszych zalet PHP - skalowalność. Pozwala korzystać z gotowych rozwiązań znacząco przyśpieszających wytwarzanie aplikacji, które mogą w niektórych wypadkach, być obarczone pewnymi ryzykami czy niedogodnościami przejawiającymi się na późniejszym etapie projektów. Z drugiej strony zapewnia swobodę tworzenia rozwiązań “na piechotę” tak, gdzie jest to konieczne. Niezależnie od wielkości i poziomu skomplikowania planowanego rozwiązania, Laravel sprawdzi się idealnie pod warunkiem, że będziemy pracować z doświadczonym zespołem deweloperskim. Aby zapewnić najlepsze wyniki ,zespół taki powinien dobrze rozumieć założenia i wymagania biznesowe, aby zaproponować i wykonać dla klienta dopasowane dla niego rozwiązanie, dostarczające mu wartość biznesową na najwyższym poziomie.

Case study

Tomasz Kubski

CEO pierwszego wiejskiego Software House w galaktyce

tomasz.kubski@nxo.pl

Porozmawiajmy o Twoim projekcie

Napisz do nas, gwarantujemy:

  • Kontakt zwrotny w 2 godziny robocze od złożenia zapytania
  • Spotkanie nawet następnego dnia roboczego

Chcesz najpierw zawrzeć z nami umowę NDA?
Napisz do nas na kontakt@nxo.pl