İçeriğe geç
SaytPro
Bize yazın

Teknolojiler

TypeScript

TypeScript, Microsoft tarafından 2012'de yayımlanan ve JavaScript'i statik tiplerle genişleten açık kaynaklı bir programlama dilidir. Kod, tarayıcıda çalışmadan önce normal JavaScript'e derlenir.

GeliştiriciMicrosoft
İlk sürüm2012
LisansApache-2.0
Programlama dili

TypeScript nedir?

TypeScript, JavaScript'in bir üst kümesidir (superset): geçerli her JavaScript kodu aynı zamanda geçerli bir TypeScript kodudur. Dil, 2012 yılında Microsoft tarafından yayımlandı ve Apache-2.0 lisansıyla açık kaynak olarak geliştiriliyor. Dile kattığı temel özellik statik tip sistemidir: değişkenlerin, fonksiyon parametrelerinin ve nesnelerin hangi tür veri taşıdığı kodda önceden belirtilir.

Tarayıcılar TypeScript'i doğrudan çalıştıramaz. Kod önce bir derleyiciden (kodu başka bir dile çeviren program) geçer; tipler burada denetlenir ve çıktı olarak normal JavaScript üretilir. Böylece hataların önemli bir kısmı, site kullanıcıya ulaşmadan çok önce, daha yazım aşamasında yakalanır.

Büyük kod tabanlarında TypeScript fiilî standart hâline geldi: Angular tamamen TypeScript ile yazıldı; React, Vue ve Next.js de ona birinci sınıf destek sunar. Tipler canlı dokümantasyon görevi görür: projeye katılan bir geliştirici, her fonksiyonun neyi alıp neyi döndürdüğünü anında görür. Editörlerin otomatik tamamlama ve güvenli yeniden düzenleme (refactoring) yetenekleri de tipler sayesinde belirgin biçimde güçlenir.

İşletme açısından kazanım nettir: daha az hata, daha öngörülebilir bir geliştirme süreci ve daha düşük uzun vadeli bakım maliyeti. Site büyüdükçe yeni özellikler, mevcut bölümleri sessizce bozmadan eklenir. Bu yüzden profesyonel web stüdyolarının çoğu yeni projelere doğrudan TypeScript ile başlar.

İşletmeniz için ne anlama geliyor?

Siteniz TypeScript ile geliştirildiyse olası hataların büyük bölümü, kod ziyaretçilere ulaşmadan önce yakalanır. Bu da daha istikrarlı bir site, daha az acil müdahale ve gelecekteki güncellemelerin daha uygun maliyetle yapılması anlamına gelir.

SaytPro bunu nasıl kullanıyor?

SaytPro, tüm frontend çalışmalarını, Next.js ve React ile geliştirilen siteleri ve özel yönetim panellerini, TypeScript ile yazar. Python/Django backend API'sinden gelen veriler için tip tanımları oluşturulur; böylece frontend ile backend arasındaki uyumsuzluklar canlıya çıkmadan, geliştirme aşamasında ortaya çıkar.

Sık sorulan sorular

TypeScript, Microsoft'un 2012'de yayımladığı, JavaScript'e statik tip sistemi ekleyen açık kaynaklı bir programlama dilidir. Web sitelerinin ve web uygulamalarının kodunu daha güvenilir yazmak için kullanılır. Yazılan kod sonunda normal JavaScript'e derlenir ve her tarayıcıda çalışır.

Temel fark tip sistemidir: JavaScript'te bir değişkenin türü ancak kod çalışırken belli olur; TypeScript'te ise önceden yazılır ve kod çalıştırılmadan denetlenir. Bu sayede 'metin bekleniyordu, sayı geldi' türü hatalar daha yazım aşamasında yakalanır. Bunun dışında diller aynıdır: TypeScript, JavaScript'in üst kümesidir ve mevcut JavaScript kodu TypeScript dosyasında da geçerlidir.

