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 .

The present and future of editors and IDEs for Dart

When we started the Dart project in 2011, we challenged ourselves to deliver a structured and lightweight language that can be supported with productive editors and tools. To bootstrap the tooling ecosystem for Dart, we built Dart Editor to explore how to make Dart developers productive with code completion, source navigation, and static analysis. Today, there are more editing and IDE options for a Dart developer than ever before. Developers are using a range of command-line tools, text editors, and full IDEs that support Dart. In what comes as no surprise, we've found that developers have very strong affinities to their particular editors, and that one size does not fit all. We've also learned that many developers are outgrowing Dart Editor, as they require source control support, plugins, extended customizability, and more. To that end, we've shifted our strategy from focusing on a single Java-based editor, to focusing on low-level tools, the Dart Analysis Server, and plu...

Live analysis results with WebStorm 10 and Dart

Today, JetBrains announced the new WebStorm 10 release , which includes significant enhancements for the Dart developer. The new version adds live analysis feedback , and fixes many reported issues. We highly recommend that all WebStorm users upgrade, and that new Dart developers who want a full-featured IDE try the new WebStorm 10 release. WebStorm now provides on-the-fly code analysis results for Dart code, powered by the Dart Analysis server. You can quickly look through the list of warnings and errors in your project in a tool window or see them highlighted right in the editor. WebStorm can now auto-import new libraries into your Dart code. Simply press Control-Space twice, and you will see a list of all libraries that are available. Select the library you want to use, and WebStorm automatically adds the necessary import statement to the top of the file. You can use Dart's new async/await and generator features in WebStorm 10. Asynchronous code is now easier to writ...

Dart 1.9: The release you’ve been await-ing for

Asynchronous programming is everywhere – user interaction, network access, file I/O. Dart simplifies and enhances these scenarios with the 1.9 release . Today’s release introduces async methods and await expressions built on top of our existing Future API. You can now use familiar control flow features – for/while loops, if blocks, and try/catch – to manage complex asynchronous interactions. These new features are explained thoroughly the Dart Language Asynchrony Support: Phase 1 article . Before Dart’s Future API makes it easier to compose asynchronous operations, but handling conditional cases and errors can still be difficult. After async and await make implementing the same functionality straightforward. We are also introducing generator methods – sync* and async* – that make it easy to lazily generate sequences, eliminating almost all cases where developers need to create custom iterators or manually manage stream creation. For more information, read t...

Dart for the Entire Web

We work with many teams, inside and outside of Google, that use Dart every day to build business-critical apps. Their feedback is consistent: they love working with the Dart language, libraries, and tools, and they compile Dart to JavaScript when they deploy to the web.  However, they also tell us they need better integration with JavaScript, and they need an easier way to debug and optimize their apps across all modern browsers. We listened, and today we are announcing a more focused strategy for Dart for the web. In order to do what's best for our users and the web, and not just Google Chrome, we will focus our web efforts on compiling Dart to JavaScript. We have decided not to integrate the Dart VM into Chrome. Our new web strategy puts us on a path to deliver the features our users need to be more productive building web apps with Dart. It also simplifies the testing and deployment scenarios for our developers, because they can focus on a single way to build, test, and deploy...

Create your own REST API with Dart

We created Dart to help make developers as productive as possible. While we were building Dart Pad (a browser-based app to help developers learn Dart), we didn't want to spend a lot of time writing boilerplate code for serialization or routing in the REST API. We built the RPC package to help make building REST APIs easier, and today we're happy to announce that it is open source and ready for you to use. You can use the RPC package to automate the data serialization and request routing for your REST API. Exposing a REST API is simple. Annotate your classes and methods with the HTTP methods, URL paths, etc. Here is an example of a simple echo service. After you configure your HTTP server (see README ), your API can now be reached at: GET http://<server url>:<port>/api/echo/v1/identity/<name> POST http://<server url>:<port>/api/echo/v1/inverse Calling your new server API from client code (written in Dart, Java, Go, iOS, Android, C#) i...

Announcing Dart Developer Summit Sessions and Registration

We invite you to  Register Now  to connect with Dart engineers and developers at the first Dart Developer Summit , April 28-29 in San Francisco, California. Join us for two full days of sessions and breakouts, covering everything from client to server, embedded to mobile. You'll hear from a range of speakers from the Dart team, Googlers using Dart, and the Dart community. Some of the sessions include: Keynotes from Dart's co-founders and Google Ads Deep dives into new features like async/await and reflectable Dart for the Web state of the union Dart for Internet of Things Case studies from Trustwave , instill.io , Google Fiber , and Workiva Not one, but two  sessions on Dart for mobile Lots more! One of the best reasons to attend the summit is the opportunity to meet our engineers and community. Our breakouts and Birds of a Feather sessions ensure we collaborate and help build the future of Dart together. We look forward to connecting with ...

Highlights from the TC52 meeting on Feb 24, 2015

At the last TC52 meeting on Feb 24, 2015, we discussed a number of additional language features for Dart - including async, tear-offs and null-aware operators. Update on async Gilad reported that the implementation had, unsurprisingly, exposed some subtleties in the spec that need to be considered.  Some small adjustments in the language specification may follow from this. The virtual machine now implements the sync* mechanism.  The async* mechanism is coming along.  The dart2js implementation is complete with respect to the feature set, but it still needs to be debugged. The development of the async features has given rise to some useful insights.  For instance, sync* creates a synchronous generator, handling all the boilerplate for lazy iteration.  However, the documentation of the library classes need an enhanced level of precision in order for this to work well with the language implementation and specification.  The connection arises because...