Dart: JavaScript sevmeyenler için Google'dan bir hediye

2
tongucyumruk

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.

Görüşler

0
kakkoyun

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.

0
tongucyumruk

Ohh sonunda dişime göre bir yorum gelmiş bu konuda!

Öncelikle: Elm konusuna kesinlikle katılıyorum. Son dönemde Dart kullanmaktaki sebebim yaklaşık 3 saatlik çabanın ardından Elm'in son sürümünü derleyememiş olmam.

WebAssembly bu konuda tabi ki bir ümit, lakin henüz stabil olmamasının yanında kullanmak istenen dilin sadece WebAssembly'ye derlenmesi yeterli olmayacak. Eğer gerçekten X dili ile web uygulaması geliştirilecekse dilin WebAssembly'ye derlenebilir olmasının yanında Web Tarayıcı ile etkileşimi sağlayan bir kütüphane katmanı da gerekecek. Kısacası henüz WebAssembly'nin gitmesi gereken çok uzun bir yol, aşması gereken çok dağlar var diye düşünüyorum. Önümüzdeki günlerde/yıllarda yazılacak WebAssembly derleyicilerinin birbirleriyle ne kadar uyumlu kod çıkarabileceğini, Go ile yazıp WebAssembly'ye derlediğim uygulamanın içinden Python ile yazılmış bir kütüphaneyi çağırıp çağıramayacağımı görmek lazım.

Son olarak, React ile Dart iyi bir karşılaştırma değil diye düşünüyorum. React özünde bir JavaScript kütüphanesi, Dart ise bir programlama dili. React > Angular olabilir, lakin Dart ile React kullanmak da mümkün. React Natıve bildiğim bir alan değil, o yüzden bir kıyaslama yapamayacağım fakat JavaScript'i native koda derliyorlarsa oldukça şaşırırım.

0
hb

React native, render katmani olarak, DOM yerine platformdaki elemanlari kullaniyor, ornegin iOS icin UIView, vs. JS'yi native koda derlemiyor, JS'yi bindingler kullanarak calistiriyor diye biliyorum.

0
hb

Dart - WebAssembly konusu surada uzun uzun tartisilmis https://groups.google.com/a/dartlang.org/forum/#!topic/misc/szGdXdLrZM8%5B126-150%5D

TL;DR babinda derler ki

Like we said in the thread earlier, asm.js/wasm are good target languages for compiling C/C++, but not for high level languages. Dart is a high level language.

0
tongucyumruk

Bu arada Web Assembly Browser Preview duyuruldu.

0
tongucyumruk

Bu arada SASS derleyicisi de performans kaygıları sebebiyle Dart'a geçti.

0
tongucyumruk

Tüm videolar playlist olarak da yüklendi

Görüş belirtmek için giriş yapın...

İlgili Yazılar

Progressive Web App Dünyasına Giriş: Manifest

butch

Progressive Web App (PWA), Google'ın günümüz web uygulamalarının iyi birer mobil uygulamaya dönüşebilmesi için önerdiği özellikler çerçevesinde ortaya çıkan bir kavram. Tarihsel olarak Responsive Web'den sonra ortaya çıkan gelişme olarak anılacak ve görünen o ki web dünyasında bir büyük değişime daha tanıklık etmemize sebep olacak.

Bir PWA'nın temelde sahip olması gereken özellikler...

WhatsApp, Signal, BlackBerry Messenger ve Diğerleri: Hangisini Kullanmalı? Neden? #3

Zakkum

Bu yazıdaki değerlendirme ölçütlerinin en başında “güvenlik” geliyor, işlevsellik ve kalite ise daha sonra ama elbette önemliler. Kullanıcı bilgileri üzerinden para kazanma, gözetleme ve kötüye kullanma mekanizması olduğu sürece değerlendirme açısından güvenliği her zaman ilk sıraya koymak durumundayız. Güvenli derken neyi kastediyoruz, bunu açmamız şart.

Yalnızca anında mesajlaşma için değil...

Piwik – Açık Kaynak Kodlu Web Analytics Platformu

MuharremTuran

Piwik, 150 ülkede, 1.000.000'den fazla web sitesinin kullandığı, 50’den fazla dil desteği olan PHP / MySQL ile yazılmış, ücretsiz ve açık kaynak kodlu web analytics platformudur. Ziyaretçilerin sitenizi nasıl kullandığı, sitenize nasıl ulaştığı ve sitenizi tekrar ziyaret etmelerini nasıl sağlayabileceğiniz hakkında yol haritası çizmenize yardımcı olur. Web sitelerinize yapılan çevrimiçi...