12th Jun, 2017

Därför är TypeScript värt att titta närmare på

TypeScript är ett “superset” av JavaScript; ett program skrivet i JavaScript är redan giltig TypeScript-kod. Förutom sin vanliga kod kan man dessutom lägga till typ-annoteringar, och deklarera variabler som “string”, “number”, etc. Man kan deklarera interfaces, precis som i C# och Java. Alla typ-annoteringar som läggs till utöver den vanliga JavaScript-koden kontrolleras dessutom under kompilering, och om det är något som inte stämmer så får man ett kompileringsfel.


Det kan låta konstigt att presentera “fler kompileringsfel” som en fördel. Men på senare år används JavaScript mer och mer för utveckling av stora applikationer och bibliotek — språket som var anpassat för att skriva små skript på en handfull rader börjar på allvar växa ur sina skor när det gäller att hantera frågor som modularitet, komplexa beroenden, och tusentals eller hundratusentals rader kod. I ett sådant läge är det bra att få tidiga fel vid kompilering än att saker går sönder under körning.

 

Tänk dig att JavaScript är en penna. Du är inte så jätteförtjust i den, men den kan åtminstone sätta bläck på papper så att du kan göra ditt jobb. TypeScript är när någon säger till dig "här, använd den här pennan istället; den gör samma saker som din gamla penna, men den hjälper dig att skriva rätt och ger dig dessutom vettiga tips på vägen om vad som funkar och vad som måste fixas”.

TypeScript är en bättre version av JavaScript?

I slutänden kommer du att kunna skicka in arbete av högre kvalitet, eftersom TypeScript redan har hittat en massa misstag på vägen som man inte behöver köra programmet för att upptäcka. Och du kan arbeta snabbare, mer effektivt, och med högre förtroende för att saker blir rätt.

En sak som jag har insett på vägen är att det inte handlar så mycket om “fel hittas under kompilering” som “fel hittas medan man skriver koden”. Moderna utvecklingsmiljöer som Visual Studio och WebStorm har utmärkt stöd för att hitta fel i och ge tips om ens kod under gång, medan man skriver. Folk som kommer från de stora statiska språken är redan vana vid detta, och det brukar kännas lite som att TypeScript återställer ordningen lite efter att man har saknat IntelliSense i vanlig JavaScript.

I StackOverflows enkät 2016 kom TypeScript etta som svar på frågan “vilken teknologi skulle du helst vilja använda?”. Det är anmärkningsvärt för ett språk att ha klättrat upp till första plats på bara några år. Det visar lite på att det finns ett verkligt behov av TypeScript; att man ser värdet.

Okej, men vad är haken? Varför använder inte alla TypeScript? Finns det inga nackdelar?

Anders Hejlsberg (skapare av TypeScript) fick den frågan i en podcast en gång. Hans svar var “TypeScript är en värdeproposition som det inte är rationellt att tacka nej till”. Du kan skriva samma JavaScript-kod som du gjorde förut, men du får tidiga varningar om saker som kan gå fel eller kommer att gå fel, eller bara är riskabla eller problematiska på något sätt.

I realiteten tas ett beslut som “byt till TypeScript” alltid i en kontext. Man har existerande JavaScript-kod, externa beroenden, etc. Även i ett sådant läge finns det dock goda möjligheter att överväga TypeScript. Ett existerande projekt kan till exempel välja att migrera källfil för källfil; TypeScript är smidigt nog att hantera en kodbas med en mix av JavaScript- och TypeScript-kod. Man väljer även själv med olika konfigureringsflaggor hur strikt man vill att TypeScript ska vara med ens kod. Där kan man göra en avvägning mellan striktare/bättre typkontroller å ena sidan, och enklare migrering å andra sidan.

Jag har hört att man ska använda Flow istället. Är det sant?

Flow är ett intressant alternativ med ungefär samma säljpunkter som TypeScript. (Flow är utvecklat av Facebook och TypeScript av Microsoft. Båda är öppen källkod.) Vid det här laget är det dock ganska tydligt att TypeScript har “vunnit” i den bemärkelsen att det har en stor community och massor av understöd från alla håll. Lite liknande situationen med Git och Mercurial; det senare är ett fullgott alternativ, men det har en betydligt mindre marknadsandel.

Du har gjort en kurs för folk som vill veta mer om TypeScript?

Ja! I kursen kan man se tydligt hur JavaScript har vuxit upp, och hur man kan kombinera det bästa av TypeScript, moderna verktyg, testdriven utveckling, och moderna utvecklingsmetoder för att bygga icke-trivial mjukvara för browsern och för Node.js.

Läs mer om kursen [här] (https://edument.se/education/categories/webdevelopment/typescript)

  • Please share on LinkedIn
  • Please share on Twitter
  • Please share on Facebook

News & Feeds

Expanding boundaries

Why did Therese hesitate before she accepted her latest assignment? 

Read More >

Därför är TypeScript värt att titta närmare på

Learn about what TypeScript and why you should adopt it.

Read More >

Why is the Management 3.0 so popular right now?

Leadership is not just the managers responsibility.

Read More >

Management 3.0 är framtidens agila ledarskap

Ledarskap är inte bara chefernas ansvar. Det är allas ansvar. 

Read More >

Why is adopting Scrum a challenge for many companies?

 - In some companies with a corporate culture significantly at odds with agile core values, or with …

Read More >

Copyright © Edument AB. All rights reserved.