Najpopularniejsze frameworki JavaScript
Marek Zoellner · 30.03.2020
Uczysz się programowania? Wybrałeś już swoją własną ścieżkę w IT? Jeśli stawiasz na front-end i zaczynasz poznawać JavaScript, nie zapomnij o frameworkach. Czym są i do czego służą frameworki?
Handlebars, Hibernate, Solar, Activate, Phalcon, Flask and Silverstripe and Typo3 Flow, Agavi, Pixie, Hazaar MVC, CodeIgniter, Lithium and PRADO… - czy ktoś wpadł na to, że to mogą być słowa do piosenki? Tylko cztery pierwsze linijki, a już się zrobiło gęsto prawda? Na pomysł wpadł niejaki Dylan Beattie, który na swoim kanale na YouTube opublikował klip. W piosence, która jest przeróbką przeboju Billy Joela, usłyszymy całe mnóstwo nazw frameworków, bo - jak śpiewa Beattie - wciąż i wciąż powstają nowe.
Ciągły postęp i unowocześnianie technologii powoduje oczywiście, że niektóre z nich wypadają z obiegu jeszcze zanim na dobre się w nim pojawią. Inne jednak cały czas trzymają się twardo czołówki światowych rankingów. Oto jedno z takich zestawień.
Jakie frameworki JavaScript są najpopularniejsze
Na stronie 2019.stateofjs.com widzimy, że jeśli chodzi o front-end to od 2016 roku poza jednym wyjątkiem pierwsze miejsce na podium należy do Reacta. Jedynie raz, w 2018 zrównał się w Vue.js.

Tworzenie aplikacji internetowych od podstaw, w tym nauka wykorzystywania Reacta to część programu bootcampa Web Developer z Programem Gwarancja Pracy w Kodilli. Reacta uczymy również podczas kursu Bootcamp Front-end: React, gdzie po trwającym 60 godzin wprowadzeniu kolejne 60 godzin przeznaczysz na naukę tego frameworka w praktyce.
A teraz spójrzmy, co o frameworkach i bibliotekach pisze Bulldogjob. Portal omawia 9 najpopularniejszych w ubiegłym roku frameworków JavaScript na podstawie raportu State of JavaScript, w którym wykorzystano odpowiedzi 20 000 programistów.

