10 powodów przez które język JavaScript jest tak popularny

10 powodów przez które język JavaScript jest tak popularny

Zastanawiasz się o co chodzi z całym tym hałasem dotyczącym języka JavaScript? Czemu powstają o nim dziesiątki memów i żartów? Dlaczego ludzi poświęcają tysiące godzin na prelekcje dotyczące tej właśnie technologii? W dzisiejszym poście przedstawię Ci 10 powodów przez które język JavaScript jest w dzisiejszych czasach tak popularny i przez które uwielbiam spędzać przy nim kolejne godziny pracy.

[Śledź mój kanał na YouTube – klik]

5 powodów miękkich

gfx1

1. Język internetu

JavaScript to główny język programowania internetu – największego znanego nam miejsca przeznaczonego na dyskusję i wyrażanie swoich poglądów. Czytasz bloga? Prawdopodobnie używasz przeglądarki internetowej. Czytasz wiadomości? Pewnie z poziomu przeglądarki. Oglądasz video na YouTube? Zgaduję, że w przeglądarce. Ze wszystkimi tymi miejscami związany jest język JavaScript. Inne języki “mają” swoje ulubione platformy, miejsca i konfiguracje gdzie działają najlepiej, polecane systemy operacyjne, itd. JavaScript natomiast związany jest z ściśle z internetem, z którym związane jest już… prawie wszystko.

2. Najszybszy start

Jesteś podłączony do internetu? Masz zainstalowaną przeglądarkę? Naciskasz F12, przechodzisz do konsoli i zaczynasz pisać w JS’ie. Zrobisz tak używając Google Chrome, Mozilli Firefox, Edge’a oraz wielu innych przeglądarek internetowych. Czas potrzebny na uruchomienie “środowiska”, napisanie i wykonanie pierwszego skryptu to jedyne 5 sekund (sam mierzyłem)! W innych językach nie będzie już tak łatwo. Owszem, możesz się posłużyć notatnikiem, ale do wykonania tego co napisałeś będzie ci potrzebny kompilator bądź interpreter. JS dostępny jest niemal od ręki – offline również!

3. Scyzoryk

JavaScript to moim zdaniem dobry szwajcarski scyzoryk. Trzeba coś przeciąć? Znajdziesz tam nóż. Trzeba spiłować? Znajdziesz pilnik. Trzeba przykręcić? Znajdziesz śrubokręt. Podobnie z JSem – chcesz pisać kod client-side? Proszę bardzo, pisz skrypty wykonujące się w przeglądarce, używaj narzędzi i bibliotek “client-side”. Potrzebujesz napisać coś po stronie serwera? Oczywiście możesz – tym czego użyjesz będzie zapewne node.js. Chciałbyś pisać aplikacje hybrydowe na smartfony i tablety? Zobacz w czym pomoże ci chociażby Ionic. I tak dalej, i tak dalej… Popularność tego języka i miejsca w których możesz go zastosować zaskoczą cię jeszcze nie raz!

4. Społeczność

Niesamowicie szybki rozwój technologii webowych sprawił, że w dzisiejszych czasach nie znajdziesz drugiego języka z tak ogromną liczbą opracowań, książek, lektur, prezentacji oraz pytań i odpowiedzi na nie. Na najpopularniejszym portalu związanym ze społecznością programistów, czyli StackOverflow.com liczba pytań dotyczących języka JavaScript wynosi obecnie 1,181,627 (a mówimy tutaj tylko o pytaniach jawnie oznaczonych tagiem #javascript). Jest to język który kilka miesięcy temu przegonił pod względem popularności takich gigantów internetu jak Java czy PHP.

Nie dziwi więc fakt, że o JavaScripcie jest po prostu “głośno na mieście” – jest to gorący temat wśród waszych znajomych programistów, na uczelniach i przede wszystkim w większości firm zajmujących się oprogramowaniem.

5. Wsparcie gigantów

Mówi ci coś nazwa Angular? Albo React? Jeśli nie, to może kojarzysz takie nazwy jak chociażby Google czy Facebook? To właśnie ci dwaj giganci świata IT stoją obecnie za dwoma najpopularniejszymi (nie mylić z najlepszymi) frameworkami związanymi z językiem JavaScript. Programiści Google’a wypuszczając Angulara chcieli sprawdzić, czy jest możliwe stworzenie nowoczesnego i wydajnego narzędzia przeznaczonego dla rozwiązań webowych. Nie będzie dla was zaskoczeniem jeśli napiszę, że im się udało (“dwójka” jest już na pasie startowym i zaraz ruszy na całego).

React natomiast to jedno z najbardziej popularnych “dzieci” Facebooka i czy przyznają to wprost czy nie – jest to po prostu odpowiedź na Angulara. W dobie poprawności politycznej to co napiszę nie będzie być może najbardziej przyjemne dla wszystkich fanów open source, ale JavaScript to dla wybranych firm nic innego jak dobry biznes.

5 powodów twardych

gfx2

1. Język uniwersalny

Nie istnieje obecnie chyba tak uniwersalny język programowania pod względem funkcjonalności jak JavaScript. Poza tym, że jest on językiem wysokiego poziomu, to pozwala na stosowanie takich mechanizmów jak dziedziczenie klasyczne, dziedziczenie przez prototypy, dynamiczne typowanie, wyrażenia regularne czy posługiwanie się funkcjami jako obiektami pierwszej klasy (tzw. first-class citizens). Pozwala ci pisać proste skrypty modyfikujące zawartość stron www, jak i zaawansowane aplikacje webowe z zastosowaniem wzorców MVVM czy MVC. Nie ma nic lepszego niż język który nie wiąże programiście rąk na samym starcie pracy.

2. Język eksperymentowania

Żaden inny język nie był tak często poligonem doświadczalnym dla nowych wzorców i nowych sposobów pisania aplikacji jak JavaScript. Zaczęło się od brudzenia sobie rąk HTMLem i modyfikacją strony “jak leci”. Zauważono jednak, że bez podziału odpowiedzialności daleko nie zajedziemy. Spróbowano więc podejścia MVVM mocno związanego z programowaniem obiektowym. Następnie przyszedł czas na MVC. Później na fluxa. Obecnie na fali jest programowanie reaktywne. Gdzieś równolegle pracowano nad standardem tzw. web components, aplikacjami natywnymi oraz podeściem isomorphic js. Sporo tego!

Czy znacie jakiś inny język programowania w którym społeczność pracowała aż tak intensywnie nad wypracowaniem dobrych wzorców? Zazwyczaj dany język jest bardzo mocno skupiony na konkretnym celu i zastosowaniu, JavaScript natomiast to laboratorium otwarte 24/7.

3. Rozwiązania “end-to-end”

O tym wspominałem już pośrednio wcześniej, pisząc o scyzoryku. JavaScript to aktualnie chyba jedyny język programowania, który pozwala wam pisać full-stackowe aplikacje webowe z wykorzystaniem tylko tego jednego języka. Zacznijmy od samej góry – warstwę kliencką zbudujemy przy pomocy opisywanych już Angulara czy Reacta. O backend, czyli część serwerową zadba np. nieśmiertelny express.js czy sails.js. Baza danych? A weźmy chociażby mongodb. Do tego wykorzystajmy kilka zewnętrznych API opartych o format JSON i kończymy na pełnoprawnej aplikacji webowej, opartej w stu procentach o JavaScript. 

Można? Można!

4. Narzędzia, narzędzia, narzędzia

Nawet najlepszy język programowania bez odpowiedniego zestawu narzędzi nie sprawdzi się na dłuższą metę. Każdy programista z kilkuletnim doświadczeniem potwierdzi, że to zdanie jest prawdziwe. Społeczność JavaScriptu dostarcza nam wszystkim tak ogromnej ilości narzędzi, że początkujący mają na początku spory problem żeby odnaleźć się w tej dżungli.

Jednak jak to zwykle bywa w takich przypadkach – lepiej mieć sto narzędzi i wśród nich trzy dobre, niż mieć trzy w ogóle. A zapewniam was, że te trzy dobre związane z JS’em na pewno znajdziemy w sekundę (wystarczy wspomnieć o webpacku, menadżerze paczek npm czy generatorze yeoman).

5. Przyszłość i stabilizacja

Dochodzimy do ostatniego punktu… jesteście jeszcze ze mną? Wiem, że jesteście na tyle ambitni i ciekawi świata programowania, że tak! Ostatnim punktem dla którego warto zainteresować się językiem JavaScript jest jego przyszłość. Przyszłość, która wydaje się być bardziej spokojna niż do tej pory, co jest szczególnie ważne dla początkujących. Po prawdziwym boomie jakim było wprowadzenie standardu ES2015 kolejne wersje będą przynosić o wiele mniejsze zmiany niż do tej pory.

Coraz większa liczba autorów piszących o JS’ie prezentuje zbliżone do siebie podejście do aplikacji webowych oparte o komponenty, przez co nie musimy się już zastanawiać czy to co robimy jest w ogóle dobre i aktualne. Wszystko będzie się powoli formować i stabilizować, dzięki czemu próg wejścia znacznie się obniży. Dodatkowo warto pamiętać, że JavaScript będzie wciąż wstecznie kompatybilny – twórcy wiedzą, że nie mogą ot tak z dnia na dzień “zepsuć” połowy internetu. To wszystko sprawi, że czas który zainwestujesz w naukę tego języka na pewno nie okaże się czasem straconym!

 

Powiązane

Getting started on ASP.NET Core & React ̵... Contents Episode 1 - Introduction Episode 2 - Backend / Infrastructure Episode 3 - Frontend Setup Episode 4 - Data flow (you are here)...
jQuery rządzi. Nie, Angular rządzi. Nie, React rzą... Jak spośród otaczających nas gigabajtów informacji wybierać najbardziej wartościowe porady i dobre praktyki? Opierać się na trendach? Chwilowej modzie...
Ten niedobry JavaScript – odc. 2543 Opinii na temat wad JavaScriptu i rzekomej trudności utrzymania kodu opartego o ten język naczytałem się już tyle, że każdy kolejny post komentują...
Parcel – module bundler, który da się lubić... Parcel to narzędzie które wnosi nową jakość na zdominowany przez Webpacka rynek module bundlerów. Czy dwa podstawowe założenia o których mówi doku...