fbpx
goodfirms LOGO Created with Sketch.







    TypeScript czy JavaScript: różnice i migracja

    23
    wrzesień
    2022
    Karol Dobrakowski
    4 minuty czytania
    Udostępnij

    Frontend (Vue.js) Developer poszukiwany!

    Zobacz ofertę pracy na Frontend (Vue.js) Developera i aplikuj do naszej firmy już teraz! Pracuj gdzie chcesz i kiedy chcesz!

    Zobacz ofertę
     

    Stworzony w 2012 roku przez Microsoft TypeScript jest odpowiedzią na problemy związane z początkowo prymitywną funkcjonalnością JavaScriptu, który w środowisku programistów od zawsze postrzegany był gorzej od Pythona, Javy czy rodziny języków C. Większość funkcjonalności dostępnego już w 2012 roku TypeScriptu do JavaScriptu wdrożona została dopiero w 2015 w ramach aktualizacji i standaryzacji ES6 (ECMAScript 6). Czy warto zmienić JavaScript na TypeScript? Jakie różnice między JavaScript a TypeScript najbardziej dają się we znaki początkującym? W poniższym artykule postaramy się także podpowiedzieć czy migracja z JavaScript na TypeScript może przebiegać szybko i sprawnie. 

    Jakie są podstawowe różnice między JavaScript a TypeScript?

    Z technicznego punktu widzenia TypeScript (TS) jest nadzbiorem języka JavaScript (JS), co w praktyce oznacza, iż każda aplikacja stworzona w TS jest bezpośrednio transpilowana do JS. Zaprojektowane przy pomocy TS programy są po prostu kompilowane do postaci nieprzetworzonego JS, który może być odczytany przez najzwyklejszą przeglądarkę lub znającego dobrze JavaScript programistę, który nie wie, że istnieje coś takiego TypeScript. Jeśli chodzi o TS a JS różnice są jednym z głównych argumentów, którymi nie bez przyczyny posługują się zwolennicy TypeSciptu. W JS wykorzystywane jest dynamiczne typowanie, którego zaletą jest to, że wprowadzane zmiany widoczne są niemalże natychmiast. TS opiera się na typowaniu statycznym, które pozwala trwale przypisać typ danych do zmiennej, która w JS jest zawsze obiektem. Przypadkowe nadpisywanie typów obiektowych w JS prowadzić może do wielu problemów z działaniem aplikacji oraz baz danych.

    TS a JS różnice z perspektywy kompilacji

    Jeżeli chodzi o podstawowe różnice między JavaScript a TypeScript są one dostrzegalne również na etapie kompilacji kodu. W przeciwieństwie do JavaScriptu TypeScript jest w stanie zasygnalizować wykryte błędy już w trakcie budowania aplikacji. W JS błędy wykrywać da się dopiero po uruchomieniu aplikacji, co w praktyce utrudnia i spowalnia proces debugowania. Z tego też powodu pytając, czy JavaScript czy TypeScript lepiej się sprawdzi w danej sytuacji, większość profesjonalistów zasugerować może TS. Warto zwrócić także uwagę, iż TypeScript posiada pełne wsparcie w niezwykle popularnym edytorze kodu Visual Code Studio (VSC), który również zalicza się do szerokiego grona projektów Microsoft.

    Czy migracja z JavaScript na TypeScript może przebiegać sprawnie?

    Wbrew pozorom migracja z JavaScript na TypeScript wcale nie jest tak skomplikowana jak mogłoby się w pierwszej chwili wydawać. Trzeba tu pamiętać, iż w obydwu przypadkach aplikacje opierać się będą na JS, więc w teorii nie wiąże się to z koniecznością nauki nowego języka. W rzeczywistości TypeScript postrzegać można w kategorii sposobu organizacji tworzenia funkcjonalnego kodu aplikacji. Podobnym przykładem z innego języka może być choćby znana w środowisku programistów Javy konwencja JavaBeans. TypeScript wspierany jest dodatkowo przez większość najpopularniejszych frameworków (np. Angular, Vue, React, Svelte, NodeJS itp.). Z tego też powodu migracja aplikacji w ramach wspomnianych wyżej frameworków przebiega z reguły dość szybko i sprawnie. Jedynym poważnym problemem związanym z przejściem z JS na TS może być niski poziom wiedzy programistów. Doświadczeni i znający wiele języków developerzy z pewnością bez problemu poradzą sobie z potencjalnymi problemami i błędami, które mogą pojawić się w trakcie migracji. Mniej doświadczony zespół, który nie miał większej styczności z językami takimi jak Java może napotkać pewne trudności związane z koniecznością stosowania przemyślanych typów zmiennych.

    Czy warto zmienić JavaScript na TypeScript?

    Jak już wspomnieliśmy migracja z JavaScript na TypeScript jest dosyć intuicyjnym i niespecjalnie skomplikowanym procesem jeśli zajmują się nią doświadczeni developerzy. Główną przewagą TypeSciptu nad JavaSciptem jest aspekt statycznego typowania kodu. To właśnie dzięki temu łatwiej jest zapewnić większą stabilność i bezpieczeństwo działania aplikacji webowych. W trakcie transpilowania kodu TS do JS automatycznie usuwane są luki między wersjami JavaSciptu, dzięki czemu nie trzeba martwić się tym czy aplikacja będzie działała na starszych przeglądarkach i urządzeniach. Zdaniem wielu programistów kod tworzony w TypeSciptcie cechuje się także większą przejrzystością od czystego JavaScriptu, który bez odpowiednich adnotacji autora jest mało czytelny.

    Podsumowanie - JavaScript czy TypeScript?

    Przeniesienie aplikacji z JavaSciptu do TypeSciptu nie jest specjalnie skomplikowanym zadaniem dla doświadczonego programisty, ale dla stawiającego pierwsze kroki juniora nie będzie to spacer po lesie. Oczywiście wszystko jest zależne przede wszystkim tu od tego jak bardzo złożony jest szkielet danej aplikacji, ponieważ w przypadku prostych i składających się z kilku nieskomplikowanych klas programów konwersja przebiega szybko i sprawnie. Przed przystąpieniem do nauki TS dobrze jest także zapoznać się z przynajmniej z podstawowymi zagadnieniami JavaSciptu, ponieważ bez tego można łatwo popełnić wiele błędów.

    Jak możemy Ci pomóc?
    Porozmawiaj z nami!







      Łukasz Świtek
      Customer Success Manager
      Wiktor Sobczyk
      Co-Founder, Key Account Manager