Wybrana grupa frameworków i bibliotek — ASP.NET Core, Django, Angular, React.js, Node.js — to w praktyce jedne z najbardziej rozpoznawalnych i szeroko wykorzystywanych rozwiązań w branży tworzenia aplikacji webowych. Każdy z nich pełni trochę inną rolę, co powoduje, że są stosowane na różnych warstwach aplikacji. Na przykład ASP.NET Core oraz Django to frameworki po stronie serwera, obsługujące backend, logikę biznesową i komunikację z bazą danych. Są bardzo popularne zwłaszcza tam, gdzie liczy się szybkość wdrożenia i bezpieczeństwo. Node.js również zalicza się do backendowych technologii, z tym że pozwala pisać po stronie serwera w JavaScript, co bywa ogromnym plusem, gdy zespół jest mocno frontendowy. Angular i React.js to natomiast narzędzia, które pomagają budować rozbudowane, interaktywne interfejsy użytkownika po stronie klienta. Takie podejście, gdzie backend i frontend są rozdzielone, to obecnie standard — tzw. architektura SPA (Single Page Application) albo nawet JAMstack. Warto pamiętać, że dobrym zwyczajem jest korzystać właśnie z takich nowoczesnych frameworków, bo zapewniają solidne wsparcie społeczności, regularne aktualizacje i kompatybilność z nowymi standardami webowymi. Moim zdaniem, jeżeli myśli się poważnie o pracy jako developer webowy, to znajomość przynajmniej dwóch z wymienionych narzędzi to absolutny must-have. Przy okazji — wiele firm prowadzi projekty wieloplatformowe, więc umiejętność korzystania z tych frameworków można łatwo przenieść również do świata mobilnego czy nawet IoT.
Wiele osób uczących się web developmentu na początku myli pojęcia frameworków, bibliotek oraz platform czy narzędzi deweloperskich. Często do tej samej kategorii wrzuca się narzędzia programistyczne, systemy zarządzania treścią (CMS), czy nawet kompletne środowiska IDE, co wprowadza niepotrzebny zamęt. Przykładem może być zestawienie takich narzędzi jak Visual Studio czy Eclipse razem z frameworkami — są to środowiska programistyczne (IDE), a nie frameworki czy biblioteki do tworzenia aplikacji webowych. Z kolei narzędzia typu Android Studio czy Xamarin to już kompletnie inna bajka, bo dotyczą one raczej programowania aplikacji mobilnych, nie webowych. Joomla! oraz WordPress to natomiast systemy CMS, które co prawda są wykorzystywane do budowy stron internetowych, ale nie są typowymi frameworkami ani bibliotekami służącymi do programowania aplikacji webowych od podstaw. Ich głównym celem jest umożliwienie łatwego zarządzania treścią, a nie realizacja logiki aplikacji, routingu, obsługi API czy dynamicznego renderowania interfejsu użytkownika w sposób, w jaki robią to np. React.js czy Angular. Często spotykam się ze stwierdzeniem, że wystarczy znajomość jQuery, żeby „robić front-end”, ale w dzisiejszych realiach jest to stanowczo za mało — jQuery powoli wychodzi z użycia, ustępując nowoczesnym frameworkom takim jak React czy Angular, które lepiej radzą sobie z zarządzaniem stanem aplikacji, komponentyzacją i integracją z backendem przez API. Moim zdaniem, takie błędne klasyfikacje wynikają głównie z powierzchownego rozeznania w temacie i braku praktyki w budowaniu większych aplikacji. Najważniejsze to nauczyć się rozróżniać narzędzia do zarządzania projektem, edytory kodu, systemy CMS i prawdziwe frameworki/biblioteki webowe, które pozwalają tworzyć nowoczesne, skalowalne aplikacje zgodne ze standardami branżowymi.