Już od lat, jednym z najgorętszych tematów wśród programistów są Frameworki. Wielu z nas niemal na co dzień debatuje na temat wyższości jednych rozwiązań nad drugimi lub po prostu fascynuje się nowościami, które pojawiają się w ich kolejnych wersjach.
Ale co to właściwie są te Frameworki? Na to, jak i na inne pytania postaram się odpowiedzieć w tym wpisie.
Udanej lektury!
Spis treści
Framework to niejako dodatek do języka programowania. Jest to po prostu zestaw narzędzi i praktyk, które umożliwiają między innymi:
Laravel (PHP)
To obok Symfony jeden z najpopularniejszych Frameworków do języka PHP.
Cechuje się przede wszystkim prostotą i szybkością tworzenia kodu. Znajdziemy do niego całe mnóstwo gotowych komponentów, a jego najnowsze wersje pozwalają na instalacje Breeze, czyli zestawu startowego, który pozwala w dosłownie minutę zaimplementować do naszego kodu rzeczy takie jak chociażby logowanie, rejestracje, czy przywracanie hasła. Laravel oferuje nam także używanie szablonów Blade, które pozwalają na jeszcze łatwiejsze tworzenie szablonów stron.
Spring (Java)
Jeden z najpopularniejszych frameworków na świecie. Umożliwia jeszcze szybsze, łatwiejsze i bezpieczniejsze programowanie w języku Java.
Django (Python)
Python to od wielu lat jeden z najpopularniejszych języków programowania. Jest znany ze swojej prostoty i szerokiego spektrum możliwości. Jest świetnym wyborem dla początkujących programistów.
Za sprawą niezwykle popularnego frameworka Django, Python potrafi przekształcić się w bardzo szybki, bezpieczny i skalowalny język do tworzenia rozmaitych serwisów internetowych.
Jeżeli programista Pythona ma zamiar tworzyć aplikacje webowe, niemal z całą pewnością na jakimś etapie zaprzyjaźni się z Django.
Ruby on Rails (Ruby)
Choć Ruby obecnie nie uchodzi za aż tak popularny język programowania jak te, które wymieniłem wyżej, nadal jest całkiem popularną i jedną z najbardziej lubianych technologii na świecie.
Sprawa z Ruby jest o tyle ciekawa, że gdy mówimy Ruby, bardzo często mamy na myśli Ruby on Rails, czyli tak naprawdę bardzo popularny framework do tego języka.
Ruby on Rails, podobnie jak opisane wyżej Django, umożliwia bardzo proste i szybkie tworzenie aplikacji webowych.
To tylko kilka z najbardziej popularnych frameworków na świecie. Tak naprawdę, znajdziecie ich całe mnóstwo. Niemal każdy popularny język programowania posiada przynajmniej kilka dobrych, rozbudowanych frameworków, a niektóre z nich posiadają potężne biblioteki, które, choć oficjalnie frameworkami nie są, również ułatwiają tworzenie naprawdę niezwykłych rzeczy (np. React.js).
Póki co wypisałem chyba same zalety i przedstawiłem Frameworki jako coś niezbędnego…
No otóż wcale tak nie jest.
Uważam, że zazwyczaj (w zależności od języka programowania), z czasem warto nauczyć się jakiegoś frameworka.
Nie zmienia to jednak faktu, że nie polecam się brać za naukę frameworka od razu.
Najlepiej pierw zgłębić podstawy języka tak, by framework Was dodatkowo nie przygnębiał. Z reguły mają one tysiące plików, więc z początku będzie Wam się dość ciężko odnaleźć.
Proponuję też pierw zbudować jeden lub nawet kilka projektów w czystym języku programowania. Nawet jeśli kod będzie taki sobie, pojmiecie podstawy architektury, dzięki którym będzie Wam o wiele łatwiej zrozumieć działanie frameworka, czyli to, co dzieje się kiedy i dlaczego.
Frameworki nie zawsze są jedynym właściwym rozwiązaniem, dlatego warto pierw zacząć od podstaw samego języka.
Wszystko zależy od zastosowania.
Jeżeli planujecie niewielką aplikację, która ma mieć zaledwie parę funkcji, prawdopodobnie nie ma sensu zbędnie obciążać jej topornym frameworkiem. To tak, jakby brać całą wywrotkę po to, by przewieźć jeden worek piasku. Można, ale po co?
Co ciekawe, paradoksalnie Frameworki mogą nie sprawdzić się nie tylko przy najmniejszych, ale i największych projektach. Przy największych projektach, w których trzeba niezwykłej wydajności, duże firmy często sięgają po autorskie, dedykowane rozwiązania. Pozwalają one jeszcze lepiej dostosować się do ich indywidualnych potrzeb. Zazwyczaj nie ma to sensu, ale w największych firmach nawet 1%, czy 2% wzrostu wydajności może pozwolić na ogromną redukcję kosztów. W tak skrajnych przypadkach, gotowe, uniwersalne frameworki mogą nie być najlepszym rozwiązaniem.
Niemal wszystko ma jakieś wady. Jak nie trudno się domyślić, mają je także frameworki.
Oto kilka ich najpopularniejszych wad: