Google'ın Dart programlama dilinin şu anki durumu nedir? [kapalı]


15

Dart (internet yıllarında) çağlar boyunca çıktı, ancak Google Trendler'e göre çok fazla aldatmaca olmadı ve sadece Chrome'da çalıştığı gerçeği de yardımcı olmuyor. Bununla birlikte, Chrome her gün pazar payı kazanıyor ve bu da Dart'ı daha iyi görebilmeyi sağlıyor.

Şu anki büyük resim nedir? Dil hangi eyalettedir? İnsanlar buna çok değer veriyor mu? Pazar payı? Web Uygulaması vitrini? Sizi " kullanmam lazım " diye bazı uygulamalar var ?


2
Bu soru zaman içinde çok lokalize olarak değerlendirilebilir ve dilin kendisi hakkında görüş sormadan nasıl daha az yerelleştirileceğinden emin olmayabilir.
Matthieu

1
@Matthieu: Çok yerel mi? Ciddi anlamda?
Jim G.16

1
@JimG. : 0.06 sürümünde olan ve her ay güncellenen bir dil için, bu dilin önümüzdeki 6 ay içinde aynı olmayabileceğini ve bugün geçirilen herhangi bir yargının o zaman işe yaramayacağını söylemek doğru olur.
Matthieu

1
Dart, modern tarayıcılarda JavaScript'e derleyerek çalışır.
Seth Ladd

2
Bunun kapalı olmasının nedenini gerçekten anlamıyorum. Gerçekler (pazar payı / kullanım), referanslar (çevrimiçi örnekler vb.), Dilin bulunduğu durum (cevaplarda belirtildiği gibi teknik önizleme), özellik uygulamaları (olgu / referans / özel uzmanlık) gerektirir. Mesaj, beklediği bilgiye benzer bazı bilgiler sağlar, bu da açık ve özlüdür
Mihalis Bagos

Yanıtlar:


27

"Dart'ın durumu nedir?" is: Teknoloji Önizleme'de. Bu, "her şeyi açıp açık bir şekilde çalışabilmemiz için erken başlattık." Demenin özel bir yoludur. "Teknoloji önizlemesi" aynı zamanda "Alfa'da bile değiliz, yapacak çok işimiz var, ancak oynamak ve geri bildirimde bulunmak için yeterince şey var."

İnternet zamanı haberlerde veya tüketici ürün yinelemelerinde işe yarayabilir, ancak muhtemelen Dart çabası kadar iddialı ve geniş bir şey için işe yaramayabilir. Unutmayın, Dart sadece bir dilden daha fazlasıdır. Ayrıca bir dizi kitaplık, daha iyi bir DOM arayüzü, bir sanal makine, bir Editör ve Chrome ile entegrasyon. Takım çok sayıda paralel iş parçacığı üzerinde çok çalışıyor, ancak şahsen parçaların çoğunun yerleştirilmesinden önce altı ay olacağını düşünüyorum.

Dart'ın yalnızca Chrome'da çalıştığı doğru değil. Dart, JavaScript'i derler ve modern tarayıcıları hedefler. Tabii, Chrome, yerel Dart desteği ile ilk lansman olacak, ancak Dart'ın performans ve etkili JavaScript için derlenmesini sağlamak, projenin temel bir kısıtlaması ve özelliğidir.

Büyük resim, Dart'ın modern web uygulamaları için bir "pil içerir" geliştirme ortamı olacağıdır. Dart'ın sürüş hedefi, web'in uygulama geliştirme ve dağıtımı için verimli ve keyifli bir platform olarak kalmasına yardımcı olmaktır. Bu, birçok parçanın yerine oturması gerektiği anlamına gelir: dil, kütüphaneler, editörler, sanal makineler ve tarayıcı entegrasyonu. Hepsini bir araya getirirsek, Dart'ın modern web uygulaması geliştiricileri için zorlayıcı bir seçenek olacağına inanıyoruz.

Büyük büyük BÜYÜK resim, uygulama geliştiricilerini web'e getirmek istiyoruz ve web geliştiricilerinin daha karmaşık web uygulamaları yazmasını istiyoruz. Dart kullanıyorlarsa, bu harika. Ancak günün sonunda, dil önemli değil. Önemli olan tek şey karmaşık, istemci tarafı, yüksek sadakat, düşük gecikme süresi, güzel modern web uygulamalarının inşa edilmesidir.

Dil gelişim halindedir. Spesifikasyonun ayda yaklaşık bir kez yeni sürümlerini görüyoruz. Yansıma gibi ana özellikler eksik, ama yinelemeye devam ediyoruz. Örneğin, Koleksiyona az önce map () desteği ekledik. Dillerini bilen Gilad Bracha (NewSpeak'i yaratan ve Java Lang Spec üzerinde çalıştı) ve kütüphanelerini bilen (Etkili Java yazmış ve Java Koleksiyonu kitaplıkları üzerinde çalışan) bir adam olan Josh Bloch dil üzerinde çalışıyor ve kütüphaneler, büyük ekiple birlikte.

Dart'ın yüksek düzeyde genelleştirilmesinin zor olduğunu düşünüyor musunuz ve muhtemelen sizin için çok fazla önemli değil. Dart ile oynadıktan sonra kendi sonuçlarınızı çıkarmalısınız. Deneyimlerim, Java, C # veya Flex gibi diğer platformlardaki uygulama geliştiricilerinin Dart'ı çekici ve tanıdık bulmasıdır. JavaScript geliştiricileriyle olan deneyimim bölündü. Bu JavaScript geliştiricisi de diğer platformlarda uygulamalar oluşturduysa, Dart (veya en azından sağlamaya çalıştığı çözüm) konusunda ihtiyatlı iyimserdirler. Bu JavaScript geliştiricisi JavaScript'te büyüdüyse ve yalnızca JavaScript'te programladıysa, daha fazla tereddüt var. Bu, dil ile ilgili temel bir endişe veya bir rahatlık bölgesinden ayrılmakta tereddüt etmek veya sadece JavaScript ile son durumlara girmemek olabilir. Bu sadece genelleme, ama ben

Pazar payına gelince, oyunun son derece erken. Dart bile nakliye olmadığından sormak muhtemelen doğru soru değildir. Daha ilginç bir soru, "Web'deki uygulamaların pazar payı nedir?" ve sonra bunu nasıl çözebileceğimizi anlayın.

Bir Web Uygulaması vitrine gelince, Dart ekibi kaygan bir haber okuyucusu olan Swarm'ı inşa etti. Ne yazık ki, şu anda sadece kaynak kodda var: http://www.dartlang.org/samples/index.html

Bazı "katil" özelliklere gelince, oldukça ilginç birkaç tane olduğunu söyleyebilirim:

  • isteğe bağlı türler kaygan, insanlar ve makineler için ek açıklamalar ve belgeler ekliyorlar.
  • İzolatlar, eşzamanlılığı güvenli bir şekilde elde etmenin harika bir yoludur.
  • Kütüphaneler (modülerlik) web yığını için şiddetle gereklidir ve Dart'ın kütüphaneleri ve sınıfları vardır.
  • Anlık görüntüler son derece hızlı bir şekilde başlatılmasını sağlar
  • Birlikte verilen kitaplıklar (koleksiyonlar, Kronometre vb.) Kod tabanlarını birleştirir ve gönderilebilir kodu küçültür
  • DOM ile çalışmayı çok daha keyifli hale getiren güzel yeni DOM arayüzü. Yerel Dart kodu gibi geliyor.

Umarım sorularına cevap verdim. Bence önemli olan tek soru, "Dilim karmaşık, yüksek sadakat, düşük gecikme süresi, modüler, modern web uygulamaları geliştirmeme yardımcı oluyor mu?" Tüm bunların son hali, daha fazla uygulama geliştiricisinin modern web'e daha başarılı uygulamalar sunmasına yardımcı olmaktır.


videonuzu izlerken bu konuya geldi Introduction to Dart. Dart uygulamasına hazır. :)
SachinGutte

