JavaScript – czyli Java w wersji Script
Rekruterzy mylący JavaScript z Javą, to najbardziej popularny żart, związany z tym językiem. Ale skąd się on w ogóle wziął? I jaka jest jego historia?
Historia
JavaScript został zaprojektowany przez Brendana Eicha i wydany przez Netscape w 1995 roku. Początkowo nazywany „LiveScript”. Nazwa została jednak szybko zmieniona na JavaScript. Zyskał on niesamowitą popularność i dziś jest wykorzystywany niemal na każdej stronie internetowej.
JavaScript to język skryptowy, co oznacza, że kod jest wykonywany przez przeglądarkę użytkownika, nie zaś serwer. To sprawia, że strony internetowe są bardziej dynamiczne, reagujące na działania użytkownika i nie muszą czekać na komunikacje z serwerem, by wprowadzić jakiekolwiek zmiany.
JavaScript zyskał na popularności również dzięki różnym frameworkom i bibliotekom ułatwiającym pracę deweloperom. Angular, React i Vue.js to przykłady narzędzi (frameworków i bibliotek), które ułatwiają budowanie skomplikowanych interfejsów użytkownika. Sam JavaScript obsługuje obiektowy paradygmat programowania, co umożliwia programistom używanie obiektów i metod do organizowania kodu.
JavaScript a EcmaScript
JavaScript to język programowania, a ECMAScript (skrót: ES) to standard, na którym opiera się ten język
W 1997 roku standard ECMAScript 1 (ES1) został przyjęty przez ECMA International. To było pierwsze oficjalne ustalenie zasad funkcji i składni języka. Od tego momentu co pewien czas, publikowane są nowe wesje ES – Najbardziej przełomową, była ES6 – znana jako ECMAScript 2015. Wprowadziła szereg zmian, które wywróciły sposób tworzenia stron internetowych. Funkcje strzałkowe, 'let’, operator spread i wiele innych – bez tych funkcjonalności, tworzenie stron internetowych było niesamowicie utrudnione.
Wady i zalety
Jedną z największych zalet JavaScript jest jego wszechstronność. Język ten został pierwotnie stworzony do manipulacji interakcjami użytkownika na stronach internetowych, ale dzięki rozwojowi środowisk i frameworków takich jak Node.js, JavaScript teraz obsługuje również aplikacje back-end. Dzięki temu deweloperzy mogą używać jednego języka do programowania zarówno po stronie klienta, jak i serwera. Oprócz tego asynchroniczność umożliwia obsługę wielu operacji jednocześnie, co jest kluczowe dla responsywności interfejsów użytkownika i mocno zwiększa UX. Warto też wspomnieć o ogromnej społeczności deweloperów oraz bogatym ekosystemem narzędzi, frameworków i bibliotek.
Jednak nawet w tak doskonałym języku istnieją pewne wyzwania, z którymi trzeba się mierzyć – zaczynając od jego zalety, która jest też wadą – uruchamianie kodu po stronie użytkownika stawia wyzwania związane z bezpieczeństwem, takie jak ataki XSS (Cross-Site Scripting) czy manipulacja kodu po stronie klienta. Ale tak naprawdę największym problemem każdego JavaScript Developera, jest kompatybilność przeglądarek niekiedy ogromnym problemem jest zapewnienie kompatybilności między różnymi przeglądarkami. Różnice w interpretacji kodu przez przeglądarki mogą prowadzić do błędów i problemów z wydajnością. A to sprawia, że magiczny błąd spadający na konkretnym urządzeniu, może być niemożliwy lub bardzo trudny do odtworzenia w środowisku developerskim.
Podsumowanie
JavaScript wyróżnia się spośród innych języków programowania, głównie ze względu na swoje specyficzne przeznaczenie do interakcji z przeglądarkami internetowymi. Jego model oparty na prototypach wprowadza unikalny system obiektowy, odróżniający go od tradycyjnych języków, które bazują na klasach. Jednakże, to właśnie ta cecha nadaje mu elastyczność i umożliwia programistom bardziej swobodne zarządzanie obiektami. Mimo, że JavaScript działa jednowątkowo, wykorzystuje tryb pętli do obsługi wielu zdarzeń jednocześnie. To znaczy, że choć wykonuje się sekwencyjnie, nie blokuje on operacji, co umożliwia płynne działanie interfejsów użytkownika nawet w przypadku operacji, które zajmują więcej czasu.
JavaScript nie tylko różni się od innych języków programowania ze względu na wprowadzenie innowacyjnych koncepcji, takich jak model oparty na prototypach, dynamiczne typowanie i obsługa operacji asynchronicznych, które sprawiają, że jest to język wyjątkowy w świecie programowania.
Dodaj komentarz