Wszystko, co musisz wiedzieć o biznesowym wykorzystaniu JS w 2022 roku
Wyobraź sobie, że Twój dział wypuszcza zupełnie nowy produkt i potrzebujesz eleganckiej strony, która narobi szumu wokół premiery. Albo że planujesz uruchomić skalowalny marketplace B2B.
Oba pomysły możesz zrealizować w JavaScripcie.
A jeśli chcesz zbudować pomysłowy produkt cyfrowy, na przykład platformę z grami w przeglądarce albo aplikację na smartwatcha? Albo aplikację mobilną, która wzmocni Twoją obecność na rynku, poprawi obsługę klienta lub zwiększy produktywność zespołu?
Tak, to też zbudujesz w JS.
Ta wszechstronność JavaScriptu w połączeniu z jego szybkością i interoperacyjnością sprawia, że jest to najpopularniejsza technologia programistyczna na świecie (ósmy rok z rzędu!). Niesłabnąca popularność tego języka oznacza, że dziś już chyba nikt w Twojej firmie, łącznie z osobą prowadzącą biuro, nie pomyli go z Javą*. Jeśli jednak czujesz, że o JS warto wiedzieć coś więcej, ten praktyczny przewodnik jest dokładnie tym, czego potrzebujesz.
* jeśli to nadal problem, niech przeczytają tę sekcję.
Nasz przewodnik po JavaScripcie jest dla każdego, kto pracuje w biznesie i chce zrozumieć programowanie w JavaScripcie oraz to, co oznacza ono dla firmy.
Możesz być założycielem startupu, który chce olśnić salę pełną inwestorów interaktywną prezentacją.
Albo product ownerem, który potrzebuje strony lub aplikacji webowej, żeby promować i sprzedawać produkt.
Albo project managerem, który chce zbudować wewnętrzną platformę do koordynowania pracy swoich zespołów.
Nasz przewodnik przyda się też przedsiębiorcom, którzy chcą, żeby aplikacje firmowe działały wydajniej, zespoły interdyscyplinarne pracowały sprawniej, a procesy biznesowe były zautomatyzowane.
Niezależnie od sytuacji ten przewodnik pomoże Ci poznać JavaScript i jego zastosowania. Zdecydujesz, czy to właściwy język programowania do Twojego kolejnego dużego projektu.
Mnóstwa (mamy nadzieję). Jeśli jednak mamy wskazać pięć najważniejszych rzeczy, będą to:
Dlaczego tysiące firm co roku wybiera JavaScript.
Jakie niesamowite rzeczy możesz zbudować w JS, a jakich nie.
Czym u licha są frameworki JS i dlaczego są Ci potrzebne.
Ile zapłacisz za projekt i co wziąć pod uwagę przy planowaniu budżetu.
Gdzie znaleźć najlepszych programistów JavaScript do kolejnego projektu.
Zaczynajmy! A jeśli nie masz teraz czasu na lekturę przewodnika, pobierz wersję PDF i zachowaj ją na później.
Klikając „Pobierz e-booka”, wyrażasz zgodę na przetwarzanie Twoich danych przez Ideamotive Sp. z o. o. w celach marketingowych, w tym marketingu e-mailowego.
Chcesz zbudować produkt cyfrowy w JavaScripcie?
Porozmawiaj z naszym doradcą biznesowym. Przeanalizujemy Twoje wymagania, ułożymy plan rozwoju produktu i zbierzemy zespół programistów klasy A.
Spis treści

Pewnie obiło Ci się o uszy, że „JavaScript jest wszędzie”. Gdzie dokładnie?
Według Web3Techs: na ponad 96% wszystkich stron. Google, LinkedIn, Yahoo, YouTube, eBay, Amazon, gdzie nie spojrzeć. JavaScript jest wszędzie.
JavaScript stworzył w 1995 roku Brendan Eich. To język skryptowy do budowy dynamicznych treści na stronach i zarządzania nimi: multimediów, interaktywnych formularzy, animacji, pokazów zdjęć, kalendarzy, podpowiedzi autouzupełniania i wielu innych.
JS to jedna z trzech podstawowych technologii front-endu, obok HTML i CSS. HTML to język znaczników, który odpowiada za strukturę strony, CSS nadaje treści HTML style, a JavaScript tworzy dynamiczne, interaktywne elementy strony i nimi steruje.
Kto stworzył JavaScript?
Brendan Eich (rocznik 1961) to amerykański informatyk, inżynier oprogramowania i prelegent. W 1995 roku dołączył do Netscape Communications i stworzył tam język dla przeglądarki. Wzorował go na składni i bibliotece standardowej Javy, a nazwy obiektów odpowiadały klasom Javy.
W 1998 roku Eich współtworzył projekt Mozilla, z którego wyrosła Mozilla Foundation, a później Mozilla Corporation. Po odejściu z Mozilli Eich założył kolejną firmę, Brave Software, która rozwija przeglądarkę nastawioną na prywatność, połączoną z platformą reklamy cyfrowej opartą na blockchainie.
Tak! Jak sama nazwa wskazuje, JavaScript to język skryptowy. Języki skryptowe tradycyjnie wykonuje linia po linii interpreter, czyli program, który bezpośrednio realizuje zapisane instrukcje. Inaczej niż języki kompilowane, takie jak C++, które kompilator musi najpierw przetłumaczyć na kod binarny.
Obecnie JS można też uruchamiać z kompilatorem just-in-time. Kompiluje on kod w locie i zapisuje wynik w pamięci podręcznej, aby przyspieszyć kolejne uruchomienia. JavaScript pozostaje jednak językiem skryptowym.
Jako język programowania JavaScript jest:
Open source dotyczy oprogramowania, a JS jest językiem programowania, więc nie, JS nie jest open source. Jest jednak otwartym standardem zgodnym ze specyfikacją ECMAScript. Każdy może z niej skorzystać, aby stworzyć własną implementację.
Żeby JS dał jakikolwiek wynik, potrzebny jest silnik interpretujący, a każdy z nich ma własną licencję. Na przykład V8 od Google, Hermes od Facebooka i Rhino od Mozilli są open source. Z kolei Jerryscript ma licencję Apache.
Bez interpretera JS nie da żadnego wyniku; frameworki i biblioteki są opcjonalne, choć bardzo zalecane. To gotowe komponenty, dzięki którym Twój zespół JavaScript szybciej napisze solidny i wydajny kod. Zyskuje na tym też Twój biznes: kod jest mniejszy i prostszy, a projekt szybciej trafia na produkcję.
Czasem, jak w przypadku Reacta, trudno jednoznacznie stwierdzić, czy dany zasób jest frameworkiem, czy biblioteką. W teorii oba pojęcia są jednak odrębne.