8

"İnternet yıllarında" programlama dili yaşını ölçemezsiniz. Aslında, internet yıllarında gerçek bir teknolojiyi ölçemezsiniz. İnternet yıllarında gerçekten ölçebileceğiniz tek şey hiperdir, ancak hipes gerçeği yansıtmaz.

Dart 3 aydan beri halka açık. Bunu, sırasıyla 2 yıldan beri ve neredeyse 3 yıldır halka açık olan CoffeeScript veya Node.js gibi alandaki "taze" ve "sıcak" tekniklerle karşılaştırın. Ayrıca, her ikisinin de Dart ile karşılaştırıldığında nispeten küçük adımlar olduğunu belirtmek gerekir. Temel olarak CoffeeScript, bir JavaScript jeneratörünün Ruby tabanlı bir ayrıştırıcıya bağlanması ve Node.js'nin engellemeyen G / Ç'nin Google V8'e bağlanması anlamına geliyordu.

Dart, sözdizimi, dil özellikleri, çalışma ortamı, API'ler gibi tüm düzeylerde ön uç web programlamayı yeniden tasarlama girişimidir. Örneğin Dart ile CoffeeScript karşılaştırması, güneş enerjisi ile çalışan, otomatik pilotlu kişisel bir uçağın prototipini 1968 Shelby GT ile karşılaştırmaya benzer. Elbette, birincisinin çok daha fazla potansiyeli var, ancak yatırım yapmak, biniş yapmadan çok fazla cesaret gerektiriyor. İkincisinin birçok bilinen eksikliği vardır, ancak bilinirler, bu da her şeyi öngörülebilir ve güvenilir kılar.

Tabii ki bu sadece spekülasyon, ama bence Dart sonunda JavaScript'i ileriye taşımak veya diğer çözümler için kurtarılacak bir çıkmaz sokak. Dinamik bir dil istiyorsanız, CoffeeScript ve Parenscript Dart'ın vaat ettiklerini zaten yapıyor. Statik olarak yazılan bir dili tercih ederseniz, haXe ve Opa hile yapacaktır. Dördü de Dart'a başlar. Ve hepsi sadece bir yedek olarak değil, varsayılan olarak JavaScript'e derlenecek şekilde tasarlanmıştır.


3
Dart'ın yeni bir dil olmasına rağmen bunda özellikle yenilikçi bir şey görmedim . Anlayabildiğim kadarıyla, çoğunlukla eski dillerdeki özelliklerden oluşuyor. Yani bu gerçekten bir "güneş enerjisiyle çalışan, otomatik pilotlu kişisel uçağın prototipi" gibi değil.
Tikhon Jelvis

@ back2dos +1 "" İnternet yıllarında "programlama dili yaşını ölçemezsiniz. Aslında, internet yıllarında gerçek bir teknolojiyi ölçemezsiniz." Bu benim düşünmem için yeni bir fikir açtı. İnternet öncesi ve sonrası dönemlerde teknoloji neden ölçülemez ve nasıl ölçülebilir?
Ubermensch

@TikhonJelvis: Karşılaştırma daha çok olgunluk hakkındaydı. Yine de, güneş enerjisi, otomatik pilotluk ve havacılık var, bu yüzden tarif ettiğim araç Dart'a benzer, sadece mevcut fikirlerin bir birleşimi. Mühendisliğin zorluğu, yeniden birleştirmek değil, uçmasını sağlamaktır;)
back2dos

Dart'ın diğer dillerle karşılaştırılması bu tartışmadan uzaktır ve yine de farklı şeyler oldukları için herhangi bir tartışmayı hayal edebildiğim kadarıyla. Dart bir ön işlemciden daha fazlasıdır ve kesinlikle sunucu yönelimli değildir. Yine de dart'ın geleceği hakkındaki spekülasyonları kabul ediyorum ve bu cevaplanmayı dört gözle beklediğim şeylerden biri
Mihalis Bagos

