utvikling

Tok grundig feil i 2012: Nå mener utvikleren at du bør gå over på Typescript

Typescript har suksess der andre Javascript-overbygg har feilet. Det handler om å gå med på det underliggende språkets premisser, og gjøre programmererne mer produktive, mener amerikansk utvikler.

Typescript
Typescript Illustrasjonsfoto: Version2

De fleste språk som kan kompileres, eller «transpiles» som det også kalles, til Javascript, har ikke hatt særlig suksess. Hvem snakker lenger om Google Web Toolkit, Coffeescript og Dart?

Men slik er det ikke med Typescript, et språk som debuterte på scenen i lille Danmark, og som nasjonens stolthet, Microsofts språkdesigner Anders Hejlsberg, har satt sitt fingeravtrykk på.

TJ VanToll fra firmaet Nativescript var skeptisk til Typescript da språket kom til verden. Men den skepsisen er nå forvandlet til begeistring, forteller han velopplagt til publikum på Goto-konferansen som nylig gikk av stabelen i København.

TJ VanToll fra firmaet Nativescript har en god forklaring på hvorfor Typescript seiret mens andre språk måtte gi tapt. Han hadde et innlegg på Goto-konferansen nylig. Foto: TJ VanToll
TJ VanToll fra firmaet Nativescript har en god forklaring på hvorfor Typescript seiret mens andre språk måtte gi tapt. Han hadde et innlegg på Goto-konferansen nylig.

Både Typescript og Dart debuterte på tidligere Goto-konferanser, så det er altså et passende forum å snakke i.

TJ VanToll gjør ærlig og redelig oppmerksom på at han er «evangelist» for Nativescript, et firma som har et tett forhold til Typescript – og den stillingen handler også om markedsføring. Helt uhildet er han altså ikke.

Men han har tre gode grunner til hvorfor konkurrentene til Typescript har seilet akterut. At det faktisk skjer, viser han med grafer fra Googles trend-tjeneste, som på overbevisende vis gir ham rett.

Typescript har gått støtt fremover, mens konkurrentene spiser støv.

– Alle hater Javascript

Men hvorfor overhodet skifte ut Javascript med noe annet?

Javascript er hatet av de fleste utviklere, mener TJ VanToll. De gode elementer i språket fyller veldig lite i forhold til helheten, er hans synspunkt.

Nesten alle moderne språk har blitt forsøkt oversatt til Javascript i en eller annen grad, og store virksomheter har brukt anseelige summer i forsøkene.

Coffeescript og Dart opplevde en viss popularitet tilbake i 2012, men siden gikk det nedoverbakke. TJ VanToll synes at det første språket minner for mye om Ruby, og at det er det som begrenset webutviklernes interesse. Dart, som stammer fra Google, er i likhet med Typescript også av dansk herkomst. Det minner en del om språk som Java og C#.

I den første utgaven av Dart ble et enkelt Hello world-eksempel kompilert til astronomiske 17.000 linjers Javascript. Selv om det gikk bedre med senere optimaliseringer, ble inntrykket hengende.

I tillegg kom at datiden oppfattet situasjonen som at Google ville benytte sin dominerende posisjon med Chrome til å favorisere sitt eget språk via en spesiell virtuell maskin til Dart – noe som minte om Microsofts taktikk med Internet Explorer i tidligere tider.

Dart slo ikke an hos webutviklerne, og språket kan ikke lenger kompileres til Javascript. I stedet har det funnet en rolle i Googles mobilutviklingsmiljø Flutter.

Også i 2012 skrev TJ VanToll et blogginnlegg, med den morsomme formuleringen «Javascript skal være rent, slik Gud ønsket det».

Derfor skal du bruke Typescript

TJ VanTolls firma hadde nettopp valgt Typescript som plattform til dets åpen kildekode-mobilutviklingsmiljø, som kan avvikles på begge de to store plattformene.

«Vi risikerer en masse ved å bygge vår kjerne oppå Typescript», var hans daværende vurdering overfor firmaet.

Men det var soleklart feil, lyder tilståelsen.

Det var flere grunner til at Typescript fikk luft under vingene. Biblioteket Angular 2 ga språket vind i ryggen, da det valgte å bygge på Typescript i 2015. Microsoft sendte ut åpen kildekode-verktøyet Visual Studio Code, som er gratis og plattformuavhengig – og kommer med god støtte for Typescript.

Det populære chattesystemet Slack bygger nå på Typescript, og biblioteket Vue.js vil også bytte. Et annet populært bibliotek, React.js, støtter også språket.

Men hvorfor tok TJ VanToll feil i 2012? Han peker på tre årsaker:

Typescript bygger på toppen av Javascript, i stedet for å erstatte det – og språkets bakmenn har blitt med i komiteen som utvikler Javascript.

Den neste grunnen er typer. De er valgfrie og det senker innlæringskurven. Utviklere med Javascript-bakgrunn er sjelden glad for typer, og det samme gjelder de som har blitt skremt av for eksempel tidligere Javas tunge type-system.

Den siste årsaken er verktøy, som for eksempel Visual Studio Code og web-IDE-et Typescript Playground, som ved hjelp av typeinferens kan autofullføre koden og «browse» funksjoner i store biblioteker som Jquery, med enkel tilgang til dokumentasjon – noe som kjent fra typesterke språk og tunge IDE-er.

Webassembly er mest til spill

Man skal bruke Typescript hvis man har store kodebaser og arbeider sammen med et team av utviklere, mener TJ VanToll. Og hvis det er vanskelig å rekruttere frontend-utviklere, kan backend-folk med erfaring fra Java eller C# lett føle seg hjemme i Typescript.

På spørsmål om ikke Webassembly-teknologien kommer til å fjerne behovet for transpiling, svarer TJ VanToll:

– Jeg har hørt snakk om Webassembly i årevis, og jeg har ennå ikke sett en praktisk situasjon hvor det blir brukt. Det kommer nok til å spille en større rolle i forbindelse med for eksempel spill, hvor ytelse er kritisk, men til de fleste forretningsapplikasjoner er Javascripts ytelse ikke et problem. Det er viktigere å være produktiv, og Typescript gjør nettopp det. De fleste utviklere vil gjerne ofre litt ytelse, hvis det betyr at de kan få tingene gjort litt raskere.

Artikkelen er også publisert hos Version2.dk

Powered by Labrador CMS