ABC front-end developera: frameworki i biblioteki - z czym to się je?
Front-endowiec, aby zająć się swoją pracą, czyli widoczną dla użytkownika częścią danej funkcjonalności, potrzebuje oczywiście odpowiednich narzędzi. Wśród nich jest framework. To platforma programistyczna, która stanowi szkielet do budowy aplikacji bądź strony internetowej oraz definiuje to, co jest w nich zawarte. Charakteryzuje strukturę i działanie oraz dostarcza niezbędne biblioteki. Framework zapewnia gotowe komponenty bądź rozwiązania, a jednocześnie pozwala je rozwijać i dostosowywać do potrzeb projektu.
Narzędzia dla front-endowca – poznaj najpopularniejsze!
Angular
Najstarszy i najpopularniejszy framework Java Script do tworzenia i projektowania wydajnych aplikacji typu SPA (Single Page Application). Został wydany w 2010 roku przez jednego z gigantów technologicznych – Google, dlatego też jest niezwykle solidny i bardzo mocno przez niego wspomagany. Angular służy tworzenia zarówno prostych, jak i skomplikowanych, stron internetowych i aplikacji mobilnych. Udostępnia programiście zbiór gotowych narzędzi i rozwiązań, w które wystarczy wprowadzić własny kod i w razie potrzeby dokonać modyfikacji. Angular wdraża całą gamę funkcjonalności, którymi powinien dysponować każdy szkielet aplikacji. Developerzy doceniają go głównie za takie cechy jak narzucona architektura aplikacji, rozwiązania wspierające pisanie komponentów, modułowość, routing i zastosowanie wzorców projektowych.
Zalety:
- wymagana znajomość tylko najprostszych języków – HTML, CSS i JavaScript,
- bardziej czytelny kod – z racji podziału na moduły i serwisy,
- domyślny komplet narzędzi – brak konieczności projektowania od początku wszystkich funkcji,
- szybkie sporządzanie widoków interfejsu użytkownika dzięki nieskomplikowanej i wydajnej składni,
- optymalizacja refaktoryzacji, czyli wprowadzania niefunkcjonalnych zmian w kodzie,
- sposób manipulacji DOM pozwala wyodrębnić logikę aplikacji od interfejsu użytkownika,
- opcja wygodnych i precyzyjnych testów oprogramowania – jednostkowych i kompleksowych,
- możliwość korzystania ze wsparcia ogromnej społeczności użytkowników frameworku – nawet początkujący developer ma szansę szybko uzyskać odpowiedzi na pytania.
Wady:
- wysoki próg wejścia – trudna do opanowania platforma programistyczna, a co więcej – framework typu opinionated, czyli o własnym sposobie działania – front-endowiec musi się dostosować i podążać za zasadami,
- problemy, które mogą wystąpić podczas przechodzenia ze starszej wersji do najnowszej,
- aby wykorzystać wszystkie możliwości narzędzia – konieczna jest nauka TypeScrpit.
React
Technicznie rzecz biorąc, nie jest frameworkiem, ale biblioteką, która służy do budowania interfejsów. Zastosowanie ma wszędzie tam, gdzie dochodzi do interakcji online. Przeznaczony do aplikacji webowych. Pozwala na wytwarzanie złożonych interfejsów poprzez małe, wyodrębnione od siebie komponenty. React działa znacznie szybciej niż inne wdrażanie tego rodzaju, co umożliwia budowanie bardzo produktywnego interfejsu. Dzięki temu zmiany w witrynie dokonują się w czasie teraźniejszym, praktycznie na oczach użytkownika. React – od 2013 roku, gdy został rozpowszechniony jako open source, zyskał ogromną popularność.
Zalety:
- niski próg wejścia – front-endowiec znający JavaScript szybko opanuje pracę z Reactem,
- wysoka wydajność wynikająca z bazowania na domenie wirtualnej,
- możliwy do stosowania z każdym frameworkiem,
- opcja wielokrotnego wykorzystania komponentów,
- jednokierunkowy przepływ danych,
- pozwala konstruować dynamiczny interfejs,
- Virtual DOM (Document Object Model) – pozwala modernizować możliwość aktualizacji i biegłość, bez potrzeby nadmiernego przejmowania się procesem renderowania,
- witryny na podstawie Reacta korzystnie wpływają na SEO (prędkość jednym z aspektów rozważanych
w rankingu Google), - stabilny i rozwojowy za sprawą sporej, stale powiększającej się społeczności.
Wady:
- zawrotne tempo rozwoju biblioteki Reacta – developerzy muszą być cały czas na bieżąco z nowinkami technologicznymi, ponieważ sposób pracy wciąż się zmienia – czasem nawet z tygodnia na tydzień, z dnia na dzień,
- zapewnia podgląd jedynie samego interfejsu,
- elastyczność architektury – brak wstępnie założonych zasad dotyczących prezentacji aplikacji, co może być problematyczne dla początkujących.
Vue.js
Framework przeznaczony do tworzenia dynamicznych interfejsów użytkownika. Rewelacyjnie sprawdza się w sferze internetowej i bywa używany do konstruowania nawet najbardziej złożonych aplikacji webowych. Umożliwia swobodne synchronizowanie tworzonego oprogramowania z innymi istniejącymi już projektami. Pozwala budować zarówno nieskomplikowane komponenty, jak również zaawansowane i skalowane aplikacje typu SPA (Single Page Application) – przy zastosowaniu wspierających narzędzi i bibliotek.
Zalety:
- niski próg wejścia – tak jak w przypadku React, wystarczy znać podstawy JavaScript, aby tworzyć proste aplikacje,
- w odróżnieniu od pozostałych nie podlega żadnej korporacji,
- ciągle doskonalony przez użytkowników,
- szybkość – najszybszy ze wszystkich, a dodatkowo waży tylko około 18-23 kilobajtów,
- open source – otwarte programowanie, z którego można korzystać w dowolnych, nawet komercyjnych projektach,
- wszechstronność.
Wady:
- zbyt duża elastyczność – może powodować trudności podczas łączenia z dużymi projektami,
- wciąż brak doświadczenia z niektórymi możliwymi rozwiązaniami,
- sporo elementów i opisów nadal jest w języku chińskim (sukcesywne tłumaczenie na angielski).
Które z wymienionych narzędzi jest najlepsze? To zależy! O wyborze tego właściwego decydują bowiem programiści, którzy pracują nad daną aplikacją. Każdy framework i każda biblioteka są trochę inne i mogą odpowiadać na różne potrzeby i oczekiwania.