2016-05-25 7 views
15

arasındaki temel farklar nelerdir .Ben typescript muhtemelen Angular2 içine almak istiyor, ama ben Babil baktığınızda typescript çok benziyor birisi için daha iyi bir seçim yapar Angular2, yazmak için kullanıldığını biliyoruz Babel ve typescript

Birçok iyi bilinen şirketin Babel'e yapıştığını fark ettim.

bazı sorular:

  1. birbirlerine üzerinde ne gibi avantajlar var?
  2. Proje/geliştirici için daha iyi veya daha kötü seçim hangisi?
  3. Aralarındaki önemli farklar nelerdir ve onları benzersiz kılan nedir?
+3

Bir bakışta bile tamamen farklı araçlar oldukları açıktır. Bu soruyu, her biri için 15 dakikalık bir girişe yatırım yaparak yanıtlayabilirsiniz. – Marty

+1

TypeScript bir dildir, Babel bir araçtır (ES6'ya bir dil, ES5'e dönüştürmek için). – deceze

+3

@Marty İki derleyici rekabet ediyor, bu soru meşru. – Paleo

cevap

29

TypeScript, basit JavaScript (ES3 +) ile derlenen JavaScript'in bir üst kümesidir. TypeScript'in temel amacı, geliştiricilerin mükemmel statik yazım yeteneklerini kullanabilmelerini sağlamaktır. . Bu gibi özellikleri yararlanacak büyük uygulamalar için uygundur. & tür kesmesi

  • Tip ek açıklamalar
  • Jenerik ES6 içinde
  • arabirimleri, çeteleler, ad, modülleri ve sınıfları (son iki mevcuttur.)
  • Güvenli refactoring.

Bildiğim kadarıyla farkındayım olarak, Babel sadece "transpiles" yeni ECMAScript eski ECMAScript ortamlar tarafından desteklenen bir biçime aşağı sahiptir. Daha yeni dil özellikleri kullanarak düz JavaScript yazmak isteyen geliştiriciler için uygundur.

+0

bu, TypeScript'in hem ES6'dan ES3 + transpiler'e hem de javascript'in bir üst kümesinin javascript'e biraz yetenek eklediği anlamına gelirken, Bable yalnızca ES6'yı ES5'e aktarıyor mu? – Teebo

+0

@Teebo Evet, bu doğru. –

+1

Ve şimdi Typescript düz eski Javascript destekler, bu yüzden artık babel kullanmak için gerçekten hiçbir NOAS vardır. – JoyalToTheWorld

13

Açısal 2 geliştiriciden biri olan Victor Savkin, diğer teknolojilerden neden Türleri seçtiklerini anlatıyor.

http://victorsavkin.com/post/123555572351/writing-angular-2-in-typescript

son bölüm Neden typescript?

"Devs frontend için mevcut seçenekler bugün bir sürü vardır:? ES5, ES6 (Babel), typescript, Dart, PureScript, Karaağaç, vs .. Peki neden typescript

en ES5 ile başlayalım ES5. TypeScript'e göre önemli bir avantajı vardır: bir transpeyra gerektirmez.Bu yapı kurulumunuzu basit bir şekilde saklamanıza izin verir.Oturucu izleyicileri, transpile kodunu kurmanıza, kaynak haritaları oluşturmanıza gerek yoktur.Çok küçük projeler için tüm kodudur gelişmiş üstlenmeden ve navigasyon yetenekleri typescript ağır basar basitlik. sadece bilmek sağlar ve ne yaptığını.

ES6 bir transpiler gerektirir, bu nedenle bu ild kurulumu, TypeScript'ten çok farklı olmayacaktır. Ama bu bir standart, yani her bir editör ve derleme aracının ES6'yı desteklediği ya da destekleyeceği anlamına geliyor.

Elm ve PureScript typescript can daha programınız hakkında çok daha fazla ispat güçlü tip sistemlerle zarif dillerdir. Elm ve PureScript'te yazılmış kodlar, ES5'te yazılmış benzer kodlardan çok daha fazla olabilir. Bu seçeneklerden

Her artıları ve eksileri var ama typescript çoğu projeler için mükemmel bir seçim yapar tatlı bir noktada olduğunu düşünüyorum. TypeScript, statik olarak iyi yazılmış bir dilin yararlılığının% 95'ini alır ve onu JavaScript ekosistemine taşır. Hala ES6 yazıyormuş gibi hissediyorsunuz: Aynı standart kitaplığı, aynı üçüncü taraf kitaplıklarını, aynı deyimleri ve aynı araçların çoğunu kullanmaya devam edersiniz (ör. Chrome araçları). JavaScript ekosisteminden sizi zorlamadan size çok şey kazandırır. "