JavaScript'imiz vardı, sonra Flash'ımız vardı, sonra Silverlight'ımız ve sonra HTML5'in hepsine sahibiz.
Peki TypeScript'in ardındaki motivasyon nedir? Hangi sorunlarla mücadele edilecek ve TypeScript ile ne gibi gelişmeler elde edeceğiz?
JavaScript'imiz vardı, sonra Flash'ımız vardı, sonra Silverlight'ımız ve sonra HTML5'in hepsine sahibiz.
Peki TypeScript'in ardındaki motivasyon nedir? Hangi sorunlarla mücadele edilecek ve TypeScript ile ne gibi gelişmeler elde edeceğiz?
Yanıtlar:
Bana JavaScript ile derlenen, statik olarak yazılmış, sınıf tabanlı bir dil gibi görünüyor. Bu iyi bir fikir ve başkalarının da sahip olduğu bir fikir .
Avantajlar, hem statik olarak yazılan, hem de sınıf tabanlı dillerde ve JavaScript'te geliştirilen herkes için açık olmalıdır:
Gördüğümüz gibi temel fikir çok iyi. Bunu söyledikten sonra, dil hakkında hiçbir şey söyleyemem çünkü onunla hiç deneyimim yok. Ancak Smart'ı kullandım (yukarıdakilere bağlı) ve bunu web geliştirme için inanılmaz derecede güçlü ve kullanışlı bir araç olarak buldum.
Görebildiğim kadarıyla TypeScript kullanmak için birkaç iyi neden var. Her şeyden önce, Mason Wheeler'ın dediği gibi, bir derleyici . Daha doğrusu bir derleyicinin yaptığı tüm kontroller. JSLint ve diğer araçlar yararlıdır, ancak bazı sorunları özler ve bazen basit yanlıştır. Bu "yeniliği" kesinlikle memnuniyetle karşılıyorum.
Daha sonra , okunabilirliği artıran ve doğru türleri uygulayan gerçek bir tip sistemi var . Sonuçta, bu gelişme hızını artırır.
Benim için en güzel şeylerden biri destek aletidir . Bu muhtemelen tip sisteminin bir yan etkisi, ancak yine de harika. Ve gerçekten gerekli, çünkü mevcut JavaScript araç-destek kullanışlı değildir.
TypeScript JavaScript'i genişletmeye çalışır . Derleyici gerçekten hoş bir JavaScript üretir. Buna ek olarak, ECMAScript 6 önerilerini takip eder . (Örneğin ok işlevi sözdizimi , parametre varsayılan değerleri , modüller vb.
Bu geçici modülleri ve sınıflar ile çalışan kolaylaştırır. JavaScript'te sınıflar ve modüller ile çalışmak gerçekten mümkündür ve oldukça yaygındır, ancak bir miktar kazan plakası kodu gerektirir. Ve okunması gerçekten kolay değil. TypeScript, Java veya C # gibi sınıf, arayüz ve modül ifadeleri yazmanıza izin verir, bu da bana sorarsanız çok daha kolaydır.
Ama sonuçta, hala sadece JavaScript . Yeni bir dil veya sözdizimi öğrenmeye gerek yoktur. Eklediği tek şey isteğe bağlı tip sistemdir (büyük ve gecikmiş).
Sonra "tanım kütüphanesi" var , yani tüm JavaScript kütüphanelerimi yeniden yazmadan ya da yama yapmadan kullanabiliyorum. Ancak, şimdi ek tip sistemi var.
Kesinlikle bir deneyin!
Son bir şey, HTML5 ve TypeScript arasında rekabet yoktur. Ama bu başka bir hikaye.
JavaScript'imiz vardı, sonra Flash'ımız vardı, sonra Silverlight'ımız ve sonra HTML5'in hepsine sahibiz.
Bu sadece doğru değil . Html5 onlara sahip değildir, multimedya kullanımını basitleştiren yeni işaretlemeler sunar ve yeni çağ tarayıcılarının avantajlarını araştırır (html oluştururken donanım hızlandırma kullanmak gibi).
Peki TypeScript'in ardındaki motivasyon nedir?
Motivasyonlar bunu kullanma nedenlerinden kaynaklanabilir. TypeScript'in tüm özellikleri: statik kontrol, sembol tabanlı gezinme, ifade tamamlama ve kod yeniden düzenleme, bunu dikkate almanın çok güçlü nedenleridir.
Ayrıca, sağlam bileşenler oluşturmanıza yardımcı olacak sınıflar, modüller ve arayüzler sunar. Bu özellikler, yüksek güvenilirliğe sahip uygulama geliştirme için geliştirme sırasında kullanılabilir, ancak basit JavaScript olarak derlenmiştir.
JS'ye derlenen yepyeni bir dil yerine javascript geliştirmeyi yönetmek için bir araç olarak değerlendirilebilir. Dart gibi bir sunucu tarafı geliştirme dili olmak istemez ve CoffeeScript gibi farklı bir sözdizimine sahip değildir. Popüler bir dil (ve çekirdek kütüphanesi) almak ve GWT veya script # gibi JS'ye derlemek istemedi. TypeScript, bir sonraki JS sürümü için önerilen aynı "sınıf" sözdizimini bile izler.
Bence web geliştirme çoğu bugün sadece müşteri tarafında, gerçek javascript kullanır yapılır. Dart, GWT gibi diller veya çerçeveler bunun için uygun değildir. Kahve tablasına giderseniz, yeni bir sözdizimi gelir. Hem kahve hem de JS'yi anlamalısınız. TypeScript, geliştiricileri türe özgü hatalardan (JS hatalarının büyük bir kısmı olan) koruyan ve geliştirme araçlarına geliştiricilerin niyeti hakkında daha fazla bilgi veren, JS'ye eritilmiş birkaç ekstra tür odaklı özellik eklerken.
Bu yaklaşım yeni değil. "Statik Yazma" bölümüne gidin
Bu makale sorgunuz- http://www.eweek.com/developer/microsoft-delivers-typescript-a-better-javascript-for-big-apps/
Paylaşılan, güvenilmez bir saçmalık parçasını (javascript), önemli projeler için kullanılabilecek özel bir dile dönüştürmek için bir çaba olduğunu düşünüyorum.
Benzer hedeflere sahip olan ancak javascript'i dilin bir parçası haline getirerek daha temiz bir yaklaşım benimseyen GWT ile karşılaştırılmalıdır; ve tarayıcıdan bağımsız olarak eksiksiz bir çalışma ortamı tanımlamak için çok temiz bir yaklaşım benimseyen Java uygulamaları veya Flash ile.
Fikriniz değişebilir, ancak bence (değişken, tutarsız) javascript uygulamalarını ve DOM modellerini yerel olarak sağlayan tarayıcılara bağlı olduğu sürece mahkumdur.