Na początku dynamicznej sieci pisanie aplikacji internetowej wyglądało zupełnie inaczej niż dzisiaj. Wówczas programiści byli odpowiedzialni za napisanie kodu nie tylko unikalnej logiki biznesowej naszych aplikacji, ale także każdego z komponentów, które są tak powszechne w różnych witrynach - uwierzytelnianie użytkownika, sprawdzanie poprawności wejściowej, dostęp do bazy danych, szablon.
Dzisiaj programiści mają dziesiątki ram rozwoju aplikacji oraz tysiące komponentów i bibliotek łatwo dostępnych. Jest to powszechny refren wśród programistów, którzy do czasu nauki jednej ramy, pojawiły się trzy nowsze (i rzekomo lepsze) ramy.
„Tylko dlatego, że jest tam” może być ważnym uzasadnieniem wspinania się na górę, ale istnieją lepsze powody, aby zdecydować się na użycie określonych ram - lub w ogóle skorzystanie z ram. Warto zadać pytanie: dlaczego ramy? Dokładniej, dlaczego Laravel?
Dlaczego warto korzystać z frameworka?
Łatwo jest zrozumieć, dlaczego korzystanie z poszczególnych komponentów lub pakietów są dostępne dla programistów PHP. W przypadku pakietów ktoś inny jest odpowiedzialny za opracowanie i utrzymanie odizolowanego kodu, który ma dobrze zdefiniowaną pracę, a teoretycznie osoba ma głębsze zrozumienie tego pojedynczego składnika niż masz czas.
Frameworki, takie jak Laravel-i Symfony, Silex, Lumen i Slim-Prepackage Kolekcja komponentów stron trzeci. Tak więc korzyścią z korzystania z ram w ogóle jest to, że ktoś podjął decyzje nie tylko dla ciebie indywidualnych komponentów, ale także o jak te komponenty powinny pasować do siebie.
„Po prostu sam to zbuduję”
Załóżmy, że zaczynasz nową aplikację internetową bez korzyści z frameworka. Od czego zaczynasz? Cóż, prawdopodobnie powinien kierować żądania HTTP, więc musisz teraz ocenić wszystkie dostępne biblioteki żądania i odpowiedzi HTTP i wybrać jedną.
Potem router. Aha, i prawdopodobnie będziesz musiał ustawić jakąś formę Plik konfiguracyjny trasuje. Co składnia powinien użyć? Gdzie powinno iść? Co powiesz na kontrolery? Gdzie mieszkają i jak są załadowani?
Cóż, prawdopodobnie Potrzebujesz wtrysku zależności pojemnik do rozwiązania kontrolerów i ich zależności, ale który z nich?
Ponadto, co, jeśli poświęcisz czas na odpowiedź na wszystkie pytania i skutecznie utworzyć aplikację - jaki jest wpływ na następnego programistę?
Co powiesz na cztery takie aplikacje oparte na ramach niestandardowych lub tuzin, i musisz pamiętać, gdzie mieszkają kontrolery, lub jaka jest składnia routingu?
Ramy spójności i elastyczności dotyczą tego problemu, zapewniając starannie rozważaną odpowiedź na pytanie „który komponent powinniśmy tutaj użyć?”I zapewnienie, że wybrane poszczególne komponenty działają dobrze razem. Ponadto frameworki zapewniają konwencje, które zmniejszają ilość kodu, który deweloper nowy w projekcie musi zrozumieć - jeśli rozumiesz, jak działa routing w jednym projekcie Laravel, rozumiesz, jak działa we wszystkich projektach Laravel.
Kiedy ktoś przepisuje na sobie własne ramy dla każdego nowego projektu, tak naprawdę opowiada się za możliwością kontrolowania tego, co robi, a nie wchodzi do podstaw Twojej aplikacji.
Oznacza to, że najlepsze ramy nie tylko zapewnią ci solidne fundamenty, ale także zapewnią swobodę dostosowywania do treści serca.
Krótka historia ram internetowych i PHP
Ważna część możliwości odpowiedzi na pytanie „Dlaczego Laravel?„Zrozumienie historii Laravel - i zrozumienie tego, co było przed nią. Przed wzrostem popularności Laravel istniało różne ramy i inne ruchy w PHP i innych przestrzeniach tworzenia stron internetowych.
Ruby on Rails
David Heinemeier Hansson wydał pierwszą wersję Ruby on Rails w 2004 r.
Rails spopularyzowane MVC, RESTFUL API JSON, konwencja nad konfiguracją, aktywny rekord oraz wiele innych narzędzi i konwencji, które miały głęboki wpływ na sposób, w jaki twórcy stron internetowych podeszli do swoich aplikacji - szczególnie w odniesieniu do szybkiego tworzenia aplikacji.
Napływ ram PHP
Dla większości programistów było jasne, że szyny i podobne ramy aplikacji internetowych były falą przyszłości, a ramy PHP, w tym te, które wprawdzie naśladują szyny, zaczynając szybko pojawiać się.
CakePhp był pierwszym w 2005 r., A wkrótce nastąpiła Symfony, Codeigniter, Zend Framework i Kohana (widelca kodegniter).
Yii przybył w 2008 roku, a Aura i Slim w 2010 roku. Rok 2011 przyniósł FuePhp i Laravel, które nie były całkiem odgałęzieniem kodegniter, ale zamiast tego zaproponowano jako alternatywy. Niektóre z tych ramy były więcej szyn-y, koncentrując się na mapach obiektowych bazy danych (ORMS), strukturach MVC i innych narzędziach ukierunkowanych na szybki rozwój. Inne, takie jak Symfony i Zend, skupili się bardziej na wzorcach projektowania przedsiębiorstw i e -commerce.
Dobra i zła koderia
CakePhp i Codeigniter były dwoma wczesnymi ramami PHP, które były najbardziej otwarte na temat tego, jak bardzo ich inspiracja była czerpana z szyn. Codeigniter szybko stał się sławny i do 2010 roku był prawdopodobnie najpopularniejszym z niezależnych ram PHP.
Codeigniter był prosty, łatwy w użyciu i szczycił się niesamowitą dokumentacją i silną społecznością. Ale jego wykorzystanie nowoczesnej technologii i wzorców powoli powoli, a gdy światowy świat rozwinął się i zaawansował narzędzia PHP, Codeigniter zaczął pozostawać w tyle pod względem postępów technologicznych, jak i funkcji poza pudełkiem.
W przeciwieństwie do wielu innych frameworków, Codeigniter zarządzała firma i powoli nadrobili zaległości w PHP 5.Nowsze funkcje 3, takie jak przestrzenie nazw i przeniesienie do GitHub, a później kompozytora. To było w 2010 roku Taylor Otwell, Stwórca Laravela, stał się wystarczająco niezadowolony z Codeigniter, że wyruszył, aby napisać własne ramy.
Laravel 1, 2 i 3
Pierwsza beta Laravel 1 została wydana w czerwcu 2011 roku i została napisana całkowicie od zera. Zawierał niestandardowy ORM (wymowny); routing oparty na zamknięciu (inspirowany przez Ruby Sinatrę); system modułów do rozszerzenia; oraz pomocników formularzy, walidacji, uwierzytelniania i innych.
Później Laravel 4 i Laravel 5 przyszli i zmienili całą grę.
Co jest takiego specjalnego w Laravel?
Więc co wyróżnia Laravel? Dlaczego warto mieć więcej niż jedną ramę PHP w dowolnym momencie? Wszystkie i tak używają komponentów z symfony, prawda? Porozmawiajmy trochę o tym, co sprawia, że Laravel „tyka."
Filozofia Laravela
Musisz tylko przeczytać materiały marketingowe i readmes Laravel, aby zacząć widzieć jego wartości. Taylor używa słów związanych z światłem, takimi jak „Iluminate” i „Spark.
A potem są: „rzemieślnicy?„Eleganckie?„Te:„ Oddech świeżego powietrza." "Nowy początek.”I wreszcie:„ Rapid." "Prędkość warp.„Dwie najsilniej komunikowane wartości ramy mają zwiększyć szybkość programistów i szczęście programisty.
Taylor opisał język „rzemieślniczy” jako celowo kontrastujący z bardziej utylitarnymi wartościami. Możesz zobaczyć genezę tego rodzaju myślenia w swoim pytaniu z 2011 roku na temat Stackexchange (http: // bit.ly/2dt5kms), w którym stwierdził: „Czasami spędzam śmieszne ilości czasu (godzin) bolesując nad tym, że kod wyglądał ładnie” - tylko ze względu na lepsze doświadczenie patrzenia na sam kod.
I często mówił o wartości ułatwiania i szybszym, aby deweloperzy czerpią swoje pomysły do realizacji, pozbywając się niepotrzebnych barier w tworzeniu świetnych produktów. Laravel jest u podstaw wyposażenia i umożliwienia programistom. Jego celem jest dostarczenie jasnego, prostego i pięknego kodu i funkcji, które pomagają programistom szybko uczyć się, rozpocząć i rozwijać oraz zapisać kod, który jest prosty, jasny i będzie trwał.
Koncepcja kierowania programistami jest jasna w materiałach Laravel. „Szczęśliwi programiści Make The Best Code” jest napisane w dokumentacji.
„Szczęście programisty od pobierania do wdrożenia” było przez jakiś czas nieoficjalnym hasłem. Oczywiście każde narzędzie lub framework powie, że chce, aby programiści byli szczęśliwi. Ale posiadanie szczęścia programisty jako głównego problemu, a nie wtórnego, miało ogromny wpływ na styl Laravel i postęp decyzyjny. W przypadku, gdy inne ramy mogą ukierunkować czystość architektoniczną jako główny cel lub zgodność z celami i wartościami zespołów programistycznych, głównym celem Laravel jest służenie indywidualnemu programistom.
Jak Laravel osiąga szczęście programisty
Po prostu mówienie, że chcesz uszczęśliwić programistów, to jedno. Robienie tego jest kolejne i wymaga kwestionowania, co w ramach najprawdopodobniej sprawi, że programistów będzie nieszczęśliwi i co najprawdopodobniej uszczęśliwiają. Istnieje kilka sposobów, w jakie Laravel próbuje ułatwić życie programistom.
Po pierwsze, Laravel to ramy szybkiego rozwoju aplikacji. Oznacza to, że koncentruje się na płytkiej (łatwej) krzywej uczenia się i minimalizacji kroków między uruchomieniem nowej aplikacji a publikowaniem. Wszystkie najczęstsze zadania w tworzeniu aplikacji internetowych, od interakcji bazy danych, przez uwierzytelnianie, kolejki, przez e -mail, po buforowanie, są prostsze dzięki komponentom.
Ale komponenty Laravela nie są same same w sobie; Zapewniają spójny interfejs API i przewidywalne struktury w całym ramie. Oznacza to, że kiedy próbujesz czegoś nowego w Laravel, bardziej niż prawdopodobne będzie, że powiesz: „… I to po prostu działa?'
To też nie kończy się na samej frameworku. Laravel zapewnia cały ekosystem narzędzi do budowania i uruchamiania aplikacji. Masz Homestead i Valet for Local Development, Force for Server Management i Enderoyer do zaawansowanego wdrożenia.I jest pakiet dodatkowych pakietów:
Laravel próbuje wyjąć powtarzalną pracę z pracy programistów, aby mogli zrobić coś wyjątkowego.
„Fragmenty - Laravel Up & Running Book”