@MihalisBagos: o kadar Eh, Dart JS için derlemek beri, sen zaten node.js üzerinde çalıştırabilir edebilirsiniz sunucu tarafında kullanılabilir. Ayrıca, zamanın anlamlı bir şekilde ölçülmesi zordur, bu nedenle Dart'ın hangi zamanda ne kadar ileri gidebileceğini anlamak için, daha ileri bir aşamada belirli bir dile kıyasla, anlaşılabilir sayıda özellik ile karşılaştırmak, alabileceğiniz en iyi referans çerçevesidir.
back2dos

5

Dart hala teknik önizlemede. Dil spesifikasyonunun 0.0.6 sürümüne sahip olduğu anda, bu hafta bir yerde 0.0.7 olması bekleniyor. "Tam" olmaktan uzaktır. Havuzda birkaç örnek vardır: http://www.dartlang.org/samples/index.html

İşte JavaScript daha sözdizimi açısından iyidir ne bir görünümdür: http://www.grobmeier.de/10-reasons-why-dart-is-cooler-than-javascript-03012012.html Yasal Uyarı: bu benim görev yerim . Burada JavaScript'i sevdiğimi söylemeliyim, ancak bazı noktalarda çok sevmediğim tuhaflıklar var.

Çevresinde de büyüyen bir topluluk var: http://www.dartosphere.org

Bazı insanlar Box2D'yi CouchDB'ye bağlı başka bir adam olan Dart'a taşımayı başardılar. Her neyse, üretimde kullanmanız gereken hiçbir şey yok.

Bir süre önce Josh Blochua, API'nın yeniden düzenlenmesi üzerinde çalışmak için ekibe katıldı. Temel API'da bile bazı değişiklikler bekleyebilirsiniz.

Tarayıcı desteği: Dart'ı JavaScript'e, tercihen Frog ile (DartC değil, büyük javascript dosyalarına derler) dönüştürebilirsiniz. Dartium, yerel Dart'ı destekleyen tarayıcılardan biridir, tartışılan bir Webkit şubesi de bir yerdedir.

Kişisel beklentim, gelecek yılın ortasında daha somut bir şey elde etmektir. Deneyimlerime göre Google Devs, dili sadece Java'dan değil, Erlang ve JavaScript'ten de ödünç alarak düzgün ve iyi yapmak için çok şey yapıyor.

İşte bir örnek, JavaScript'ten taşınan bir oyun: http://blog.sethladd.com/2011/12/10-lessons-from-porting-javascript-to.html

Dart'ın Android'e, belki de bir "ana dil" olarak gelmesini bekleyebilirsiniz. İnsanlar bunun AppEngine'a geleceğini söylüyor.

Şahsen Dart'ın çok zarif ve zaten oldukça güzel olduğunu düşünüyorum. Ayrıca tamamlandıktan sonra bir markethare olacak sanırım.

Sorularınızın çoğunu bu SSS bölümünde bulabilirsiniz: http://www.dartlang.org/support/faq.html#compare-to-coffeescript


Pratik odaklı cevap için teşekkürler, çok ilginç bağlantılar!
Mihalis Bagos

0

Dart uzun zamandır yayında (internet yıllarında)

Yoğun olarak kullanılmaz ve olgunlaşmaz. Üretime hazır teknolojiler 10-15 + yıldır var ... Dart için bunun bir alfa öncesi olduğunu bile söyleyemezsiniz. Hiç kimse kullanmadığında yeni teknolojiler kağıt üzerinde her zaman iyi görünür.

çok fazla aldatmaca almamış

Bence tam tersi. Böyle kötü, geri bir dil çok olumlu eleştiriler var bir utanç. Parazitik kalıtım, kapanışlar ve geri çağrılar ile güzel Ecma / Java Script OOP'tan Java'nın geldiği tüm korkunç programlama uygulamalarıyla Java'dan alınan bazı ahşap, on yıllık eski OOP'ye geri dönüyor.

Sizi "kullanmam lazım" diye bazı uygulamalar var mı?

Yok. Java biliyor ve Ecma / JavaScript düzgün öğrenmek için bilgi hoşgörüsüz varsa Dart muhtemelen sizin için çalışacak tek şeydir.

Google'ın nasıl çalıştığını biliyorsunuz. Java'yı çok kullanıyorlar, bu yüzden muhtemelen bu kadar korkunç bir dil ürettiler ... sadece buna alışkınlar.

Yanında web daha parçalama ve ben sadece Mozilla ve Opera asla bunu uygulamak umuyoruz (MS emin bazı google java gibi bir dil için destek eklemek olmaz çünkü). Tüm kavramın TARİHİ yanında, en azından kullanıcı arayüzlerini kodlarken C ++ veya Java gibi dillerden kurtulmalıyız çünkü bunlar çok etkisizdir. C ++ 'ı Assembler ile değiştirmek gibi, çünkü 50'li yılların sonundaki kodlayıcılar yeni şeyler öğrenmeyi reddediyor.


2
Dil yanlılıklarınızı biraz azaltmak isteyebilirsiniz; ilk paragrafınız iyi bir özet oluşturur ve güzel bir gözlemle sonuçlanırsınız ancak bunlar "korkunç" da kaybolur.
Patrick Hughes

Tonlamada +1, c ++ belirli uygulamalar için hala çok canlı (montajcı gibi). Her iş için en iyi araç olmayabilir, ancak birçok durumda harika. Assembler, örneğin inandığım oyun motorlarında kullanılıyor.
Paul Hiemstra

Java veya C ++ kötü olduğunu söylemedim ... her ikisi de JS (öncelikle) programlamak için kullanılan kullanıcı arabirimleri için kötü. Her ikisi de diğer alanlarda iyidir. Dart, sadece Java'da program yapan insanlar tarafından sadece naif bir yaklaşımdır, bu yüzden muhtemelen Java'nın her şey için iyi olduğunu düşünürler. Yanında ben MFC ve Java ile UIs üzerinde çalıştı bu yüzden im söyleme hakkını düşünüyorum :) Assembler C daha gelişmiş olduğunu söylemek gibi çünkü bildiğiniz her şey ASM :)
Slawek

Java ve JavaScript ile çalıştım ve yayınınızın korkunç ve naif olduğunu söyleyebilirim. Programlama dilleri din değildir ve Dart'ın oldukça iyi bir yaklaşımı vardır. Java gibi dillerden kurtulabileceğimizi ya da kurtarabileceğimizi sanmıyorum. Bu sadece herhangi bir gerekçe olmadan hacker-konuşma.
Hıristiyan

Muhakeme? JS'de Java'da da aynı şeyi yapabilirsiniz ... UI'lerden bahsediyorsak, sadece birkaç TIMES daha hızlı + kodun yönetilmesi ve değiştirilmesi çok daha kolay. Zaman = Para. Tarayıcılarda VBScript ve ECma birlikte olduğunda yeterince kötüydü ... neden 90'lara geri dönelim? JS, çok özel bir durum için özel bir dildir, neden onu genel ve berbat bir şeyle değiştirmelisiniz?
Slawek

0

Dart, Javascript'in ayak izlerini takip eden kusurlu bir kavramdır. Google, web tarayıcıları için standart bir çalışma zamanı (HTML 6 gibi) oluşturma konusunda işbirliği yapmalıdır. Java bayt koduna veya microsoft'un IL'sine benzer.

Belirli dillerde değil, çalışma zamanlarında standardize olmalıyız. "Tarayıcı bir işletim sistemidir". Sağ? WTF Google? Kendi vizyonunu takip et !!!


2
Java bytecode olan belirli bir dil. CIL gibi.
Jörg W Mittag
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.