Framework to platforma programistyczna, na której buduje się aplikację. Przypomina plan domu: trzeba go uzupełnić o szczegóły, zanim ruszy budowa.
Framework ma gotowy kod klas, procesów i funkcji, ale dopiero programista dopisuje konkrety, żeby powstał kompletny program.
Popularne frameworki JS to Angular, Bootstrap i Vue.js.
Przejdź do tej sekcji, aby dowiedzieć się więcej o frameworkach JS.
Biblioteka, podobnie jak framework, to kod wielokrotnego użytku. Zwykle jednak odpowiada za jedną konkretną funkcję lub komponent i zostawia programiście więcej swobody w układaniu struktury kodu. Wracając do metafory domu: biblioteki to gotowe meble i sprzęty, które dobieramy do wnętrza.
Główna różnica między biblioteką a frameworkiem polega na tym, że biblioteka zawiera fragmenty gotowego kodu, które programista musi jeszcze ułożyć w proces. Frameworki natomiast odpowiadają za prowadzenie procesów. Do tego jeden framework może korzystać z wielu bibliotek.
Bibliotek JS są dziesiątki, a listy popularności otwierają DOJO, jQuery i React.
Choć większość programistów JavaScript polega na konkretnych frameworkach i bibliotekach, część z nich buduje aplikacje w tak zwanym „Vanilla JavaScript”, czyli czystym kodzie JS bez dodatkowych zasobów. Takie podejście zdarza się jednak rzadko.
JavaScript działa przede wszystkim po stronie klienta, czyli na urządzeniach użytkownika połączonych z siecią: laptopach, smartfonach, komputerach i innych.
Skrypty wykonują się wtedy bezpośrednio w przeglądarce, więc przetwarzanie jest szybsze, a reakcja na działania użytkownika natychmiastowa. Dlatego ten model wybiera się do dynamicznych, interaktywnych treści i obsługi interakcji z użytkownikiem.
Rozszerzona wersja JS działa też po stronie serwera, z dostępem do plików, baz danych i serwerów. Kod JS pisze się wtedy podobnie jak w C, Javie czy dowolnym innym języku serwerowym.
JavaScript po stronie serwera może obsługiwać logowanie, zarządzać danymi osobowymi i preferencjami oraz pobierać konkretne pliki lub dane na żądanie użytkownika. NodeJS to najczęściej używane środowisko do wykonywania kodu JavaScript poza przeglądarką.
Zobacz też sekcję Najpopularniejsze frameworki JavaScript.
Obecnie JS jest jedynym powszechnie uznanym językiem po stronie klienta dla przeglądarek, poza WebAssembly, które należy raczej traktować jako technologię uzupełniającą. Alternatywne rozwiązania, takie jak aplety Javy, Silverlight czy ActiveX, zostały już wycofane.
Jaka jest różnica między Javą a JavaScriptem?
Widzieliśmy to zbyt wiele razy: ogłoszenie o pracę dla specjalisty JavaScript z nagłówkiem „Java Developer”. Kilka lat temu mylenie tych dwóch języków było tak powszechne, że stało się anegdotą. Dziś to chyba już przeszłość. Te dwa języki różnią się niemal wszystkim. Gdyby jednak Tobie (albo Twojemu działowi HR) przydało się krótkie przypomnienie, oto podstawowe różnice między Javą a JS:
Java![]() |
JavaScript![]() |
| Stworzona przez Jamesa Goslinga w Sun Microsystems, wydana w 1995 roku. | Stworzony przez Brendana Eicha z Netscape, wydany w 1995 roku. |
| To język programowania ogólnego przeznaczenia oparty na składni w stylu C. | To język skryptowy dla stron internetowych, także oparty na składni w stylu C. |
| Java wymaga kompilacji kodu, aby sprawdzić typy danych. | JS może działać bez kompilatorów, bo typy danych sprawdzane są dynamicznie. |
| Java jest językiem opartym na klasach. | JS jest oparty na prototypach. |
| Javę uruchomisz w każdym systemie operacyjnym z maszyną wirtualną Javy. | JavaScript działa zwykle w przeglądarce i współpracuje z CSS i HTML, ale można go też uruchamiać w środowiskach uruchomieniowych poza przeglądarką. |
| Jako język ogólnego przeznaczenia Java pozwala tworzyć aplikacje dowolnego typu. Ma jednak swoje preferowane zastosowania. | JS służy głównie do budowy aplikacji webowych, a jego podstawowym celem jest tworzenie dynamicznych, interaktywnych stron, aplikacji webowych i mobilnych oraz rozbudowanych interfejsów graficznych. Nie ogranicza się jednak tylko do tego. |
Pierwotnie JavaScript pomyślano jako sposób na dodanie interaktywności do statycznych stron w przeglądarce. Choć dziś nadal służy głównie do wzbogacania stron o animowane, żywe elementy, jego możliwości obejmują też tworzenie:
Po szczegóły przejdź do kolejnego rozdziału
Jeśli masz już jakieś pojęcie o JavaScripcie, pewnie nie jest Ci obcy TypeScript. To nadzbiór JS: nowoczesny język programowania, który rozwija i utrzymuje Microsoft. Udostępniono go publicznie w 2012 roku jako narzędzie do tworzenia dużych aplikacji w JS (oficjalne hasło: „JavaScript, który się skaluje”). TypeScript upraszcza kod JavaScript, żeby łatwiej go było czytać i debugować, a przy tym rozszerza możliwości JS.
Zobacz też: JavaScript a TypeScript
We wstępie omówiliśmy już część kluczowych zastosowań JavaScriptu. Tutaj dodamy nieco szczegółów o każdym z nich.
JavaScript powstał po to, żeby tworzyć dynamiczne treści na stronach i nimi sterować, i to nadal jego główne zastosowanie. Zdecydowana większość programistów używa JS, aby wzbogacić strony internetowe o interaktywne funkcje, takie jak:
Gdybyśmy powiedzieli, że każdy używa JS na swojej stronie, nie byłaby to wielka przesada. JS napędza ponad 90% wszystkich stron na świecie, w tym Microsoftu, Facebooka, Walmartu, Ubera, PayPala, Google'a, Quory i LinkedIna, a także miliony innych.

Dzięki JavaScriptowi możesz przespacerować się po najbardziej ikonicznych witrynach sklepowych świata, nie ruszając się z kanapy
Drugie najpopularniejsze zastosowanie JavaScriptu to aplikacje webowe i mobilne. Poza sprawdzonymi frameworkami webowymi, takimi jak Vue.js, Angular, React czy Ember.js, JS daje programistom zestawy narzędzi mobile-first: React Native, Ionic, jQuery czy PhoneGap. Aplikację mobilną robi się z nimi szybko i tanio.
JS dobrze nadaje się do aplikacji webowych i mobilnych także dlatego, że mocno stawia na UX/UI i dopracowany design. Efekt to interfejsy, które się wyróżniają i są dostępne. Do tego JS wspiera programowanie wieloplatformowe: ten sam kod programiści wdrożą na wielu platformach i systemach.
Elementy 3D dodają stronom i aplikacjom głębi: budują poczucie realizmu i mocniej angażują użytkowników w Twój produkt. Żeby dały pożądany efekt, trzeba je jednak wdrożyć umiejętnie.
Nowoczesny JS ma wiele bibliotek 3D, dzięki którym programiści łatwo osadzają w kodzie najnowsze efekty i budują zachwycające interfejsy. Nie muszą tworzyć efektów 3D od zera, tylko pracują na gotowym kodzie, co upraszcza i przyspiesza pracę. Lista silników 3D dla JavaScriptu nie ma końca, a stawkę prowadzą Three.js i Babylon.js.

Próbkę zapierających dech możliwości 3D w Three.js zobaczysz na firmowej stronie FACC

Albo wybierz się na wirtualną wycieczkę po Cloud City od Google
NodeJS, wieloplatformowe środowisko uruchomieniowe JavaScriptu, pozwala budować skalowalne aplikacje sieciowe po stronie serwera i serwery HTTP, które dostarczają treści użytkownikom. Skaluje się łatwo: do działającego systemu dokłada się kolejne węzły. Słynie też z wydajności i sprawnego wykonywania kodu, bo ma architekturę sterowaną zdarzeniami i obsługuje wiele żądań naraz.
Do tego Node.js łatwo rozszerzyć, więc Twoi programiści dostosują i rozbudują kod, jak trzeba. Razem z możliwościami full-stack czyni to z niego dobry wybór do budowy serwerów webowych.
Internet rzeczy i JavaScript pasują do siebie z kilku powodów. Przede wszystkim JS wspiera programowanie wieloplatformowe, dzięki czemu można go używać z urządzeniami połączonymi z siecią. Jako technologia sterowana zdarzeniami JS pozwala czujnikom i sprzętowi IoT reagować na dane w chwili ich powstania; nie obciąża przy tym pamięci i nie zmusza użytkownika do jej porządkowania.
Poza tym JavaScript jest zgodny z szeroką gamą sprzętowych rozwiązań IoT, w tym z Espruino, Raspberry Pi i Arduino. Programiści pracujący z IoT korzystają też z bibliotek, frameworków i pakietów, które ułatwiają tworzenie solidnych rozwiązań IoT (np. Johnny-five, Cylon.js, IoTjs itd., wszystkie zaprojektowane specjalnie pod IoT). Platformy i aplikacje IoT na JS budują między innymi IBM, Intel, Google, Microsoft i Salesforce.
Wszechstronny JS nadaje się też do gier: kod napisany w JavaScripcie renderuje się na elemencie canvas w HTML5. Działa na wielu platformach i daje programistom bogaty wybór frameworków i bibliotek do gier webowych i mobilnych. Część z nich, jak Three.js, można wykorzystać także do innych celów, na przykład do projektowania grafiki 3D.
Trzeba jednak przyznać, że gry w JS są na razie raczej krótkie i proste, ze stosunkowo nieskomplikowanym sterowaniem. W dużej mierze wynika to z ograniczeń przeglądarek. Wraz z rozwojem technologii przeglądarkowych rola JavaScriptu w grach będzie więc prawdopodobnie rosła.

CrossCode, RPG 2D w stylu retro, to gra zbudowana w całości w JS
Dzięki asynchronicznemu, równoległemu modelowi programowania JavaScript obsługuje tysiące równoczesnych transakcji, typowych dla wdrożeń blockchainowych. Programiści blockchain korzystają głównie z javascriptowej biblioteki Ethereum Web3.js, żeby łączyć się z innymi węzłami Ethereum i inteligentnymi kontraktami przez HTTP, IPC lub WebSocket. Często sięgają po ten język także przy pracy z Hyperledger Fabric, solidnym frameworkiem do bezpiecznych, przejrzystych i zweryfikowanych usług blockchainowych. JavaScript ma też bogate zasoby do operacji kryptograficznych w projektach czysto kryptowalutowych.
Choć wydaje się to nietypowym wyborem, JavaScript jest często wykorzystywany w projektach AI i uczenia maszynowego, ramię w ramię z Pythonem. Ponieważ silniki deep learningu i przetwarzania języka naturalnego coraz częściej przenoszą się z serwera do przeglądarki, przed programistami JS otwierają się nowe możliwości.
Przeglądarka ma dostęp do bogatych, aktualnych zbiorów danych, więc świetnie nadaje się do wdrożeń deep learningu. Stale rosnący ekosystem JS daje narzędzia, żeby przenieść inteligencję maszynową na wiele platform i urządzeń: taniej niż na serwerze, bez instalacji i z możliwością uruchamiania modeli offline.
Jeśli zamierzasz zatrudnić ekspertów JavaScript, musisz wziąć pod uwagę jedną kluczową rzecz. Frameworki.
Frameworki mają znaczenie, bo bardzo się od siebie różnią. Większość programistów JavaScript pracuje z 2-3 frameworkami spośród ponad 20 dostępnych na rynku, a nauczenie się kolejnego to nie spacerek.
Jeśli więc polujesz na idealnego kandydata do swojego wdrożenia, radzimy poznać kilka wiodących frameworków JS. Inaczej możesz zatrudnić znakomitego inżyniera JS, który nie zna narzędzi potrzebnych do sprawnej realizacji Twojego projektu.
Czym jest „vanilla” JavaScript?
Zanim zagłębimy się w konkretne frameworki, zajmijmy się „vanilla” JS. Mówiąc krótko, termin vanilla oznacza czysty, nierozszerzony JavaScript, bez żadnych bibliotek i frameworków.
Choć znajomość vanilla JS może mocno wpłynąć na szybkość i efektywność pracy z frameworkami, nie jest obowiązkowa.
Do wyboru jest ponad dwadzieścia frameworków JavaScript, z których większość usprawnia wdrożenia po stronie klienta, a część wspiera programowanie w JS na backendzie.
Nie radzimy wybierać frameworka tylko dlatego, że Twój zespół akurat go zna albo programiści dobrze się w nim czują. O narzędziach powinien decydować Twój pomysł lub produkt, nie odwrotnie.
Zbierz więc zespół zdalnych ekspertów biegłych we frameworku, który odpowiada Twoim potrzebom. A jeśli to problem, napisz do nas. Wskażemy Ci właściwą osobę z właściwymi umiejętnościami ;)

Oto jak czołowe frameworki JavaScript wypadają wśród web developerów
Żeby ułatwić Ci wybór frameworka do kolejnego projektu, przygotowaliśmy małe porównanie. Poznasz najważniejsze fakty o każdym z nich: zastosowania, funkcje oraz plusy i minusy.
Jeśli zgłębianie frameworków Cię nie porywa, możesz przejść od razu do tabeli podsumowującej i szybko je porównać.
Najlepszy do: skalowalnych aplikacji jednostronicowych (SPA)
Zanim przejdziemy do szczegółów, rzućmy okiem na historię Angulara. AngularJS powstał w 2009 roku jako framework oparty na JavaScripcie; inżynierowie Google chcieli nim uprościć tworzenie aplikacji webowych. W 2014 roku Google przepisało go w TypeScripcie i opublikowało jako Angular, co jest dziś zbiorczą nazwą wersji 2 i wyższych.
Różnice między pierwotnym AngularJS a późniejszymi wersjami Angulara są ogromne. Framework nie tylko przepisano w TypeScripcie, ale też zmieniono całą jego architekturę: z modelu model-widok-kontroler na komponentową, w której każdy element interfejsu jest osobnym komponentem w hierarchii.
Nowy Angular zaprojektowano przede wszystkim jako kompleksowy framework do tworzenia aplikacji jednostronicowych (SPA). SPA to strony, które komunikują się z przeglądarką i nie wymagają przeładowania w trakcie korzystania. Przykłady SPA to Twitter czy Gmail. Do tego Angular v2 powstał z myślą o podejściu mobile-first: aplikacje mobilne tworzy się w nim sprawnie i niezależnie od platformy.
Aktualizacja podzieliła web developerów: zmiany były tak duże, że pierwotna i kolejne wersje są całkowicie niekompatybilne. Odkąd pojawił się Angular v2 i jego następcy, programistów AngularJS stopniowo ubywa. Część inżynierów wciąż jednak trzyma się pierwotnego frameworka i niechętnie przechodzi na nowsze wersje, bo wymagają one zupełnie nowych umiejętności.
Dziś Angular wyróżnia się na tle innych frameworków dzięki architekturze, która pozwala budować zaawansowane i wydajne interfejsy o bogatych możliwościach interakcji. Samodzielne komponenty można wielokrotnie wykorzystywać w różnych częściach aplikacji, a ich rozdzielenie ułatwia utrzymanie kodu. TypeScript to kolejna cecha Angulara: pomaga utrzymać czysty i wolny od błędów kod, zwłaszcza w aplikacjach dla dużych firm.
AngularJS miał kłopoty z wydajnością; jego następcy lepiej wykorzystują procesor, więc aplikacje działają szybciej. Najnowsze wersje mają też różne optymalizacje, które skracają czas ładowania.
Angular ma ogromną liczbę repozytoriów na GitHubie (ponad 650 tysięcy!) i przeszło 2 miliony commitów. Programuje w nim około jedna trzecia web developerów, czyli spore grono. Ciekawe jednak, że tylko połowa z nich lubi pracę z Angularem; druga połowa boi się jego złożoności, stromej krzywej uczenia i rozdętej architektury.
Zalety:
Wady:
Dojrzałość: Wersja 2 opublikowana w 2014 roku, najnowsza, dziewiąta aktualizacja wydana w lutym 2020 roku. Angular (wszystkie wersje) jest drugim najpopularniejszym frameworkiem webowym, z ponad 653 tysiącami repozytoriów na GitHubie. Mimo to jest też jednym z najmniej lubianych i najbardziej odstraszających narzędzi programistycznych.
Używają go: BMW (kalkulator cen, wyszukiwarka dealerów), Google (strony docelowe Marketing Platform, Digital Garage i innych projektów), Forbes (strona), Microsoft (strona Office Home), PayPal (elementy interfejsu), Crunchbase (strona); więcej firm znajdziesz tutaj.
Najlepszy do: prostych SPA z autorskimi interfejsami
Pierwszą wersję Backbone.js opublikowano w 2010 roku, aby dać programistom „swobodę projektowania całego doświadczenia w ich aplikacji webowej”. Ten framework (czasem klasyfikowany jako biblioteka) wyróżnia się prostotą i łagodną krzywą uczenia. To darmowe i otwartoźródłowe narzędzie ma interfejs RESTful JSON i opiera się na paradygmacie aplikacji model–view–presenter (MVP).
Cechą charakterystyczną Backbone.js jest to, że wszystkie funkcje po stronie serwera przechodzą przez API. Dzięki temu programiści mogą odchudzić kod, a złożone funkcje webowe łatwiej dowieźć. Backbone daje minimalny zestaw modeli, kolekcji i interfejsów użytkownika, a wybór rozszerzeń zostawia programiście. Ma też przejrzystą, uporządkowaną strukturę, która sprzyja eleganckiemu, czytelnemu kodowi.
Programiści pracujący z Backbone cenią jego proste moduły i uporządkowany format, ale narzędzie nie jest zbyt popularne. Mniej niż 8% web developerów zna ten framework, który ma 24 tysiące repozytoriów na GitHubie.
Zalety:
Wady:
Dojrzałość: Pierwsza publikacja w 2010 roku. Obecnie ma ponad 24 tysiące repozytoriów na GitHubie i przeszło 576 tysięcy commitów; korzysta z niego około 8% web developerów.
Używają go: aplikacja Trello, strona Ubera, kalendarz Basecamp, Airbnb (aplikacja mobilna), Verizon
Najlepszy do: rozbudowanych aplikacji firmowych w rodzaju dashboardów
Ember.js, dużo mniej popularny niż Angular czy React, to otwartoźródłowy framework JavaScript w architekturze model-widok-kontroler (MVC). Pierwszą wersję wydał w 2011 roku Yehuda Katz. Framework ma dawać kompletny zestaw narzędzi do „ambitnych” (czyli solidnych i skalowalnych) aplikacji webowych.
Jako framework MVC Ember dzieli logikę na trzy osobne, ale powiązane warstwy. Model danych jest oddzielony od kontrolera i widoku, więc zespoły mogą pracować równolegle i asynchronicznie: jeden nad wyglądem interfejsu, drugi nad logiką biznesową. Efekt to szybsze wytwarzanie oprogramowania i proste utrzymanie kodu.
Ember obsługuje też dwukierunkowe wiązanie danych: każda zmiana w modelu jest natychmiast widoczna w widoku i odwrotnie. Ma własny interfejs wiersza poleceń do szybkiego tworzenia, budowania i testowania kodu oraz inspektor do debugowania aplikacji. Dużą zaletą Embera jest ustandaryzowana struktura: praca idzie sprawniej, a aplikacje są stabilne i wydajne.
Z Embera regularnie korzysta tylko około 8% web developerów, więc to framework niszowy. Mimo to używa go wiele znanych firm, co potwierdza jego wartość przy dużych aplikacjach webowych.
Zalety:
Wady:
Dojrzałość: Pierwsze wydanie w grudniu 2011 roku, pierwsze stabilne w 2015.
Używają go: Apple Music, Adidas Runtastic, Groupon, TED, Microsoft, Zendesk
Najlepszy do: wydajnych, interaktywnych stron i wieloplatformowych aplikacji mobilnych
Według oficjalnej strony ReactJS to biblioteka. Jest jednak tak potężna i rozbudowana, że często zalicza się ją do frameworków (robi tak nawet Stack Overflow). Zróbmy więc tak samo.
React, wieloletni ulubieniec branży, daje mnóstwo powodów, żeby go pokochać. To dziecko Facebooka pojawiło się w 2013 roku i od razu wystrzeliło jako potężne narzędzie do dużych, bardzo dynamicznych aplikacji. Jako framework deklaratywny React daje czytelny, skalowalny kod, który łatwo debugować i utrzymywać. Zasada „naucz się raz, pisz wszędzie” oznacza, że pod różne urządzenia i systemy operacyjne programiści prawie nic nie przepisują.
Siła Reacta bierze się z oddzielenia warstwy danych od warstwy prezentacji, wirtualnego DOM i modułowych komponentów wielokrotnego użytku. Te wbudowane cechy oszczędzają czas i upraszczają aktualizacje, a także pozwalają szybciej odświeżać widok w aplikacjach webowych po każdej zmianie. Do tego React nie jest przywiązany do konkretnego stacku, więc można go łączyć z innymi frameworkami.
Co trzeci programista zna Reacta, a ponad 70% programistów JS pracowało z tym narzędziem i chce z niego korzystać w przyszłości. Ogromną popularność Reacta widać po oszałamiającej liczbie repozytoriów na GitHubie: ponad 1,4 miliona!
Zalety:
Wady:
Dojrzałość: Od premiery w 2013 roku React stał się najczęściej używanym i najchętniej wybieranym frameworkiem JS; lubi go 75% programistów.
Używają go: Slack, Twitter, Netflix (platforma Gibbon), Facebook, Khan Academy, CodeAcademy, Dropbox, Yahoo i wiele innych