Tu także na pierwszym miejscu wymieniany jest React, który:
“z ponad 126 000 gwiazdek na GitHubie, jest deklaratywną, wydajną i elastyczną biblioteką JavaScript do budowania interfejsów użytkownika. Tworzenie interaktywnych interfejsów jest naprawdę bezbolesne. Budowanie aplikacji zorientowanych na komponenty jest bardzo ułatwione, a kompatybilność wsteczna jest tutaj traktowana poważnie, dzięki czemu można mieć pewność długotrwałej skuteczności. Na powyższym wykresie można łatwo zauważyć, że w ciągu ostatnich kilku lat znacznie więcej osób słyszy o React. Jest to bardzo dobra opcja do rozpoczęcia podróży z front-endem. Deweloperzy korzystający z Reacta byli w czołówce najlepiej opłacanych programistów JavaScript w 2018 roku” - pisze Bulldogjob.
Vue js stworzony przez Evana You i ponad 234 użytkowników z GitHuba, to progresywny framework do tworzenia interfejsów użytkownika. Składa się z dostępnej biblioteki podstawowej, która skupia się tylko na warstwie widoku, oraz ekosystemu bibliotek pomocniczych, które pomagają rozwiązać złożoność dużych Single Page Application.
Angular - umożliwia programistom tworzenie aplikacji webowych na urządzeniach mobilnych i na komputerach. Posiada najbardziej przydatne narzędzie CLI dla początkujących, aby łatwo zacząć. Jest nawet klient GUI, zwany konsolą.
Redux - pomaga pisać aplikacje, które zachowują się w sposób spójny, działają w środowisku klienta, serwera i natywnym, a także są łatwe do testowania. Można korzystać z Redux razem z Reactem lub z dowolną inną biblioteką do tworzenia widoków.
GraphQL - język zapytań dla interfejsów API i runtime do realizowania tych zapytań z istniejącymi danymi. Apollo GraphQL to implementacja GraphQL, która pomaga zarządzać danymi z chmury do Twojego interfejsu użytkownika. Jest stopniowo dostosowywalny i może być nakładany na istniejące usługi, w tym API REST i bazy danych.
Co to są frameworki?
No właśnie, ale czym one w ogóle są i do czego służą? Przywołany już Bulldogjob pisze o nich w ten sposób:
“framework JavaScript jest narzędziem, które można wykorzystać do tworzenia zaawansowanych aplikacji internetowych, zwłaszcza SPA. W dawnych czasach programiści webowi wdrażali logikę front-endową, opierając się w dużym stopniu na standardowym JS i jQuery. Jednak wraz ze wzrostem złożoności aplikacji front-endowych, narzędzia te się rozrastały, aby sprostać tej złożoności”
Popularne obecnie frameworki mają kilka podstawowych cech wspólnych. Większość frameworków/bibliotek front-endowych, od Vue do React, zapewnia pewną kombinację następujących elementów:
- Synchronizacja stanu i widoku
- Routing
- System szablonów
- Elementy nadające się do wielokrotnego użytku
Ciekawie o frameworkach pisze również Ola, należąca do krakowskiej grupy, która tworzy basement-code.pl - blog o programowaniu.
“Po co są frameworki w JS? Przede wszystkim umożliwiają podział kodu ze względu na funkcję, którą ma pełnić i zawartość do wyświetlenia”
Blogerzy-programiści z piwnicy (basement-code) wyjaśniają, że w skrócie dzielimy nasz kod na 3 podstawowe funkcjonalności: model - co wyświetlamy, z czego składają się nasze dane, jaka jest logika aplikacji; widok - jak wyświetlamy model, czyli szablony; kontroler - w jaki sposób model i widok powinny zareagować na to, co robi użytkownik. Dzięki takiemu podziałowi można oddzielić kod zajmujący się logiką od tego, który zajmuje się wyświetlaniem. W czym jeszcze pomagają frameworki i biblioteki? Wśród najważniejszych cech wymieniono tutaj np. przyspieszenie pisania z użyciem gotowych rozwiązań czy podział kodu na zespoły (X pisze komponent A, Y pisze komponent B). Wśród wad blogerka wymienia zaś fakt, że potrzeba więcej czasu na rozpoczęcie pisania: "Przy mniejszych aplikacjach tworzenie z użyciem frameworka może wyglądać jak użycie koparki do przesadzenia tulipana".
Który framework wybrać?
Jak widzisz, frameworki to z jednej strony duże ułatwienie, mogą jednak wprowadzić pewne zamieszanie na ścieżce początkującego programisty. Zwłaszcza, że jest ich tak wiele, ciągle ewoluują, w dodatku nadal powstają nowe. Ze swojej strony stawiamy na sprawdzone rozwiązania. Ty możesz zaglądać do takich rankingów jak ten przygotowany przez HotFrameworks, w którym dane są sukcesywnie aktualizowane.
Fitrowanie wg JavaScript daje nam taką oto pierwszą dziesiątkę (łącznie z punktacją):
- React 97
- AngularJS 93
- Vue.js 92
- Angular 92
- Express 87
- Meteor 83
- Ember.js 79
- Polymer 75
- Sails.js 74
- Koa 69
Natomiast poniżej wykres, na którym widać popularność frameworków i bibliotek bez wyróżnienia konkretnego języka:

A jeśli chcesz najpierw sprawdzić, czy masz w ogóle predyspozycje do pracy na stanowisku programisty, zacznij od łatwiejszego zadania: