Dart gibt es schon seit Ewigkeiten (im Internet), aber nach Google Trends hat es nicht viel Aufsehen erregt, und die Tatsache, dass es nur in Chrome funktioniert, hilft auch nichts. Trotzdem gewinnt Chrome jeden Tag Marktanteile, was zu einer besseren Sicht auf Dart führt.
Was ist jetzt das große Ganze? In welchem Zustand befindet sich die Sprache? Schätzen die Leute das sehr? Marktanteil? Web App Schaufenster? Einige Feature-Implementierungen, die Sie dazu bringen, "Ich muss es verwenden"?
Antworten:
Die kurze Antwort auf "Wie ist der Zustand von Dart?" ist: es ist in der Technologie-Vorschau. Das ist eine besondere Art zu sagen: "Wir haben frühzeitig gestartet, damit wir alles als Open Source anbieten und offen arbeiten können." "Technologie-Vorschau" bedeutet auch, "wir sind noch nicht einmal in Alpha, wir haben noch viel zu tun, aber es gibt genug für Sie, um damit zu spielen und Feedback zu geben."
Die Internet-Zeit funktioniert möglicherweise für Nachrichten oder Konsumgüteriterationen, aber wahrscheinlich nicht für etwas, das so ehrgeizig und umfassend ist wie die Dart-Bemühungen. Denken Sie daran, Dart ist mehr als nur eine Sprache. Es ist auch eine Reihe von Bibliotheken, eine bessere DOM-Oberfläche, eine virtuelle Maschine, ein Editor und die Integration mit Chrome. Das Team arbeitet sehr hart an vielen parallelen Themen, aber ich persönlich gehe davon aus, dass es sechs Monate dauern wird, bis wir die meisten Teile fertig haben.
Es ist nicht wahr, dass Dart nur in Chrome funktioniert. Dart wird in JavaScript kompiliert und zielt auf moderne Browser ab. Sicher, Chrome wird das erste Programm sein, das native Dart-Unterstützung bietet. Es ist jedoch eine wesentliche Einschränkung und Funktion des Projekts, sicherzustellen, dass Dart mit performantem und effektivem JavaScript kompiliert wird.
Das große Ganze ist, dass Dart eine Entwicklungsumgebung für moderne Web-Apps sein wird, die "Batterien einschließt". Darts Hauptziel ist es, sicherzustellen, dass das Web eine produktive und unterhaltsame Plattform für die Entwicklung und Bereitstellung von Apps bleibt. Dies bedeutet, dass viele Elemente zusammenpassen müssen: Sprache, Bibliotheken, Editoren, virtuelle Maschinen und Browserintegration. Alles in allem glauben wir, dass Dart eine überzeugende Option für moderne Web-App-Entwickler sein wird.
Das große große BIG-Bild ist, dass wir App-Entwickler ins Web bringen und Web-Entwickler komplexere Web-Apps schreiben sollen. Wenn sie Dart benutzen, ist das großartig. Aber am Ende des Tages spielt die Sprache keine Rolle. Das einzige, was zählt, ist die Tatsache, dass komplexe, clientseitige, High-Fidelity-, niedrige Latenz und schöne, moderne Web-Apps erstellt werden.
Die Sprache befindet sich im Entwicklungsstadium. Wir sehen ungefähr einmal im Monat neue Versionen dieser Spezifikation. Hauptmerkmale fehlen, wie z. B. Reflexion, aber wir iterieren weiter. Wir haben zum Beispiel die Unterstützung von map () zu Collection hinzugefügt. Gilad Bracha, ein Typ, der seine Sprachen kennt (NewSpeak erstellt und an der Java Lang Spec gearbeitet hat) und Josh Bloch, ein Typ, der seine Bibliotheken kennt (Effective Java geschrieben und an den Java Collection-Bibliotheken gearbeitet hat), arbeiten an der Sprache und Bibliotheken, zusammen mit dem größeren Team.
Ist es schwer, Leute zu verallgemeinern, die Dart hoch schätzen, und es ist für Sie wahrscheinlich nicht so wichtig? Sie sollten Ihre eigenen Schlussfolgerungen ziehen, nachdem Sie mit Dart gespielt haben. Ich habe die Erfahrung gemacht, dass App-Entwickler von anderen Plattformen wie Java, C # oder Flex Dart attraktiv und vertraut finden. Meine Erfahrung mit JavaScript-Entwicklern ist geteilt. Wenn dieser JavaScript-Entwickler Apps auch auf anderen Plattformen erstellt hat, sind sie in Bezug auf Dart (oder zumindest die Lösung, die er anbieten möchte) vorsichtig optimistisch. Wenn dieser JavaScript-Entwickler mit JavaScript aufgewachsen ist und nur JavaScript programmiert hat, gibt es mehr Bedenken. Dies kann ein grundlegendes Problem in Bezug auf die Sprache sein, oder es kann sein, dass Sie zögern, eine Komfortzone zu verlassen, oder dass Sie mit JavaScript einfach nicht auf Randfälle stoßen. Dies ist nur eine Verallgemeinerung, aber ich '
Was den Marktanteil betrifft, ist es extrem früh im Spiel. Es ist wahrscheinlich nicht die richtige Frage, da Dart nicht einmal versendet. Eine interessantere Frage wäre: "Wie hoch ist der Marktanteil von Apps im Web?" und dann finde heraus, wie wir das angehen können.
Für eine Web-App-Präsentation baute das Dart-Team Swarm, einen cleveren Newsreader. Leider haben wir es momentan nur im Quellcode: http://www.dartlang.org/samples/index.html
Für einige "Killer" -Funktionen würde ich sagen, dass es ein paar ziemlich interessante gibt:
Ich hoffe ich habe deine Fragen beantwortet. Ich denke, die einzige Frage, die zählt, ist: "Hilft mir meine Sprache, komplexe, moderne Web-Apps mit hoher Wiedergabetreue und geringer Latenz zu erstellen?" Der Endzustand all dessen besteht einfach darin, mehr App-Entwicklern dabei zu helfen, erfolgreichere Apps für das moderne Web bereitzustellen.
quelle
Introduction to Dart
. Bereit für ein paar praktische Übungen mit Dart. :)Das Programmiersprachenalter kann nicht in "Internetjahren" gemessen werden. Tatsächlich kann man in Internetjahren keine tatsächliche Technologie messen. Alles, was man in Internetjahren wirklich messen kann, sind Hypes, aber Hypes spiegeln nicht die Realität wider.
Dart ist seit 3 Monaten öffentlich. Vergleichen Sie das mit den "frischen" und "heißen" Technologien auf dem Gebiet, wie CoffeeScript oder Node.js, die seit 2 Jahren bzw. fast 3 Jahren öffentlich sind. Es ist auch erwähnenswert, dass beide im Vergleich zu Dart relativ kleine Schritte sind. Grundsätzlich bedeutete CoffeeScript, einen JavaScript-Generator in einen Ruby-basierten Parser einzubinden, und Node.js, nicht blockierende E / A an Google V8 zu binden.
Dart ist ein Versuch, die Front-End-Webprogrammierung auf allen Ebenen neu zu gestalten, z. B. in Bezug auf Syntax, Sprachfunktionen, Laufzeitumgebung und APIs. Der Vergleich von Dart mit CoffeeScript ist beispielsweise der Vergleich eines Prototyps eines mit Solarenergie betriebenen, selbstgesteuerten Privatflugzeugs mit einem Shelby GT von 1968. Sicher, ersteres hat weitaus mehr Potenzial, aber in es zu investieren, geschweige denn es zu besteigen, erfordert viel Kühnheit. Letzteres hat viele bekannte Mängel, aber sie sind bekannt, was das Ganze vorhersehbar und zuverlässig macht.
Das ist natürlich nur Spekulation, aber ich denke, Dart ist eine Sackgasse, die irgendwann gerettet wird, um JavaScript oder andere Lösungen voranzutreiben. Wenn Sie eine dynamische Sprache wünschen, halten CoffeeScript und Parenscript bereits, was Dart verspricht. Wenn Sie eher eine statisch typisierte Sprache bevorzugen, werden haXe und Opa den Trick machen. Alle vier haben einen Vorsprung auf Dart. Und alle sind so konzipiert, dass sie standardmäßig mit JavaScript kompiliert werden und nicht nur als Fallback.
quelle
Dart ist noch in der technischen Vorschau. Momentan hat die Sprachspezifikation die Version 0.0.6, eine 0.0.7 wird diese Woche irgendwo erwartet. Es ist alles andere als "vollständig". Das Repository enthält mehrere Beispiele: http://www.dartlang.org/samples/index.html
Hier ist eine Ansicht darüber, was in Bezug auf die Syntax besser ist als in JavaScript: http://www.grobmeier.de/10-reasons-why-dart-is-cooler-than-javascript-03012012.html Haftungsausschluss: Dies ist mein Beitrag . Ich muss hier sagen, ich mag JavaScript, aber an einigen Stellen hat es Macken, die ich nicht sehr mag.
Es gibt auch eine wachsende Community: http://www.dartosphere.org
Einige Leute haben es geschafft, Box2D nach Dart zu portieren, ein anderer Typ, der mit CouchDB verbunden ist. Es gibt sowieso nichts, was Sie in der Produktion verwenden sollten.
Vor einiger Zeit hat Josh Blochua sich dem Team angeschlossen, um an einem Refactoring der API zu arbeiten. Sie können einige Änderungen auch in der Core-API erwarten.
Browser-Unterstützung: Sie können Dart in JavaScript umwandeln, vorzugsweise mit Frog (nicht DartC, es wird in riesige Javascript-Dateien übersetzt). Dartium ist einer der Browser, die natives Dart unterstützen, ein umstrittener Webkit-Zweig ist auch irgendwo.
Meine persönliche Erwartung ist es, Mitte nächsten Jahres etwas konkreter zu werden. Meiner Erfahrung nach tun Google Devs eine Menge, um die Sprache richtig und gut zu machen, und leihen nicht nur Java, sondern auch Erlang und JavaScript aus.
Hier ist ein Beispiel für ein Spiel, das mit JavaScript portiert wurde: http://blog.sethladd.com/2011/12/10-lessons-from-porting-javascript-to.html
Man kann damit rechnen, dass Dart bei Android ankommt, vielleicht sogar als "Hauptsprache". Die Leute sagen, es wird zu AppEngine kommen.
Ich persönlich finde Dart sehr elegant und schon ziemlich nett. Außerdem denke ich, dass es einen Marktanteil geben wird, wenn es fertig ist.
Viele Ihrer Fragen werden in dieser FAQ beantwortet: http://www.dartlang.org/support/faq.html#compare-to-coffeescript
quelle
Es wird nicht einmal ausgiebig genutzt und ist noch nicht ausgereift. Produktionsbereite Technologien gibt es seit über 10-15 Jahren ... für Dart kann man nicht einmal sagen, dass es ein Pre-Alpha ist. Neue Technologien sehen auf dem Papier immer gut aus, wenn niemand sie verwendet.
Ich denke das Gegenteil. Es ist eine Schande, dass eine so schlechte, rückständige Sprache so positive Kritiken bekommen hat. Es geht zurück vom wunderschönen Ecma / Java Script OOP mit parasitärer Vererbung, Schließungen und Rückrufen zu einigen hölzernen, jahrzehntelangen OOPs, die aus Java mit allen schrecklichen Programmierpraktiken stammen, die Java mit sich bringt.
Keiner. Wenn Sie Java kennen und nicht wissen, wie man Ecma / JavaScript richtig lernt, ist Dart wahrscheinlich das einzige, was für Sie funktioniert.
Sie wissen, wie Google funktioniert. Sie benutzen Java sehr oft, deshalb haben sie wahrscheinlich eine so schreckliche Sprache produziert ... sie sind nur daran gewöhnt.
Außerdem fragmentiert es das Web weiter und ich kann nur hoffen, dass Mozilla und Opera dies nie implementieren (weil MS mit Sicherheit keine Unterstützung für eine Google Java-ähnliche Sprache hinzufügen wird). Abgesehen davon, dass das gesamte Konzept DATED ist, sollten wir Sprachen wie C ++ oder Java zumindest beim Codieren von Benutzeroberflächen loswerden, da diese sehr ineffektiv sind. Es ist wie das Ersetzen von C ++ durch Assembler, weil Programmierer Ende 50 sich weigern, neue Dinge zu lernen.
quelle
Dart ist ein fehlerhaftes Konzept, das in die Fußstapfen von Javascript tritt. Google sollte zusammenarbeiten, um eine Standardlaufzeit für Webbrowser zu erstellen (ähnlich wie bei HTML 6). Ähnlich wie Java-Byte-Code oder Microsoft IL.
Wir sollten uns nicht auf bestimmte Sprachen beschränken, sondern auf Laufzeiten. Der "Browser ist ein Betriebssystem". Richtig? WTF google? Folge deiner eigenen Vision !!!
quelle