Birkaç sayfalık küçük bir site veya kısa ömürlü bir prototip için normal JavaScript yeterlidir. Ancak proje büyüyecekse, ekipçe geliştirilecekse veya yıllarca bakımı yapılacaksa TypeScript daha akıllıca bir tercihtir: hatalar erken yakalanır, kodu değiştirmek güvenli hâle gelir. Modern framework'ler (Next.js, React) her iki seçeneği de tam destekler.

Evet, TypeScript tamamen ücretsizdir ve Apache-2.0 lisansıyla açık kaynaklıdır. Ticari projelerde kullanmak için hiçbir ödeme veya izin gerekmez. Geliştirmeyi Microsoft finanse eder, kaynak kodu GitHub'da açıktır.

JavaScript bilen bir geliştirici için TypeScript'in temellerini birkaç haftada öğrenmek gerçekçidir; söz diziminin büyük kısmı zaten tanıdıktır. Zorluk daha çok ileri tip yapılarında (generic'ler, koşullu tipler) ortaya çıkar, ama günlük işte bunlara nadiren ihtiyaç duyulur. Ayrıca tipler kademeli eklenebilir: tüm kodu bir anda değiştirmek gerekmez.

Teknik olarak mümkün ama önerilmez: TypeScript, JavaScript'in üzerine kuruludur ve onun tüm davranışlarını devralır. JavaScript temellerini (değişkenler, fonksiyonlar, asenkron kod) bilmeden tip sisteminin hangi sorunu çözdüğünü kavramak zordur. Pratikte ikisi paralel öğrenilir: önce JavaScript temelleri, sonra üzerine tipler.

Hayır, hiçbir tarayıcı TypeScript kodunu doğrudan çalıştırmaz. Kod önce derlenir, yani normal JavaScript'e çevrilir ve tarayıcıya bu JavaScript ulaşır. Süreç otomatiktir ve siteyi yavaşlatmaz; dönüşüm kullanıcının cihazında değil, derleme (build) aşamasında gerçekleşir.

Büyük bir kod tabanında en pahalı sorun, gizli hatalar ve değişiklik yaparken bir şeyleri bozma riskidir. TypeScript'in tip denetimi, binlerce dosyada bir değişikliğin neyi etkilediğini saniyeler içinde gösterir. Google'ın Angular framework'ü tamamen TypeScript ile yazılmıştır; React ve Vue ekosistemleri de onu birincil seçenek olarak destekler: bu yüzden kurumsal projelerde fiilî standarttır.

Evet, özellikle tip uyumsuzluğundan kaynaklanan hataları. Sektörde sık atıf yapılan 2017 tarihli 'To Type or Not to Type' araştırması, statik tiplerin halka açık JavaScript projelerindeki hataların yaklaşık %15'ini yakalayabileceğini gösterdi. Bu, tüm hataların yok olması demek değildir; ama en sık görülen hata sınıfı daha yazım aşamasında elenir, test ve düzeltme maliyetleri düşer.

Site sahibi olarak TypeScript'i doğrudan görmezsiniz ama sonucunu hissedersiniz: formlar, ödeme akışları ve yönetim paneli daha az hatayla çalışır. Siteye yeni özellik eklenirken mevcut bölümlerin bozulma riski azalır; bu da geliştirme bütçesini öngörülebilir kılar. Yüklenici değişse bile tipli kod, yeni ekip tarafından daha hızlı anlaşılır.

Evet, SaytPro tüm yeni frontend projelerini TypeScript ile yazar: Next.js ve React tabanlı kurumsal sitelerden özel yönetim panellerine kadar. Python/Django backend API'sinden gelen veriler için tip tanımları oluşturulur; böylece frontend ile backend arasındaki uyumsuzluklar daha geliştirme aşamasında görünür.

Bu teknoloji genellikle bunlarla birlikte çalışır.

Meta'nın kullanıcı arayüzleri oluşturmak için geliştirdiği açık kaynaklı JavaScript kütüphanesi.

  • Framework

Hızlı ve SEO dostu siteler için React tabanlı modern web framework'ü.

  • Framework

JavaScript'i tarayıcının dışına, sunucuya taşıyan çalışma ortamı.

  • Backend