Ne kadar tartışma çıkaracak olsa da en baştan açık ve net buraya yazmak istiyorum: Ben JavaScript denen dili sevmiyorum.
JavaScript'i sevemememin nedenleri başlıbaşına burada bir tartışma konusu olabilir ama onun yerine son dönemde bulduğum ilacı paylaşmak istedim: Dart.
Dart yeni bir programlama dili değil. Google tarafından ilk duyurulması 10 Ekim 2011 tarihine denk geliyor. Dart hayatına bir JavaScript alternatifi ile başlasa da çok uzun süre web programlama camiası içinde pek kabul görmedi. Geçen zaman içinde Angular gibi web geliştirme sistemlerinin yaygınlaşması ve JavaScript'in bir dil olarak bu platformlarda ne kadar yetersiz kaldığının açıkça görülmesinin ardından insanların başta Microsoft tarafından geliştirilen TypeScript olmak üzere alternatif dil arayışlarına girişmesi sonucunda Dart için de gün doğmuş oldu.
Sözdizimi olarak Java'ya olan benzerliği ile Java geliştiricilerinin dikkatini çeken Dart'ın kullanışlı dokümantasyonu sayesinde Java konusunda tecrübeli bir geliştirici oldukça hızlı bir şekilde Dart uygulamaları geliştirmeye başlayabiliyor.
Geçtiğimiz günlerde Münih'te düzenlenen Dart Developer Summit'te açıklanan yeniliklerin ardından Dart'ın popülaritesinin daha da artmasını beklemek yanlış olmaz. Kısaca bu yeniliklerin üzerinden geçmek gerekirse:
- Angular 2 Dart ve Angular 2 Dart Components: Angular 2 bildiğiniz gibi TypeScript ile geliştirilen bir platform. Her ne kadar platform TypeScript ile geliştirilse de Dart da doğrudan desteklenen diller arasındaydı. Konferansın ilk sunumunda yapılan duyuru ile Angular 2 Dart paketi stabil olarak duyurulmuş oldu. Bunun yanında duyurulan bir diğer paket ise Angular 2 Components paketi idi. Bu paket sayesinde Angular 2 ile geliştirdiğiniz uygulamanızda Google'ın Material Design elementlerini dilediğiniz gibi kullanmanız mümkün hale geldi.
- Angular 2 Performansı: Google'ın kendi web uygulamalarını da Dart'a taşımaya başlaması ile birlikte Angular 2 Dart'ta bir takım performans güncellemeleri uygulandı. Bunun sonucunda Angular 2 Dart ile geliştirilen en karmaşık kullanıcı arayüzlerinde dahi saniyede 60 kare'lik görüntüleme hızını yakalamak mümkün oluyor
- Flutter: Dart sadece web uygulamaları geliştirmek için kullanılan bir dil değil. Flutter sayesinde Dart ile Android ve iOS uygulamaları da geliştirmek mümkün. Üstelik bu uygulamalar bir WebView içerisine yerleştirilen HTML uygulamaları değil gayet o platformun anadiline derlenen ve o platformun arayüz elemanlarını kullanan uygulamalar oluyor. Dahası iki platform için ayrı ayrı kod yazmak gerekmediği için geliştirme süreci ve masrafları aşağı çekilmiş oluyor.
Bunun dışındaki sunumlarda pek çok başka tecrübe de aktarılan konferansın videoları pek yakında Google Developers YouTube kanalına yüklenecek. An itibariyle sadece ikinci günün canlı kayıtlarına ulaşılabiliyor.
Sizin görüşlerinize ne kadar saygı duysam da, bu konuda size katılamayacağım. Dart ölmüştür, umarım yakın zamanda JavaScript'te ona katılır.
Tarayıcı tarafı için katili "WebAssembly"'dir, bence.
https://www.chromestatus.com/feature/5453022515691520
http://v8project.blogspot.com.tr/2016/03/experimental-support-for-webassembly.html
http://v8project.blogspot.com.tr/2016/10/webassembly-browser-preview.html
Bundan sonra kimse kimsenin diline karışamayacak umarım tarayıcı tarafında. Ama illa başka bir kilise piskoposluğu yapılacak ise Elm (http://elm-lang.org) için yapılsın, zira hata mesajları için bile elleri kirletmeye değer.
Diğer yandan, Javascript sevmesem de, verdiğiniz örnekler Dart'ı kurtarmaya yetmeyecektir.
Zira,
React (https://facebook.github.io/react) > Angular, React Native (https://facebook.github.io/react-native) > Flutter.
Der ve köşeme çekilirim.
Saygılar.