5 syytä, miksi Deno lopettaa TypeScriptin käytön
Tänään ilmestyi asiakirja, joka osoitti, että Deno lopettaa TypeScriptin käytön sisäisessä koodissaan vedoten useisiin nykyisen ympäristön ongelmiin. Mainittuja ongelmia ovat muun muassa TypeScriptin käännösajat, strukturointi ja koodin organisointi. Jatkossa Deno käyttää puhdasta JavaScriptiä sisäisessä koodissaan.
Deno ongelmia TypeScriptin kanssa
Epäsuotuisat tilanteet, joita Deno-tiimi tällä hetkellä kokee käyttäessään TypeScriptiä sisäisessä koodissaan:
-
TypeScript-käännösaika, kun tiedostojen vaihtaminen kestää useita minuutteja, mikä tekee jatkuvasta kääntämisestä tuskallisen hidasta prosessia
-
Typescript-rakenne, jota he käyttävät lähdetiedostoissa, jotka luovat varsinaisen Deno-suoritettavan tiedoston, ja käyttäjäkohtaisissa API:issa aiheuttaa ajonaikaisia suorituskykyongelmia.
-
TypeScript ei ole osoittautunut hyödylliseksi Deno-koodin järjestämisessä. Päinvastoin, Deno-tiimi kokee päinvastaisen vaikutuksen. Yksi mainituista ongelmista on, että he päätyivät päällekkäisiin itsenäisiin Body-luokkiin kahdessa paikassa https://github.com/denoland/deno/issues/4748
-
Sisäinen koodi ja ajonaikaiset TypeScript-ilmoitukset on pidettävä manuaalisesti synkronoituna, koska TypeScript-kääntäjä ei auta luomaan d.ts-tiedostoja
-
He ylläpitävät kahta TS-kääntäjäisäntä: yksi sisäiselle Deno-koodille ja toinen ulkoiselle käyttäjäkoodille, vaikka molemmilla on samanlainen tavoite
TypeScriptin poistaminen sisäisestä Deno-koodista
Deno – tiimi pyrkii poistamaan kaiken rakennusaikaisen TS-tyyppitarkistuksen ja sisäisen Deno-koodin niputtamisen. He odottavat innolla kaiken ajonaikaisen koodin siirtämistä yhdeksi JavaScript – tiedostoksi. He käyttävät kuitenkin edelleen täydentävää d.ts-tiedostoa tyyppimääritelmien ja dokumenttien säilyttämiseen.
On syytä mainita, että Deno lopettaa TypeScriptin käytön vain sisäisessä Deno-koodissa: Deno-käyttäjäkoodi on edelleen TypeScriptissä ja siten tyyppitarkistettu.
Vaikka TypeScriptia pidetään joskus JavaScriptin paranneltu versiona, tämä tapaus osoittaa, että se ei itse asiassa ole sitä. Siinä on puutteita, kuten kaikissa muissakin kieleissä. Yksi tärkeimmistä on sen hidas kokoamisaika. Vaikka pienet projektit eivät välttämättä näe valtavaa piikkiä käännösajassa vaihdettaessa puhtaasta JavaScriptistä TypeScriptiin, se on havaittavissa suurissa projekteissa, kuten monimutkaisessa React – sovelluksessa. Kun otetaan huomioon sen suoritusajan suuri koko, ei ole yllättävää, että Deno lopettaa TypeScriptin käytön.
Tyyppitarkastuksen turvallisuudesta kehitysvaiheessa on hintansa käännöshetkellä. Ei ole syytä, että TypeScript-projektissa on laaja asiakirja käännösajan käsittelemisestä ja parantamisesta. Yksi mielenkiintoisimmista lähestymistavoista on käyttää Project References -sovellusta, jonka avulla kehittäjät voivat hajottaa suuren TypeScript-koodin pienemmiksi paloiksi.
Lue lisää siitä, miksi Deno lopettaa TypeScriptin käytön
Täydellinen keskustelu päätöksestä jättää TypeScript pois sisäisestä Deno-koodista ja käyttää JavaScriptiä sen sijaan löytyy tästä asiakirjasta, jossa Ryan Dahl ja yhteistyökumppanit keskustelevat ongelmasta, sen ratkaisusta ja siitä, miten se aiotaan toteuttaa.