React jest drugim najpopularniejszym zestawem narzędzi webowych
Najlepszy do: aktualizacji lub wymiany starszych aplikacji webowych oraz małych i szybkich stron i aplikacji
Svelte, komponentowy framework JS, przypomina nieco Reacta i Vue. Działa jednak na etapie budowania: własnym kompilatorem zamienia komponenty w kod imperatywny, który aktualizuje DOM. Efekt to zwinny, wydajny kod, dzięki któremu aplikacje webowe ładują się niesamowicie szybko.
Svelte jest też reaktywny: gdy zmienia się stan aplikacji, widok aktualizuje się sam. Nie ma wirtualnego DOM ani kodu szablonowego (dużych fragmentów, które powtarzają się w różnych miejscach i rozdymają aplikację), więc składnia jest prosta i zwarta. Praca idzie szybciej, a aplikacja lub strona działa wydajniej.
Framework (albo kompilator, jak wolą niektórzy) trzyma się blisko HTML-a, przez co jest zrozumiały i przyjazny. Do tego style ograniczone do komponentu sprawiają, że własna składnia CSS i dodatkowe rozszerzenia są zbędne.
Zalety:
Wady:
Dojrzałość: Wydany po raz pierwszy w 2016 roku, to jeden z najnowszych frameworków JS. Zaledwie 8 tysięcy repozytoriów na GitHubie, ze 108 tysiącami commitów.
Używają go: Bloomberg, Nesta, Spotify, SEMrush, New York Times
Najlepszy do: prostych, lekkich aplikacji i prototypów
Vue.js to otwartoźródłowy, progresywny framework JavaScript stworzony przez Evana You w 2014 roku, aby uprościć i uporządkować tworzenie interfejsów. „Progresywny” oznacza, że Vue jest elastyczny wobec potrzeb programisty i łatwo integruje się z innymi bibliotekami oraz istniejącymi projektami.
Framework stawia na wydajność i elastyczność. Oparta na HTML-u składnia szablonów i proste stylowanie sprawiają, że uczy się go szybciej niż innych frameworków JS. Rozszerzenia narzędzi deweloperskich w przeglądarce i ponowne użycie kodu upraszczają i przyspieszają pracę. Vue obsługuje też wiele wzorców projektowych i, podobnie jak React, korzysta z wirtualnego DOM, więc szybko aktualizuje widok w aplikacjach webowych.
Choć w Vue.js pracuje obecnie tylko 15% programistów, należy on do trzech najbardziej lubianych frameworków. Trzech na czterech programistów wymienia go wśród ulubionych.
Zalety:
Wady:
Dojrzałość: Wydany w 2014 roku, przez sześć lat rósł błyskawicznie. Ponad 22 tysiące repozytoriów na GitHubie i ponad 109 tysięcy commitów.
Używają go: Netflix (mniejsze, dedykowane aplikacje), Adobe (portfolio artystów), Grammarly (edytor tekstu), Gitlab (strona), Wizzair (wyszukiwarka lotów), Buzzfeed (podstrony)
Jeśli szukasz głębszego porównania Vue.js i Reacta, zajrzyj do naszego wpisu na blogu, w którym szczegółowo analizujemy oba popularne frameworki JS.
Najlepszy do: skalowalnych aplikacji sieciowych czasu rzeczywistego
Nie sposób mówić o JavaScripcie bez wspomnienia o Node.js, który zasługuje na osobną kategorię. Nie jest ani frameworkiem, ani biblioteką: to środowisko uruchomieniowe JS, które wykonuje kod poza przeglądarką, po stronie serwera.
Narzędzie powstało w 2009 roku i nie było pierwszym serwerowym środowiskiem JS. Mimo to szybko zyskało popularność, a dziś zajmuje pierwsze miejsce jako najpopularniejsza technologia web developmentu.
Node.js korzysta z elastycznego modelu programowania sterowanego zdarzeniami, w którym przebiegiem programu sterują zdarzenia, na przykład działania użytkownika. Kod łatwo się modyfikuje i aktualizuje, a programowanie jest pod pewnymi względami prostsze.
Model zdarzeniowy daje też programistom dużą niezależność i zwinność: funkcje wdrażają od zera, dokładnie według specyfikacji. Dla mniej doświadczonych może to być jednak przeszkoda. Bez wskazówek i standardów pracują więcej i wolniej.
Kolejna duża korzyść z wykonywania kodu po stronie serwera to wyższa wydajność aplikacji. Silnik V8 Chrome'a, który kompiluje kod JS, pracuje bardzo szybko, a asynchroniczny model API pozwala obsługiwać wiele zdarzeń naraz. Te korzyści nie dotyczą jednak aplikacji z ciężkimi obliczeniami.
Node.js ma ponad 263 tysiące repozytoriów na GitHubie, zdrowy ekosystem i wsparcie dużych firm. Niemal 50% web developerów używa go w projektach, a około trzy czwarte z nich uwielbia z nim pracować.
Zalety:
Wady:
Dojrzałość: Napisany przez Ryana Dahla w 2009 roku, jak dotąd 14 stabilnych wersji. 263 tysiące repozytoriów na GitHubie z ponad milionem commitów. Jedna z najczęściej używanych technologii web developmentu.
Używają go: PayPal, Capital One, Groupon, IBM, Microsoft, Netflix, SAP, Walmart, GoDaddy
Poza Node.js jest kilka serwerowych frameworków JS, które pozwalają wykorzystać kod JavaScript na backendzie. Dwa, na które chcemy zwrócić Twoją uwagę, to Express.js i NestJS.
Najlepszy do: małych i średnich stron, szybkich prototypów API
Express to minimalistyczny, ale potężny framework backendowy dla Node.js, ceniony za prostotę i elastyczność. Od 2010 roku dostępny za darmo na otwartej licencji MIT, służy do budowy aplikacji webowych i mobilnych oraz webowych API. Mimo niewielkich rozmiarów Express obsługuje cały backend, od routingu po komponenty interfejsu.
Ten lekki framework stawia na proste, produktywne tworzenie aplikacji webowych i szczupły kod. Jest bardzo szybki, a do tego ma mnóstwo wtyczek do rozbudowy.
Express niczego nie narzuca: nie wymusza struktury kodu ani konkretnych komponentów i współpracuje z dowolną technologią front-endową. Może dlatego jest tak popularny wśród programistów. Ponad 71% web developerów korzystało z niego i chętnie zrobi to znowu, a kolejne 12% zamierza się go nauczyć. Po stronie biznesu używają go głównie startupy i MŚP, ale kilka globalnych firm sięga po niego w mniejszych projektach.
Zalety:
Wady:
Dojrzałość: Stworzył go TJ Holowaychuk i wydał w 2010 roku. Najpopularniejszy framework JS na backendzie, z ponad 47 tysiącami repozytoriów na GitHubie.
Używają go: IBM, PayPal, Uber, Yandex, Accenture
Najlepszy do: wydajnych i skalowalnych aplikacji serwerowych
Na koniec przechodzimy do NestJS (nie mylić z NextJS), kolejnego ulubieńca programistów. Najmłodszy z przedstawionych frameworków powstał w 2017 roku, a stworzył go Kamil Myśliwiec, aby ułatwić tworzenie skalowalnych aplikacji serwerowych.
NestJS korzysta z nowoczesnego JavaScriptu i TypeScriptu oraz bierze to, co najlepsze, z programowania obiektowego i funkcyjnego. Choć wciąż raczkuje, już skradł serca programistów elastycznością i skalowalnością. To tłumaczy, dlaczego wybierają go dziś głównie firmy technologiczne.
Narzędzie daje gotową architekturę aplikacji, która ma podnieść produktywność i komfort pracy programistów. Ma na przykład wbudowane narzędzie wiersza poleceń, które automatyzuje zadania i przyspiesza pracę, a w efekcie projekt webowy szybciej trafia na rynek.
Największe wady tego frameworka to pewnie niedojrzałość i mała społeczność. NestJS jest jednak regularnie aktualizowany, a dzięki szczegółowej, zadbanej dokumentacji bardzo łatwo go opanować. Razem z rosnącą liczbą pobrań wróży mu to sukces.
Zalety:
Wady:
Dojrzałość: Wydany w 2017 roku, co plasuje go wśród najmłodszych backendowych frameworków JS. 8 tysięcy repozytoriów na GitHubie i 35 tysięcy commitów.
Używają go: REWE digital, Wizkids, Societe Generale, Komed Health, Harmonize Health


Poza bogatym zestawem bibliotek i frameworków programiści JavaScript mają też solidny ekosystem narzędzi, dzięki którym szybciej budują produkty webowe. Narzędzia te służą różnym celom, ale łączy je jedno: przyspieszają pisanie kodu i debugowanie, więc praca z JS idzie znacznie sprawniej.
Czasem błąd tak błahy jak brakujący przecinek kładzie całą stronę lub aplikację. Debugowanie to kluczowy etap każdego projektu JS: bez niego kod nie zadziała tak, jak trzeba. Niestety wyłapywanie i usuwanie błędów, obecnych i potencjalnych, bywa długie i żmudne, i to nie tylko w JavaScripcie. Dlatego doświadczeni, skuteczni programiści korzystają z debuggerów, które automatyzują i usprawniają tę pracę.
Wszystkie wiodące przeglądarki mają dziś wbudowane debuggery, które pozwalają szybko zweryfikować dane wyjściowe i przeanalizować wadliwy kod. Przykłady to Chrome Developer Tools, Firefox Developer Tools i Safari Develop Menu. Są też samodzielne narzędzia, takie jak debugger, JS Bin czy Postman. Przydają się zwłaszcza wtedy, gdy zespół debuguje wspólnie. Node.js ma własne narzędzie do debugowania, Node.js Inspector, odpowiednie do projektów backendowych.
Edytory kodu są niezbędne w tworzeniu oprogramowania, bo dają środowisko, w którym pisze się, modyfikuje i rozwija kod. W przeciwieństwie do rozbudowanych IDE narzędzia do edycji tekstu zwykle nie zawierają interpreterów i kompilatorów ani nie oferują debugowania i kontroli wersji. Są za to szybkie i przejrzyste, a mają wszystko, czego trzeba, aby sprawnie napisać kod.
Najlepsze edytory JavaScript to Sublime Text, Bracket i Visual Studio Code. Programiści często wybierają też Atom, Notepad++ i Komodo Edit. Choć wszystkie te edytory znacznie różnią się interfejsem, każdy daje użytkownikom automatyczne formatowanie kodu i podświetlanie składni.
Jak sama nazwa wskazuje, walidatory JavaScript służą do sprawdzenia nowego kodu JS przed przeładowaniem strony, która go zawiera. Chodzi o to, aby nieprawidłowy kod nie położył stron i aplikacji. Do tego internetowe walidatory JS weryfikują dynamiczne formularze, sprawdzając, czy podano wszystkie dane i czy mają wymagany format.
Na rynku dostępnych jest wiele walidatorów online. Popularne przykłady to validatejs.org, codebeautify i ValidateJavaScript.
W HTML5 element „Canvas” służy do tworzenia grafiki w czasie rzeczywistym za pomocą skryptów. Można go wykorzystać na przykład do rysowania interaktywnych diagramów i wykresów, dodawania własnych animacji czy zestawiania zdjęć.
Programiści upraszczają te zadania, korzystając z łatwo dostępnych bibliotek canvas, takich jak GoJS, FabricJS, bHive.js i HTML Canvas Library. Dają one interaktywne modele obiektów i bogate funkcje, które pozwalają dynamicznie manipulować grafiką wektorową, tekstem, gradientami, kształtami i animacjami. Rozwiązania webowe zyskują dzięki temu zaawansowane, dopracowane interfejsy.
Programy do automatyzacji budowania ułatwiają tworzenie gotowych aplikacji, automatyzując i usprawniając kompilowanie, testowanie, pakowanie i wdrażanie kodu źródłowego. Pomagają też szybciej generować dokumentację projektu i informacje o wydaniach.
W kontekście JS narzędzia do budowania dodają szybkości i porządku procesowi wytwarzania oprogramowania, zwłaszcza w dużych, złożonych projektach podzielonych między kilka zespołów. Wykrywają i usuwają sprzeczne zmiany w kodzie, a przy tym podnoszą produktywność i ułatwiają ponowne użycie kodu. Najpopularniejsze narzędzia do budowania w JavaScripcie to Webpack, Grunt, Gulp, Yeoman i Brunch.io.
Kolejny zestaw narzędzi, które skracają czas tworzenia bardzo responsywnych, działających w różnych przeglądarkach aplikacji webowych, to widgety JS: minimalistyczne, samodzielne komponenty, z których każdy robi jedną rzecz. Często grupuje się je w biblioteki, takie jak jQWidgets, DevExtreme, Webix i DHTMLX Suite.
Jest wiele powodów, aby osadzać widgety JS na stronach i w aplikacjach webowych. Część widgetów optymalizuje czas ładowania strony, zwiększa jej wydajność i poprawia nawigację. Inne automatycznie dostosowują stronę lub aplikację do urządzenia i przeglądarki, żeby działała jak najlepiej. Złożone widgety pozwalają łatwo wdrożyć zaawansowane funkcje, takie jak arkusze kalkulacyjne, filtry, zaawansowaną wizualizację czy manipulację danymi. Atrakcyjne wizualnie widgety pomagają zadbać o najwyższej klasy, spójny wygląd strony.
Narzędzia testowe JS ułatwiają programistom życie, bo ograniczają żmudne testy ręczne. Pomagają wychwycić luki i błędy w kodzie oraz zadbać o to, żeby oprogramowanie działało spójnie, bezpiecznie i przewidywalnie w różnych warunkach i na różnych platformach.
Programiści JavaScript upraszczają i automatyzują testy dzięki uznanym frameworkom, takim jak Mocha, Jasmine, Jest, Protractor oraz nowszym, takim jak Tape czy Enzyme.
Lintery również należą do świata testów. Wyłapują błędy stylistyczne i składniowe, więc pomagają utrzymać czytelny kod wysokiej jakości. Najlepsze lintery JavaScript to JSHint, JSLint, Standard JS, Validator pro i ESLint.
Lista wcale się tu nie kończy. JavaScript słynie z ogromnego, dynamicznie rozwijającego się ekosystemu narzędzi, które towarzyszą programistom na każdym etapie tworzenia aplikacji i stron. Poza wymienionymi wyżej narzędziami przydaje się jeszcze wiele innych, które usprawniają pracę i testowanie. Należą do nich:
Narzędzia bezpieczeństwa JavaScript - wbudowane i samodzielne narzędzia bezpieczeństwa JS, takie jak RetireJS, Node Security Project czy Dependency-check, które skanują kod JavaScript i weryfikują wszystkie zależności, aby wykryć podatności.
Wspominaliśmy już (pewnie kilka razy;), że JavaScript nie ma sobie równych pod względem popularności. Jest zresztą wyjątkowy pod wieloma względami. Dynamicznie typowany, interpretowany i wykorzystywany głównie po stronie klienta język skryptowy napędza internet jak żadna inna technologia.
Mimo tej wyjątkowości spróbujemy porównać JavaScript z dominującymi językami programowania. Skupimy się na kluczowych cechach: szybkości i koszcie wytwarzania oprogramowania, wszechstronności oraz wydajności.

Jeśli chodzi o popularność, JavaScript jest poza konkurencją
JavaScript i Python mają ze sobą sporo wspólnego. Oba są wysokopoziomowe, interpretowane i dynamicznie typowane, więc pozwalają szybko iterować oraz błyskawicznie dodawać i aktualizować funkcje aplikacji. Oba mają też ogromne grono zwolenników dzięki solidnej wydajności, szerokiemu zestawowi narzędzi i bibliotek oraz prostocie. Jeśli chodzi o zastosowania, Python jest językiem ogólnego przeznaczenia, mocno wykorzystywanym w projektach deep learningu, ML, przetwarzania obrazów i analityki danych. Można w nim też zbudować backend aplikacji webowej.
Choć PHP ma najlepsze lata za sobą, programiści wciąż opierają na nim backend swoich aplikacji webowych. Język nadaje się też do innych zastosowań, ale to web development jest najważniejszy. Dość często PHP i JS działają w tandemie: pierwszy na serwerze, drugi po stronie klienta.
Interpretery PHP są zwykle wydajniejsze niż javascriptowe, głównie dzięki dojrzałości. Projekt w PHP bywa też w sumie tańszy niż w JS. Programistów PHP jest ponad 5,5 miliona. To jednak połowa społeczności JS, a grono ekspertów PHP prawdopodobnie powoli się kurczy.
Ruby, język skryptowy ogólnego przeznaczenia, zawdzięcza popularność głównie frameworkowi Ruby on Rails do budowy stron i aplikacji webowych. Mimo to jest też szeroko wykorzystywany do tworzenia zaawansowanych narzędzi programistycznych, takich jak platformy do tworzenia aplikacji mobilnych czy aplikacje do zarządzania pakietami. Ruby bije więc JS pod względem wszechstronności.
Główna zaleta tego języka: nastawiono go na „szczęście programisty”, czyli prostotę, produktywność i oszczędność czasu. Pomaga w tym mnóstwo narzędzi, które ułatwiają i przyspieszają pisanie kodu. Sam Ruby nie błyszczy wydajnością aplikacji. Dużo zyskuje jednak dzięki lekkiemu interpreterowi mruby, często używanemu tam, gdzie liczy się wydajność.

Dart, stworzony przez Google, to obiektowy, oparty na klasach język programowania do aplikacji na wiele platform. Choć wciąż uchodzi za niszowy (używa go tylko 4% programistów), w latach 2018-2019 był najszybciej rosnącym językiem na GitHubie. Skok popularności zawdzięcza Flutterowi, zestawowi narzędzi UI od Google do aplikacji wieloplatformowych. Poza Flutterem Darta używa się niewiele.
C++, stworzony w 1985 roku, to jeden z pierwszych języków programowania. Ma kilka wyraźnych przewag nad JavaScriptem: wszechstronność, niezawodność i szybkość. Pisze się w nim aplikacje desktopowe z interfejsem graficznym, systemy operacyjne, bazy danych, aplikacje dla dużych firm, przeglądarki, kompilatory i biblioteki. C++ jest też powszechny w grach komputerowych.
Mimo tych zalet język pojawia się głównie w projektach, które wymagają wysokiej wydajności i bardzo niskich opóźnień. Wynika to ze stromej krzywej uczenia i złożoności, przez które wielu początkujących rezygnuje z prób opanowania tego języka. Znalezienie rzetelnego i doświadczonego programisty C++ zajmuje znacznie więcej czasu niż zatrudnienie zdolnego eksperta JS (albo inżyniera Pythona do projektów obliczeń naukowych). Głównie z tego powodu firmy wybierają C++ tylko wtedy, gdy nie ma alternatywy.
Microsoft stworzył C# jako konkurencję dla Javy: podstawową technologię dla oprogramowania dużych firm. Kompiluje się do kodu pośredniego (IL), który uruchamia kompilator just-in-time, więc jest znacznie wydajniejszy niż interpretowany JavaScript. Zastosowania ma różne: od aplikacji na Windowsa po zewnętrzne aplikacje webowe.
Dzięki Blazorowi, frameworkowi UI po stronie klienta, i standardowi WebAssembly C# jest jedną z bardzo nielicznych technologii poza JS, w których pisze się front-end webowy. C# zna szacunkowo ponad 30% programistów. Większość z nich wywodzi się jednak z dużych firm. Zwinna praca w C# jest możliwa, choć rzadka.
Choć Rust i Golang wywodzą się z zupełnie różnych światów, mają wiele podobieństw. Rust to wieloparadygmatowy język programowania stworzony pierwotnie przez Mozillę jako zaawansowane rozszerzenie języków uczenia maszynowego. Obecnie służy głównie do budowy wewnętrznego oprogramowania, systemów operacyjnych oraz narzędzi infrastrukturalnych i DevOps. Znajduje też szerokie zastosowanie w tworzeniu gier, a także w projektach AI, ML i VR. Rusta można wykorzystać zarówno na froncie, jak i na backendzie aplikacji webowych.
Golang stworzyło w 2007 roku Google, żeby usprawnić budowę infrastruktury oprogramowania. Dziś programiści budują w nim duże systemy dla firm oraz solidne, skalowalne serwery sieciowe. Coraz częściej trafia też do web developmentu.
Zarówno Rust, jak i Go to języki statycznie typowane, znane z niezwykłej szybkości, efektywności i obsługi współbieżności. Jednocześnie nie są łatwe do opanowania, co wpływa na wielkość i dostępność puli programistów. Z Go korzysta mniej niż 9% programistów, a Rusta zna nieco ponad 5%. Do tego, jako technologie stosunkowo nowe w porównaniu z JavaScriptem, Rust i Go potrzebują jeszcze czasu, aby dojrzeć i pokazać pełnię możliwości.
Javę zaprojektowano jako technologię wieloplatformową, gotową wspierać nie tylko oprogramowanie desktopowe, ale i aplikacje mobilne (pamiętasz aplety Javy?). Obecnie zakres tego języka się skurczył, a programiści używają go głównie do backendu webowego i aplikacji na Windowsa.
Jako język kompilowany Java bywa szybsza niż JS. Wygrywa z JavaScriptem także pod względem wydajności aplikacji, bezpieczeństwa i solidności. Mimo to startupy i szybko działające organizacje rzadko sięgają po Javę, bo praca w niej jest powolna i uciążliwa. Z tego samego powodu co drugi programista nie znosi w niej pracować.
Kotlin, technologia pierwszego wyboru do aplikacji na Androida, to nowoczesny, statycznie typowany język programowania. Google stworzyło go jako lekarstwo na braki Javy: bierze z niej to, co najlepsze, i ogranicza ilość kodu szablonowego.
Prosty, efektywny i elastyczny Kotlin to ulubieniec programistów aplikacji mobilnych. JavaScript daje jednak porównywalną szybkość i koszt wytwarzania, a przy tym jest znacznie powszechniejszy. Choć Kotlin obsługuje też backend i front-end webowy, ponad 60% oprogramowania w tym języku to aplikacje na Androida.
Technicznie rzecz biorąc, TypeScript jest podzbiorem JavaScriptu z kilkoma dodatkowymi funkcjami, z których najważniejszą jest opcjonalne typowanie statyczne (w przeciwieństwie do pierwotnego typowania dynamicznego w JS). Dzięki temu programistom dużo łatwiej budować oparte na JS aplikacje, które da się skalować.
JavaScript powstał, żeby wzbogacić strony HTML o interaktywne elementy; TypeScript miał usprawnić pracę z JS. Programiści mogą więc wybierać: czysty JavaScript, szybki i zwinny w małych, prostych projektach, albo TypeScript, który pozwala sprawnie dowozić rozproszony, złożony kod.

Gwałtowny rozwój ML w ostatnich latach skłonił żywą społeczność JS do eksperymentowania z różnymi zastosowaniami tego języka w uczeniu maszynowym. Efekt to wysyp bibliotek ML, zwłaszcza do rekomendowania treści, monitorowania aktywności, rozpoznawania i obróbki obrazów, wykrywania obiektów oraz tłumaczenia. Oto kilka przykładów:
Brain.js wykorzystuje JavaScript, aby uprościć tworzenie, trenowanie i testowanie sieci neuronowych. Biblioteki można używać z Node.js albo bezpośrednio w przeglądarce do takich zadań jak rozpoznawanie kontrastu kolorów, rozpoznawanie obrazów czy wykrywanie głosu.
Podobnie jak Brain.js, Synaptic służy do realizowania scenariuszy z sieciami neuronowymi przez trenowanie prostych i bardziej zaawansowanych architektur. Wytrenowane sieci potrafią na przykład malować obrazy, klasyfikować obiekty i „czytać” tekst.
Deeplearn, otwartoźródłowa biblioteka JS ze wsparciem sprzętowym, pozwala trenować modele deep learningu w przeglądarce i uruchamiać modele wytrenowane wcześniej. Stworzyło ją Google; dziś używa się jej w różnych branżach.
TensorFlow, najpopularniejszy z nich, służy do uruchamiania i dotrenowywania istniejących modeli ML w przeglądarce oraz budowania nowych od zera w JS. Rozbudowane modele potrafią wszystko: od rozpoznawania obrazów i głosu po interaktywne aplikacje mobilne z AR i VR.
PyTorch to pythonowa biblioteka uczenia maszynowego, którą łatwo przekonwertować na TensorFlow działający w przeglądarce w JavaScripcie. Otwiera to drogę do przetwarzania języka naturalnego czy widzenia maszynowego.
Neuro.js, javascriptowa biblioteka i framework do deep learningu oraz uczenia ze wzmocnieniem, służy przede wszystkim do budowy chatbotów i inteligentnych asystentów działających w przeglądarce.
Z JavaScriptu aktywnie korzysta ponad 12 milionów programistów, a język pozostaje najczęściej używaną technologią web developmentu. Kompilacja just-in-time, obiektowość, współbieżność: powodów, dla których JavaScript skradł serca programistów, jest mnóstwo. Jak jednak wybór JS wpływa na projekt? Żeby odpowiedzieć, zebraliśmy główne zalety i wady JavaScriptu z perspektywy biznesu.
Jako dojrzała i szeroko stosowana technologia JavaScript daje biznesowi mnóstwo korzyści. Najważniejsze z nich wymieniamy poniżej.
Składnia JavaScriptu jest uporządkowana i elastyczna, więc kodu stosunkowo łatwo się nauczyć, łatwo go pisać i aktualizować. Projekt kończy się dzięki temu szybciej. Język ma mnóstwo gotowych narzędzi, bibliotek i rozwiązań, więc programiści nie wymyślają koła na nowo. Do tego JS jest mocno oderwany od sprzętu, co pozwala automatyzować ważne funkcje i jeszcze bardziej przyspiesza pracę.
JavaScript powstał, żeby strony były interaktywne, a dziś jest technologią full-stack obecną w wielu systemach. Dzięki narzędziom i frameworkom backendowym i frontendowym programiści nie są ograniczeni do dynamicznych stron: używają JS także poza przeglądarką, w oprogramowaniu IoT, aplikacjach VR czy mobilnych.
Głównym celem JS było ożywienie stron dynamiczną treścią i większość stron nadal wykorzystuje ten język właśnie do tego. JavaScript zwiększa zaangażowanie użytkowników dzięki interaktywnym elementom, takim jak formularze, slajdy, zdarzenia myszy, pola wejściowe czy przeciąganie i upuszczanie.
JavaScript wykonuje się po stronie klienta, nie na serwerze, więc nie spowalniają go odwołania do backendu. Nie wymaga też kompilacji. Razem daje to płynne, szybkie działanie strony.
JavaScript to najpopularniejsza technologia do tworzenia front-endu webowego. Niemal wszystkie istniejące strony wykorzystują go w jakiejś formie. Język znajduje zastosowanie we wszystkich branżach i sektorach, a ufają mu zarówno nowoczesne startupy, jak i uznane globalne firmy, takie jak IBM, Microsoft czy Samsung.
JavaScript jest darmowy, niezależny od platformy i urządzenia, i nie wymaga pobierania ani instalacji. Działa w każdej przeglądarce, w każdym systemie operacyjnym, na komputerach, urządzeniach mobilnych i sprzęcie smart. Dzięki tej uniwersalności docierasz do klientów w wielu kanałach.
JavaScript może napędzać front-end niezależnie od technologii po stronie serwera. Jest bardzo zgodny z innymi językami i można go wstrzyknąć na dowolną stronę. Ta interoperacyjność przydaje się w dużych, złożonych systemach firmowych, które opierają się na wielu technologiach: każda zoptymalizowana pod swoje zadanie i wszystkie płynnie ze sobą współpracujące.
JavaScript jest dojrzały, ale jego świetność wcale się nie kończy. Regularnie pojawiają się nowe narzędzia i frameworki, język stale się rozwija i znajduje nowe zastosowania. Inne stacki przychodzą i odchodzą, a dominacja JS w internecie i jego solidny ekosystem czynią go bezpiecznym wyborem na lata.
Firmy mają do dyspozycji imponującą pulę programistów JS. JavaScript jest nie tylko najpopularniejszym językiem programowania, ale ma też jedną z najszybciej rosnących społeczności ostatnich lat. Co drugi web developer regularnie buduje w nim aplikacje webowe, rozszerzenia do innych aplikacji i usługi chmurowe.

