1. TypeScript – Genel Bakış

TypeScript hakkında genel bir değerlendirme

0 371

JavaScript, client bazlı bir dil olarak tanıtılırken günümüzde NodeJS’in geliştirilmesi ile birlikte backed tarafında da kullanılmaya başlanmıştır. Hatta mobil platformlara yönelik uygulama geliştirmek istenilmesi durumunda ise PhoneGap, React Native gibi frameworkler sayesinde mobil platformlara da kapılarını açarak popüler hale gelmiştir. Dolayısıyla tek bir dil ile tüm platformlara yönelik uygulama geliştirmek mümkün hale gelmiştir. Bununla birlikte, proje büyüdükçe dolayısıyla javascript kodları çoğaldıkça karmaşık bir hale gelmeye başlıyor. Nedeni ise derleme vs gibi işlemlerin olmaması, object oriented yeterince desteklememesi, strongly typed bir yapısının olmaması yani değişken tipleri gibi konular örnek verilebilir. Kısaca bu durumlar karışıklığa yol açtığı için kurumsal düzeyde sunucu bazlı bir teknoloji olmasını biraz engelliyor. Bu boşluğu doldurmak için ise Microsoft’un Anders Hejlsberg (C# tasarlayan bilge 🙂 ) tarafından TypeScript sunulmuştur.

TypeScript Nedir?

TypeScript, strongly typed yani değişkenlerinize bir tip tanımlamanızı sağlayan, nesne yönelimli programlamaya eğilimli ve compiled bir dildir. Yani JavaScript’in extend edilmiş ya da kabuk giydirilmiş halidir diyebiliriz.

TypeScript’in Özellikleri

  • TypeScript bir JavaScript’tir.
  • TypeScript diğer JavaScript library destek vermektedir.
  • JavaScript bir TypeScript’tir.
  • TypeScript JavaScript’in çalıştığı her platformda çalışabilir.

TypeScript ve ECMAScript

Makalemizin başında belirttiğimiz gibi JavaScript’in bu tür eksikliklerinden dolayı yeni sürümleri ile birlikte sorunlarını gidermek adına iyileştirmeler yapılmaktadır. Bu tür standartlar ECMAScript olarak adlandırılmaktadır. Her ne kadar iyileştirmeler yapılıyor olsada browser support ve nodejs gibi backend tarafı bu iyileştirmelerin tamamını desteklememektedir. Linke tıklayarak  ES6 – ES7 sürümlerinin ne kadar desteklendiğini görüntüleyebilirsiniz. TypeScript ise standart olarak ES5  baz almaktadır. Fakat ES5 standart olarak baz alınsada ES6’nın özelliklerini kullanabilmekteyiz hatta ES7 ile gelen yenilikleride kullanabiliyor olacağız. ES6 ile ilgili özellikler için linke tıklayıp detaylı bilgi edinebilirsiniz.

Neden TypeScript Kullanmalıyız?

Kısaca özetlemek gerekirse TypeScript’in object oriented yönelimli oluşu, değişken tipi tanımlayabilmemiz ve compile edilebilen bir dil oluşu kullanmamız için büyük etkenlerden. Şimdi belirtmiş olduğumuz bu tanımlara biraz değinelim.

  • TypeScript’in compile edilen bir dil olduğundan bahsetmiştik, bu durum aslında yazmış olduğumuz TypeScript kodunun JavaScript’e dönüştürülmesidir. Bu durumda bizim vermiş olduğumuz parametrelere göre compile edilmesini sağlayabiliriz.  Aynı zamanda da  değişkenlere tanımlamış olduğumuz tiplerin kontrollerinin sağlanmasını ve compile esnasında hatayı bize gösteriyor olması,
  • Namespace, interface, class sayesinde object oriented desteklemesinden ve C#, Java vb. gibi dillere yakınlığı sayesinde ekip çalışmasınada uyumlu olması,
  • İnterface, class’lar sayesinde intellisense güçlü oluşu,
  • TypeScript diğer JavaScript kütüphanelerini desteklemektedir. Aynı zamanda JavaScript library için definition tanımlamamıza olanak sağlamaktadır. Genellikle bu tür definition dosyaları “.d.ts” uzantıya sahip olmaktadır. Definition tanımlayabildiğimiz için JavaScript library destek vermektedir.

TypeScript Bileşenleri

TypeScript 3 bileşenden  oluşmaktadır.

  • Language: Genel olarak kullandığımız syntax, keywords, and type annotations’dır.
  • TypeScript Compiler: TypeScript kodlarını JavaScript dönüştürmemizi sağlayan bileşendir.
  • TypeScript Language Service, ifade tamamlama, kod formatlama, özetleme, renklendirme gibi tipik editör işlemlerinin gerçekleşmesini sağlar.

Bunları da beğenebilirsin Yazarın diğer kitapları

Themetf