Skip to main content

Posts

New site for Dart news and articles

For the latest Dart news, visit our new blog at  https://medium.com/dartlang .

Dart Team's Weekly Digest

Posted by Anders Sandholm Quick update on what happened in Dart-land this week. Dartium binary available. See hang-out video, blog posts and the new Dartium page for more info. On dartlang.org , we also added a Resources page and Seth had the first blog post on classes in Dart. Coming soon: Adjacent string literals will be concatenated: ‘dog’ ‘house’ == ‘doghouse’ . String + operator is on its way out. Promise is removed, use Future. toString on collections will soon return their contents and deal with recursive refs intelligently. The VM now recognizes dart:json , dart:uri and dart:utf8 . In the Dart to JavaScript Compiler , the SSA-based backend is now capable of dealing with many parts of corelib and we took the first steps towards wrapperless HTML and DOM libraries in the optimizing backend. Moreover, we fixed compiled JavaScript to run on browsers without Function.prototype.bind (Safari). The Dart Editor continuous build bundles SDK and Dartium (except on Windo...

Simplifying Dart's HTML bindings

Posted by Jacob Richman We are changing the implementation of dart:html from a wrapper based solution to a wrapper-free solution.  The dart:html API will not change as part of this transition but it will no longer be possible to use dart:html and dart:dom from within the same isolate. Also, the dart:htmlimpl library will go away. Why are we doing this? Smaller compiler output because dead code elimination is more effective with the new solution. Faster compile times as dart:html is expressed directly rather than being expressed as a wrapper layer on top of dart:dom . Faster runtime execution and lower runtime memory usage as the overhead of wrapping and unwrapping is avoided. This change will happen as soon as early next week. A few tradeoffs include: It will no longer be possible to import dart:html and dart:dom within the same isolate.  At some point we expect to remove dart:dom completely so it doesn’t make sense to try to support this use case. ...

Dart VM now supports more libraries natively

Posted by Seth Ladd Thanks to a recent commit to the bleeding_edge branch, the Dart VM now natively resolves dart:json , dart:uri , and dart:utf8 . This means the following code will now work when executed via the dart command line: #import('dart:json'); main() {   var json = '{"moar_libraries": true}';   var obj = JSON.parse(json); } Great to see more SDK libraries get first class treatment!

Library change: Promise out, Future in!

Posted by Seth Ladd We have removed the Promise interface from the core libraries . This change is now live in the bleeding_edge branch in source control, and will soon appear in trunk. We encourage you to start migrating to Future now. I asked Siggi Cherem, engineer on the Dart team, for some background. Seth : "Future is the future, huh? Sorry I couldn't resist." Siggi : "Yup. Promise<T> and Future<T> were redundant. We've been migrating all code to use Future, and this change removes the deprecated Promise type." Seth : "Any differences between Promise and Future?" Siggi : "The main difference between the two is that in Future we split the code that produces futures, from the code that is used when consuming them. Future<T> is the consumer API, while Completer<T> is the producer API." Seth : "Thanks!" Dart is still in Technology Preview, and will continue to undergo chang...

Tech preview of Chromium with Dart VM now available

Yesterday during an episode of Dartisans (our Hangout On Air broadcast with the Dart team), we announced that binaries of Dartium, a special build of Chromium with the Dart VM , are now available for download! This means you can run Dart code directly in Chromium, without the need to first compile to JavaScript. As we work on Dartium, we simultaneously continue to work on a fast Dart to JavaScript compiler. Both the Dart VM and JavaScript are first class targets for Dart. This special build of Chromium is a technology preview, and should not be used for day to day browsing. Read more about this announcement at the Chromium blog and the Google Code blog . Download Dartium and let us know what you think ! Special thanks to our guests Vijay Menon and Anton Muhin, engineers on the Dart team, for joining us to announce the good news. Please watch the full video from the Hangout below and learn more about what Dartium can do.

Dart Team's Weekly Digest

Posted by Seth Ladd A quick update on what happened in Dart-land in the past week (Week of Feb. 6).  In terms of the Dart language specification: 1) Put out proposal for simplifying getters, closurization operator, 2) Many discussions over library/import improvements, 3) Very near decision on == and 4) Ongoing work on 0.08 spec draft. In the Dart VM we implemented library name interpolation (very experimental) and C API for ByteArray and finalization of external types. For the Dart to JavaScript Compiler we had lots of progress on the SSA-based optimizing compiler that now has support for closures, exception handling and complex calling conventions. Moreover, we fixed a few of the high priority reported bugs for frog. As for the Dart UI libraries, we starting to use same infrastructure to generate dart:dom and dart:html ( r4021 ) and libraries are continuing to be restructured to more closely match the SDK. Change r4153 allows isolates to be spawned from closure. For mor...

10 Dart projects from the community

We put out a call to learn what the community is building, and we heard some really interesting projects. Dart is being used for UI frameworks, games, cryptography, 3D, MVC frameworks, and more! Cliff Hall is porting PureMVC to Dart . Tobias Raeder is building an Apache Thrift generator/implementation. Robert Silverton ported three.js to Dart . Bring on the WebGL! John Evans is building LUCA UI , a widget framework with data binding. Try it in your browser! John Evans also has an Observable reactive pattern library. Allan MacDonald is working on a sudoku game, with code coming soon. Adam Smith is working on a client/server example of Dartboard . Adam has lots of Dart projects over at GitHub. Lars Tackmann is building an HTML5 game in Dart. A NES emulator written in Dart . Crypto libs from Closure, ported to Dart. Provides MD5 and SHA1. Updates: Gustav Ollson wrote a small mass/spring physics demo  in Dart. Dzmitry Malyshau is building a 3D engine in D...