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:
- Optionale Typen sind schlau, sie fügen Anmerkungen und Dokumentationen für Mensch und Maschine hinzu.
- Isolate sind eine großartige Möglichkeit, auf sichere Weise Parallelität zu erreichen.
- Bibliotheken (Modularität) werden dringend für den Webstack benötigt, und Dart verfügt über Bibliotheken und Klassen.
- Schnappschüsse ermöglichen einen extrem schnellen Start
- Gebündelte Bibliotheken (wie Sammlungen, Stoppuhr usw.) vereinheitlichen die Codebasen und verkleinern den versandfähigen Code
- Schöne neue DOM-Oberfläche, die das Arbeiten mit DOM viel angenehmer macht. Es fühlt sich an wie einheimischer Dart-Code.
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.