TypeScript

Verilerin üzerine etiket konmuş JavaScript; hatalar yayından sonra değil, kod yazılırken yakalanır.

Şu adla da bilinir TS tipli JavaScript TypeScript dili

Tanım

TypeScript, verilerin üzerine etiket yapıştırılmış JavaScript'tir. Aynı kodu yazarsınız, ama her şeyin ne olduğunu da söylersiniz. Fiyat bir sayıdır. Müşterinin bir e-posta adresi vardır. Rezervasyonun bir tarihi vardır. Editör siz yazarken her satırı bu etiketlere göre denetler. Biri fiyatı bir isme eklemeye kalkarsa hata, kod dizüstünden çıkmadan kırmızıyla altı çizilir.

JavaScript'in rakibi değil, üstüne konan bir katmandır. Kod çalışmadan önce TypeScript etiketleri kaldırır ve sıradan JavaScript üretir; tarayıcının ya da sunucunun gerçekten çalıştırdığı şey odur. Ziyaretçinin telefonuna fazladan hiçbir şey kurulmaz ve biten ürün bir gram yavaş değildir. Bedel daha erken ödenir, yazma süresinde ve her yayından önce çalışması gereken bir derleme adımında. Dil 2012'den beri var ve büyük JavaScript projeleri bugün genelde böyle yazılıyor.

Şimdi çok kişinin yanlış bildiği kısım. Bu denetimler kod çalışmadan önce yapılır, sonra ortadan kalkar. Bir form gönderildiğinde ya da başka bir şirketin sistemi size sipariş yolladığında TypeScript kapıda durmaz. Ne geliyorsa gelir. Bir alana sayı demek onu sayı yapmaz. Gelen veriyi sunucunun kendisi denetlemek zorundadır; Linkysoft bu yüzden konuyu dil tercihi değil, siber güvenlik incelemesinin bir parçası sayar. Sistem çalışırken etiketlerin kendilerini koruduğunu sanan ekipler yakayı ele verenler oluyor.

Değer mi? Bu, boyuta ve ömre bağlı. Tek formlu tek sayfa için getirisi az, işi fazladır. Elli ekranlı, birkaç geliştiricili ve önünde yıllar olan bir sistemde ise bir alanı on saniyede yeniden adlandırmakla bütün projeyi elle taramak arasındaki farktır. En çok da bir site ile mobil uygulaması aynı kodu paylaştığında işe yarar. Linkysoft uzun ömürlü web uygulamalarını TypeScript ile yazar ve başlamadan önce tek bir soru sorar. İki yıl sonra bunun üzerinde kim çalışıyor olacak? Dürüst cevap henüz tanışmadığımız biriyse, etiketler harcadıkları her saati hak eder.

TypeScript hakkında sorular

TypeScript, JavaScript'ten farklı bir dil mi?
Tam olarak değil. JavaScript'te çalışan her şey TypeScript'te de çalışır; TypeScript yalnızca etiketleri ekler. Çalışmadan önce yeniden sıradan JavaScript'e döner.
TypeScript sitemi hızlandırır mı?
Hayır. Hız tamamen aynıdır, çünkü etiketler kod çalışmadan önce kaldırılır. Kazandırdığı şey milisaniye değil, geliştirici zamanı ve daha az hata.
TypeScript sistemimi saldırılardan korur mu?
Hayır. Kod yazılırken yapılan dikkatsizlikleri yakalar. Bir yabancının sonradan sunucunuza göndereceği şeye karşı bir şey yapmaz; o denetimin ayrıca yazılması gerekir.
Küçük bir projede TypeScript'e değer mi?
Çoğu zaman değmez. Tek formlu bir sayfada çoğunlukla fazladan iştir. Koda birden fazla kişi dokunmaya başladığında ya da sistem yıllarca yaşayacaksa kazandırmaya başlar.
Mevcut bir JavaScript projesi TypeScript'e geçebilir mi?
Evet, dosya dosya. İkisi aynı projede yan yana yaşar; ekip genellikle önce en sık bozulan bölümleri etiketler, gerisine dokunmaz.

Bunun projenize nasıl uyduğundan hâlâ emin değil misiniz?

Ne inşa ettiğinizi bize anlatın, size sade bir dille yanıt verelim.