W 2019 roku na świecie było ponad 12,2 miliona aktywnych programistów JavaScript
Jak każda technologia, JavaScript ma ograniczenia. Żeby obraz był pełny, oto kilka jego wad:
Gdy JS działa po stronie klienta, kod jest widoczny dla użytkowników i łatwiej go zmanipulować, niż gdyby działał na serwerze. JavaScript jest przez to podatny na ataki takie jak cross-site scripting czy przejmowanie sesji, które narażają dane użytkowników. Do tego intensywne korzystanie z bibliotek zewnętrznych wystawia aplikacje JS na złośliwy kod.
Sam standard JavaScriptu jest jednak odpowiednio zabezpieczony i ma wbudowane mechanizmy ochronne. Wiele podatności bierze się ze słabego wdrożenia, nie z wad języka. Z kompetentnymi programistami JavaScript, którzy tworzyli już aplikacje o krytycznym znaczeniu, dane Twojej strony lub aplikacji pozostaną bezpieczne.
JavaScript działa we wszystkich przeglądarkach, ale czasem zdarzają się niezgodności. Dotyczą one zwykle przestarzałych wersji przeglądarek i skutkują niedostępną stroną lub błędami. Może się też zdarzyć, że kod JS zostanie zinterpretowany zupełnie inaczej w zależności od przeglądarki. Dlatego przed publikacją nowego kodu zawsze trzeba przetestować JS w różnych przeglądarkach.
Społeczność JS jest ogromna, ale rozdrobniona. Pamiętaj, że wielu programistów w ogóle nie zna natywnego, czystego JavaScriptu. Zamiast tego poruszają się w świecie konkretnych frameworków, które niekoniecznie się pokrywają. Zatrudniając specjalistów JS, zawsze miej to na uwadze. Najpierw określ zestaw narzędzi pasujący do wymagań Twojego projektu, a dopiero potem szukaj odpowiednich umiejętności.
Jako osoba decyzyjna w biznesie na pewno znasz to podstawowe pytanie:
Całkowity koszt Twojego projektu JS (albo dowolnego innego projektu programistycznego) zależy od wielu zmiennych. Aby otrzymać dokładną wycenę, musisz wziąć pod uwagę konkretne wymagania swojego projektu.
Są jednak elementy wspólne, które zawsze trzeba uwzględnić przy wycenie projektu w JavaScripcie. Wymienimy je razem z kilkoma cenami, które warto znać, zanim poznasz ostateczną kwotę.
Zacznijmy od pytania, które często zaprząta głowę naszym wspaniałym klientom: „Czy JavaScript jest darmowy?”.
Tak, sam JavaScript jest darmowy: nie kupujesz żadnej licencji, żeby użyć go w projekcie. Najpopularniejsze biblioteki i frameworki JS są otwartoźródłowe, i dobrze, bo programiści JS sięgają po nie na okrągło, żeby pracować sprawniej i szybciej. Część narzędzi jest jednak płatna, o czym opowiemy w kolejnej sekcji.
Dobra wiadomość: JavaScript ma ogromny wybór darmowych frameworków, które sprawdzają się w dużych firmach, co dobrze wróży Twojemu budżetowi. Otwartoźródłowe są między innymi Angular, React, Vue.js, jQuery i Svelte. To samo dotyczy najpopularniejszych frameworków testowych JS i zdecydowanej większości bibliotek JS. Nie zapłacisz za nie ani złotówki.
Część frameworków ma jednak dwa warianty: open source dla użytkowników indywidualnych i niekomercyjnych oraz płatną licencję komercyjną. Tak jest na przykład z Ext JS. Framework firmy Sencha ma kilka poziomów cenowych, w tym darmową licencję community. Opcje płatne kosztują od 1295 do 1895 dolarów na programistę. Licencje bez ograniczeń wycenia się indywidualnie.
Gorzej jest z innymi narzędziami JavaScript, które często każą płacić za funkcje rozszerzone lub komercyjne:
Ogólnie im bardziej zaawansowany i wielowarstwowy Twój projekt JS, tym wyższe wydatki. Na całkowity koszt wytworzenia oprogramowania w JavaScripcie wpływa w szczególności kilka czynników:
Według Glassdoor przeciętny programista JavaScript w USA zarabia 79 tysięcy dolarów rocznie. Dolna część widełek to 57 tysięcy dolarów rocznie, górna: ponad 117 tysięcy.
Te stawki nie dają jednak pełnego obrazu. Przede wszystkim dziś nie musisz polegać na ograniczonej puli specjalistów w swoim regionie. Umiejętności JavaScript są bardzo poszukiwane, ale zdolnych ekspertów JS znajdziesz też za granicą i dopasujesz koszt outsourcingu do budżetu.
Średnie zarobki full-stackowych programistów JavaScript na świecie:
Stany Zjednoczone: 79-117 tys. USD/rok
Australia: 65-95 tys. USD/rok
Kanada: 90 tys. USD/rok
Francja: 54 tys. USD/rok
Wielka Brytania: 65 tys. USD/rok
Polska: 30 tys. USD/rok
Są też niewielkie różnice między poszczególnymi frameworkami JS.
Przeciętny programista AngularJS w USA zarabia 110 tys. USD/rok; początkujący zaczynają od 85 tys. USD/rok, a seniorzy zarabiają nawet 175 tys. USD/rok.
W React.js początkujący zaczynają od 68 tys. USD/rok, a doświadczeni zarabiają nawet 171 tys. USD/rok.
Umiejętności Vue.js są warte od 45 tys. USD/rok do 76 tys. USD/rok.
Zarobki programisty Node.js mieszczą się w przedziale od 48 tys. USD/rok do 130 tys. USD/rok.
Warto też pamiętać, że wynagrodzenia w JS bardzo się różnią nawet w obrębie jednego kraju, w zależności od poziomu doświadczenia i konkretnego zestawu narzędzi JavaScript.
To zarobki. A jak wyglądają stawki dla klienta, gdy zatrudniasz programistów do projektu?
Według danych Clutch stawki agencji za programistów JavaScript też zależą od regionu:
Stany Zjednoczone: do 150 USD/godzinę
Kanada: 120-130 USD/godzinę
Australia: 90-120 USD/godzinę
Wielka Brytania: 100-120 USD/godzinę
Europa Zachodnia: 80-110 USD/godzinę
Europa Środkowo-Wschodnia: 45-70 USD/godzinę
JavaScript nie jest idealny, ale cenowo ma kilka wyraźnych przewag nad innymi technologiami:
Jeśli czytasz od początku, wiesz już, że niemal wszystkie strony na świecie używają JS. Znalezienie kilku zachwycających przykładów nie jest więc trudne.
Może też wiesz, że mówiąc o JavaScripcie, prawie zawsze mamy na myśli konkretny framework, nie czysty JS. Dlatego przeczesaliśmy internet w poszukiwaniu webowych i mobilnych wdrożeń różnych zestawów narzędzi JS, które pokazują wyjątkową kreatywność. Od solidnych i bezpiecznych bankowych aplikacji mobilnych po gry: oto, co znaleźliśmy.
Branża: media, publikacje online
Narzędzia JavaScript: Node.js w połączeniu z serwerem Nginx i frameworkiem Matador MVC
Gdzie wykorzystuje JS: serwery aplikacji
Efekt: częste, iteracyjne wdrożenia kodu

Branża: e-commerce, marketplace online
Narzędzia JavaScript: Node.js
Gdzie wykorzystuje JS: backend i front-end
Efekt: możliwość szybkiej obsługi dużego ruchu

Branża: media, streaming online
Narzędzia JavaScript: AngularJS
Gdzie wykorzystuje JS: backend i front-end
Efekt: wsparcie wieloplatformowe i solidność w renderowaniu oraz obsłudze dużych zbiorów danych

IBM MobileFirst Platform Foundation (pakiet do tworzenia aplikacji mobilnych)
Branża: ICT, tworzenie oprogramowania
Narzędzia JavaScript: AngularJS oraz integracja z Ionic, jQuery Mobile i innymi frameworkami JS
Gdzie wykorzystuje JS: front-end aplikacji
Efekt: firmowy wygląd interfejsu i zaawansowane funkcje przeniesione na urządzenia mobilne

Branża: bankowość
Narzędzia JavaScript: AngularJS
Gdzie wykorzystuje JS: aplikacja mobilna
Efekt: szybki czas ładowania, struktura komponentowa, wbudowane wsparcie bezpieczeństwa

framework Visualforce (do budowy własnych interfejsów)
Branża: SaaS, marketing
Narzędzia JavaScript: ReactJS wraz z kontenerem stanu Redux
Gdzie wykorzystuje JS: front-end aplikacji webowej, strony Visualforce
Efekt: modułowy projekt aplikacji webowej, szybsze renderowanie złożonych widoków

Branża: technologie internetowe
Narzędzia JavaScript: stos technologiczny obejmujący ReactJS, Node.js, CSS3, HTML5 i moduły menedżera pakietów NPM
Gdzie wykorzystuje JS: silnik przeglądarki
Efekt: konfigurowalny, modułowy projekt, szybka praca, atrakcyjna oprawa wizualna

