Friday, April 11, 2014

Dart plugin for IntelliJ IDEA and WebStorm

The Dart plugin for IntelliJ IDEA-based IDEs, has a new release with important enhancements. Notably, the plugin is now compatible with all versions of IntelliJ IDEA, including IDEA 13.1 Community Edition—the free open-source version of IntelliJ IDEA. This means you can get a version of the IntelliJ IDE with Dart auto-completion, code validation, package management, quick fixes, navigation, and full-featured command-line app debugging for free!

Pub Integration

The Dart plugin features rich pub integration. The pub tool commands get, upgrade, and build are available by context-clicking the pubspec.yaml file.


Configuring the SDK

When creating a new Dart project with the project wizard or starting a Dart project in the IDE for the first time, you’re asked to set up the path to Dart SDK. If the SDK was downloaded together with Dart Editor, the path to Dartium is added automatically. You can configure command-line options and a custom user data directory for Dartium.


With the path to Dartium set, a single click opens your Dart web app.


Debugging in Dartium

Debugging Dart web apps in WebStorm and IntelliJ IDEA Ultimate is the same. Select “Debug file” or “Create new debug configuration” and the IDE automatically connects to Dartium and starts a debug session. When prompted to install the JetBrains IDE support plugin for the browser, say yes and you’re good to go.




Find more about IntelliJ IDEA’’s Dart support by reading the JetBrains docs.

Stay tuned for a new build of the plugin that includes the latest dart analyzer (1.3.0), improved support for custom package roots, and miscellaneous fixes. We’re making good progress, and you can see our recent fixes. Also note that the plugin itself is open source and we greatly appreciate your feedback, in either the issue tracker or the IntelliJ IDEA development forum. Thanks!

Authored by Ekaterina Prigara (JetBrains) and Phil Quitslund (Google)

Wednesday, April 9, 2014

Dart 1.3 dramatically improves server-side performance

With Dart SDK 1.3, we’ve improved performance of async code running in the Dart VM and made substantial improvements to dart:io. This results in some of our experimental HTTP benchmarks now running at more than twice the speed of the previous release. We continuously track these benchmarks on the new Dart I/O performance page.

In the Dart Editor, “Run as JavaScript” now uses pub serve, which serves your web app’s assets and does code transformations using a development server built into pub. This makes your development workflow faster and more streamlined.

For users of AngularDart we have other good news in store: the Dart Editor now has support for Angular code completions and improved Angular analysis and refactoring support. Building web apps using Dart and Angular just got even more productive!

You can download Dart 1.3 from the Download Dart page. If you are running the Dart Editor, you can update by checking "About Dart Editor". Don’t forget to tell us what you build with Dart in our Google+ community!

Wednesday, February 26, 2014

Dart 1.2 continues to improve developer experience

With the 1.2 release, the Dart team continues its commitment to regular, compatible updates to our core runtime and tools. This release includes improved debugging, faster networking, and Angular support in the Editor.

Debugging Dart applications is now easier. Breakpoints can now be set at local variable assignments. A number of bugs have also been addressed, including stepping through recursive functions and eliminating side effects of using the debugger.

The Dart core libraries continue to improve with a focus on performance. WebSocket throughput has increased by a factor of 15 since version 1.0. The speed of our core async primitives, Future and Stream, also improved by over 10%.



Angular support in the Editor has been greatly improved in this release. Search, navigation, and refactoring now understand Angular elements. A number of Angular-specific warnings have also been added.

Please see the Release Notes for a description of all changes. Dart 1.2 includes bug fixes, performance improvements, and enhancements across the Dart virtual machine, compiler, libraries and tools.

You can download v1.2 at the Download Dart page. If you are running the Dart Editor, you can update by checking "About Dart Editor" in the IDE.

Tell us what you build with Dart in our Google+ community and let us know if you have any issues or feature requests.

Monday, February 24, 2014

Standardizing Dart: 1st Ecma TC52 Meeting in March

Back in December, Ecma created a new technical committee named TC52 to publish a standard specification of the Dart language. The inaugural TC52 meeting takes place on March 12, 2014 in Mountain View, California. In addition to ratifying the current spec, the committee plans to address proposals for Enums and Deferred Loading. If time permits, we’ll initiate work on the broader set of features to be added for Dart 2.0.


TC52 would love to see contributions to the Dart language specification from many players in the industry. Please come and join the committee, it's not too late to get involved. For language requests in general, the issue tracker - dartbug.com - is a great place to start the discussion. The TC52 committee will pull from the issue tracker.

This official start of TC52 is an important step towards a future where Dart runs natively in web browsers. While Dart apps can already be fast when compiled to JavaScript, users can feel a true performance boost when the Dart VM is embedded in browsers.

Thursday, January 16, 2014

Dart 1.1 features up to 25% faster Javascript

Better performance, more features, and improved tools mark the 1.1 release of Dart. Just two months after the 1.0 release, this new release delivers a set of compatible updates that makes applications easier to develop and faster for end users.




Dart’s Javascript output continues to shine. Performance on the Richards benchmark is 25% better than the first release, making runtime comparable to the original JavaScript. Performance of the newest benchmark, FluidMotion, has doubled since November. Dart2js now generates Javascript that performs as well as, if not better than, the idiomatic Javascript equivalent.

While there’s a lot of focus on Dart for browser applications, there is also growing interest in Dart for server solutions. This release provides a number of enhancements for server-side Dart, including support for large files, file copying, process signal handlers, and terminal information. New in this release is support for UDP, which, for example, allows developers to write more efficient media streaming apps.

The Dart Editor has added a number of features to increase productivity. Developers will find improved debugging, better code completion, and more descriptive tooltips. Overall performance of the Editor and the analyzer has also improved.

Take a look at the updated Dart language spec. You may also be interested in new articles on command-line applications, Dart-Javascript interoperability, and Streams.

We’re excited about the new features now available in Dart 1.1. Tell us what you build with Dart in our Google+ community and let us know if you have any issues or feature requests.

Monday, January 6, 2014

New docs and samples for server-side and command-line Dart apps

The Dart team published new docs and samples showing how to write command-line and server-side apps with Dart. The Dart VM's dart:io library provides access to files, directories, sockets, web sockets, SSL, TCP, UDP, HTTP, and more. Community packages on pub.dartlang.org provide higher-level frameworks and libraries.



The Command-Line Apps for Dart Programmer's Guide starts to collect resources for the new server-side and command-line Dart app developers. You'll find links to samples, API docs, community projects, tutorials, and more.

The new Command-Line Apps in Dart tutorial teaches you how to build command-line apps. Learn how to use stdin/stdout, command-line arguments, files and directories, and more.

For an in-depth look at how a Dart-based HTTP and Web sockets server is written, check out Walkthrough: Dartiverse Search. This chapter from Dart Up & Running shows how Dart is used for both the client and the server. Bonus: learn how you can connect to Github's API using Dart.

If you love to read code, check out the more than 40 samples and examples for server-side and command-line Dart apps. The new Dart By Example resource showcases mini-examples for files, directories, HTTP clients, HTTP servers, sockets, processes, paths, and much more.

If you'd like to see a specific tutorial written, please file a request at dartbug.com/new. If you have questions, please ask on StackOverflow.

Friday, December 13, 2013

Ecma forms TC52 for Dart Standardization

This week Ecma created a new technical committee named TC52 to publish a standard specification of the Dart language. We’re excited about this milestone in the evolution of Dart and the web.

Dart is ready for standardization. As of last month’s 1.0 SDK release, Dart is now officially stable and mature enough for production use. We’ll be collaborating with the broader web community via TC52 to responsibly evolve the language going forward.

The new standardization process is an important step towards a future where Dart runs natively in web browsers. Dart apps can be fast when compiled to JavaScript, but an embedded Dart VM enables even better performance.

We're thrilled to have a dedicated technical committee working on Dart. We also feel confident that Ecma—the home of standards such as JavaScript, Eiffel, and C#—is the right place to help guide the evolution of the Dart language. If you’d like to get involved, please join the committee.