Branża: ochrona zdrowia, ubezpieczenia
Narzędzia JavaScript: React Native (mobile)
Gdzie wykorzystuje JS: aplikacja mobilna
Efekt: 80% ponownie wykorzystanego kodu, mały, ale zwinny zespół

Branża: motoryzacja
Narzędzia JavaScript: Vue.js
Gdzie wykorzystuje JS: strona konfiguratora samochodu
Efekt: interaktywność strony i szybkie aktualizacje interfejsu zgodnie z wyborami użytkownika

Branża: elektronika
Narzędzia JavaScript: Vue.js
Gdzie wykorzystuje JS: strona
Efekt: bogaty interfejs, wciągające animacje

Branża: gry
Narzędzia JavaScript: three.js, JavaScript i WebGL
Gdzie wykorzystuje JS: gra przeglądarkowa
Efekt: mocna grafika, interaktywna gra 3D

Branża: dane lokalizacyjne, nowe technologie
Narzędzia JavaScript: Backbone.js
Gdzie wykorzystuje JS: podstawowe API JavaScript
Efekt: dynamiczne funkcje, takie jak mapy i listy

Jeśli to nie jest Twój pierwszy projekt programistyczny, znasz już pewnie schemat: planowanie, projektowanie, kodowanie, testy, wydanie. Z JavaScriptem nie jest inaczej: projekt przechodzi wszystkie etapy „tradycyjnego” projektu software'owego.

W tym przewodniku poświęconym JavaScriptowi chcemy podkreślić kilka kluczowych aspektów pracy z JS i zwrócić Twoją uwagę na te elementy, które są istotne z perspektywy biznesowej.
Aby ruszyć z jakimkolwiek projektem, musisz zebrać odpowiedni zespół: programistów JavaScript i specjalistów od zapewnienia jakości. Gdzie ich znaleźć? Oto kilka opcji:
Przed startem projektu warto zadbać o to, aby wszyscy zaangażowani mieli wspólny obraz sytuacji. Ma to szczególne znaczenie dziś, w czasach pracy zdalnej i globalnie działających zespołów, które nigdy nie spotykają się osobiście.
Niezależnie od tego, czy pracujesz z własnym zespołem, czy korzystasz z zewnętrznej firmy lub wsparcia freelancerów, warto zorganizować nieformalne spotkanie zapoznawcze, żeby członkowie zespołu się poznali.
W kolejnym kroku umów rozmowę planistyczną, aby wejść w szczegóły projektu. Wspólnie ustalcie takie kwestie jak:
Jeśli pracujesz zwinnie, Twój zespół tworzy teraz backlog zadań na podstawie wymagań technologicznych i biznesowych. Jeśli projekt idzie tradycyjną ścieżką Waterfall, zespół dokumentuje wszystkie wymagania i zakres prac.
Gdy wszyscy wiedzą, co robić, i rozumieją oczekiwany efekt, architekci rozpoczynają fazę projektowania, która zwykle obejmuje szybkie prototypowanie.
Jeśli na przykład chcesz odświeżyć istniejącą stronę firmową w JavaScripcie, Twój zespół przygotuje proste układy strony. Jeśli natomiast używasz JS do zbudowania nowej aplikacji mobilnej dla swoich usług, zespół projektowy popracuje nad wireframe'ami i klikalnym prototypem, zanim projekt trafi do programistów.
Teraz pałeczkę przejmują Twoi programiści JavaScript i piszą kod według zatwierdzonych projektów. Zależnie od specyfikacji powstaje front-end, backend albo oba. Kompletując zespół, zwróć uwagę zwłaszcza na dwie rzeczy.
Po pierwsze, komunikacja. W dynamicznym, innowacyjnym środowisku o powodzeniu projektu decydują duch współpracy i jasność przekazu, czyli tłumaczenie złożonych idei prostymi słowami. Komentarze w kodzie, spotkania scrumowe, rozmowy na Slacku: dobry programista musi umieć mówić i słuchać na każdym z tych poziomów. W większych zespołach przepływ informacji łatwiej się psuje; dlatego większość zespołów zwinnych jest mała, do 10-15 osób.
Po drugie, code review. W tej dobrej praktyce kod każdego programisty regularnie oceniają współpracownicy. Kod jest dzięki temu lepszy, błędy wychodzą wcześniej, a projekt zachowuje spójność.
W projektach JavaScript prowadzonych zwinnie kod testuje się po każdym sprincie, aby:
Co więcej, JS pozwala testować kod bezpośrednio w przeglądarce. Wszystkie główne przeglądarki mają konsolę JS, w której możesz szybko wpisać kod, wykonać go i sprawdzić wyniki. Kompleksowe testy jednostkowe wymagają jednak frameworka.
Choć na pierwszy rzut oka wygląda to prosto, zapewnienie jakości to złożony i kluczowy etap pracy z JavaScriptem. Na szczęście specjaliści QA nie są zdani na siebie: mają bogaty zestaw narzędzi i frameworków testowych.
Frameworki testowe JS upraszczają i usprawniają testy, obniżają koszty utrzymania oraz podnoszą szybkość i jakość testowania. Robią to, automatyzując pracę ręczną i pozwalając ponownie używać kodu.
Frameworki testowe wspierają inżynierów QA i zwiększają ich produktywność, ponieważ:
Do najpopularniejszych frameworków testowych JS należą:

W zależności od produktu końcowego etap wdrożenia w projektach JavaScript może oznaczać:
Projekty programistyczne często zaczynają się od czegoś małego. Powiedzmy, że potrzebujesz podstawowej strony firmowej albo pojedynczej aplikacji użytkowej. Zbierasz zespół, określasz wymagania, ustalasz projekt graficzny i realizujesz go w kilka tygodni.
Wraz z Twoimi potrzebami rośnie jednak kod. Rozbudowujesz go o nowe interaktywne podstrony prezentujące usługi firmy, dokładasz kilka linijek, aby poprawić układ aplikacji, i tworzysz kilka nowych komponentów, aby wzbogacić funkcje aplikacji mobilnej. Pewnego dnia Twój kod nagle liczy tysiące linii. Rozdęty ponad miarę, staje się trudny do czytania i zrozumienia, nie trzyma się żadnych konwencji nazewniczych i nie da się z nim pracować.
Potrzebujesz teraz refaktoryzacji JavaScriptu. Ta metoda optymalizacji kodu poprawia jego wewnętrzną strukturę bez wpływu na zewnętrzne zachowanie Twojej strony czy aplikacji. Kod jest po niej łatwiejszy w utrzymaniu i rozbudowie, a przyszłe prace idą szybciej.
Refaktoryzacja to złożony proces obejmujący wiele elementów, takich jak:
Jak powiedział pewien mądry człowiek: „Wszystko płynie, nic nie trwa”. JavaScript też stale się zmienia. Język, frameworki i społeczności są w nieustannym ruchu. Pojawiają się nowi eksperci, wyrastają warsztaty i konferencje o JS, a ekosystem JS wciąż ewoluuje.
JS przeżył w ostatnich latach gwałtowny wzrost. Zmienia się język, a wraz z nim zakres jego zastosowań i projektów. Aby pomóc Ci być na bieżąco z najnowszymi zmianami, zebraliśmy wszystko, co musisz wiedzieć o stanie JavaScriptu na 2020 rok:
Globalny wykres popularności JS z ostatnich lat pokazuje stały trend, bez większych wahań. Społeczność systematycznie rośnie: dwa lata temu było niemal 10 milionów programistów JS, dziś zbliża się do 12 milionów.

(Źródło: PYPL)
Wygląda też na to, że profil biznesowy firm wykorzystujących JS w swoich produktach pozostaje stabilny. Według badania State of JS 2018 dominującymi użytkownikami JS były firmy zatrudniające 100-1000 osób, a za nimi duże firmy i małe organizacje liczące 20-50 osób. W zeszłym roku proporcje się utrzymały, z niewielkim wzrostem wykorzystania JS w firmach średnich i dużych.
Co najważniejsze, JavaScript pozostaje najczęściej używanym językiem programowania na świecie ósmy rok z rzędu. Wszystko to potwierdza, że to stabilna, dojrzała technologia, która prawdopodobnie utrzyma silne wsparcie firm i ekspertów.
JavaScript może pochwalić się co najmniej kilkudziesięcioma dedykowanymi wydarzeniami, na które co roku ściągają tysiące fanów JS, aby dzielić się wiedzą, uczyć się nowych rzeczy i wymieniać pomysłami. Oto najważniejsze spotkania i konferencje o JS na świecie, na których poznasz wszystko, co dotyczy JS.
Jeśli wolisz zostać w domu, zamiast jeździć po świecie za nowinkami z JavaScriptu, nie ma problemu! W ekosystemie JS znajdziesz mnóstwo materiałów i osób, które warto śledzić. Oto lista, kogo obserwować, żeby podszlifować umiejętności JS:
Masz już wszystko, czego potrzeba, aby wystartować ze swoim pierwszym projektem w JavaScripcie. Mamy nadzieję, że wnioski z naszego przewodnika ułatwią Ci przygodę z JS.
Dodaj też ten przewodnik do zakładek jako podstawowe źródło wiedzy o JavaScripcie, żeby zawsze móc do niego wrócić. A jeśli chcesz podzielić się nim z innymi, śmiało!
Zrealizuj swoją wizję ze sprawdzonymi w boju ekspertami JavaScript, dopasowanymi do potrzeb Twojej firmy.
Dane rejestrowe:
Firma
Usługi
Najczęściej poszukiwani specjaliści
Ocena 4,8 / 5,0 od klientów z różnych branż i lokalizacji.