Posted:
Cross-posted from the Chromium Blog

By Anders Johnsen, Google Chrome Team

Today's release of the Dart SDK version 1.3 includes a 2x performance improvement for asynchronous Dart code combined with server-side I/O operations. This puts Dart in the same league as popular server-side runtimes and allows you to build high-performance server-side Dart VM apps.

We measured request-per-second improvements using three simple HTTP benchmarks: Hello, File, and JSON. Hello, which improved by 130%, provides a measure for how many basic connections an HTTP server can handle, by simply measuring an HTTP server responding with a fixed string. The File benchmark, which simulates the server accessing and serving static content, improved by nearly 30%. Finally, as a proxy for performance of REST apps, the JSON benchmark nearly doubled in throughput. In addition to great performance, another benefit of using Dart on the server is that it allows you to use the same language and libraries on both the client and server, reducing mental context switches and improving code reuse.

The data for the chart above was collected on a Ubuntu 12.04.4 LTS machine with 8GB RAM and a Intel(R) Core(TM) i5-2400 CPU, running a single-isolate server on Dart VM version 1.1.3, 1.2.0 and 1.3.0-dev.7.5.
The source for the benchmarks is available.

We are excited about these initial results, and we anticipate continued improvements for server-side Dart VM apps. If you're interested in learning how to build a web server with Dart, check out the new Write HTTP Clients and Servers tutorial and explore the programmer's guide to command-line apps with Dart. We hope to see what you build in our Dartisans G+ community.

Anders Johnsen is a software engineer on the Chrome team, working in the Aarhus, Denmark office. He helps Dart run in the cloud.

Posted by Louis Gray, Googler

Posted:
Author PhotoBy Seth Ladd, Developer Advocate

In celebration of Dart 1.0, the global developer community organized over 120 Dart Flight School events, and the response was overwhelming. Throughout February, 8500 developers learned how to build modern web (and server!) apps with Dart and AngularDart. Attendees got their Dart wings in Laos, France, Uganda, San Francisco, New Delhi, Bolivia and everywhere in between.

If you missed out, you can watch this Introduction to AngularDart video, build your first Dart app with the Darrrt Pirate Badge code lab, and try the AngularDart code lab.

Here are some of our favorite photos -- some events really embraced the theme!


+Kasper Lund, co-founder of Dart, speaking inside a decommissioned 747 at a Flight School hosted by GDG Netherlands.


GDG Seattle hosted their Flight School in the Museum of Flight.

 


8 cities in China did simultaneous events over Hangouts on Air (on Air, get it?) GDGs in Beijing, Hangzhou, Lanzhou, Shanghai, Suzhou, Xiamen, Xi’an, and Zhangjiakou participated.

Check out more photo highlights from around the world.

Thank you to the amazing community organizers, speakers, volunteers, and attendees that made this possible.

Next time, space!

Seth Ladd is a Developer Advocate on Dart. He's a web engineer, book author, conference organizer, and loves a game of badminton.

Posted by Louis Gray, Googler

Posted:
Author PhotoBy Seth Ladd, Developer Advocate

We invite you to get your wings and learn Dart at a Flight School event near you. Throughout February, Google Developer Groups and other developer organizations across the globe will host over 50 events focused on teaching Dart. Register for an event near you.
Dart Flight School logo
The events feature a range of tech talks and code labs to help you learn client-side and server-side Dart programming, and how to compile your app to run across the mobile and modern web. You will also learn how to use modern web frameworks like Polymer and Angular with Dart.

We're happy to see some groups really embrace the theme. For example, the Seattle GDG is holding its event in the Museum of Flight, and GDG Netherlands is hosting its keynote in an old Boeing 747. With so many events all over the world, we hope you have fun at a Dart Flight School near you!


Seth Ladd is a Developer Advocate on Dart. He's a web engineer, book author, conference organizer, and loves a game of badminton.

Posted by Scott Knaster, Editor

Posted:
Author Photo By Lars Bak, Software Engineer and Chief Dartisan


Today we’re releasing the Dart SDK 1.0, a cross-browser, open source toolkit for structured web applications. In the two years since we first announced Dart, we’ve been working closely with early adopters to mature the project and grow the community. This release marks Dart's transition to a production-ready option for web developers.

The Dart SDK 1.0 includes everything you need to write structured web applications: a simple yet powerful programming language, robust tools, and comprehensive core libraries. Together, these pieces can help make your development workflow simpler, faster, and more scalable as your projects grow from a few scripts to full-fledged web applications.

On the tools side, the SDK includes Dart Editor, a lightweight but powerful Dart development environment. We wanted to give developers the tools to manage a growing code base, so we added code completion, refactoring, jump to definition, a debugger, hints and warnings, and lots more. Dart also offers an instant edit/refresh cycle with Dartium, a custom version of Chromium with the native Dart VM. Outside the browser, the Dart VM can also be used for asynchronous server side computation.

For deployment, dart2js is a translator that allows your Dart code to run in modern browsers. The performance of generated JavaScript has improved dramatically since our initial release and is in many cases getting close to that of idiomatic JavaScript. In fact, the dart2js output of the DeltaBlue benchmark now runs even faster than idiomatic JavaScript. Similarly, dart2js output code size has been reduced substantially. The generated JavaScript for the game Pop, Pop, Win! is now 40% smaller than it was a year ago. Performance of the VM continues to improve as well; it’s now between 42% to 130% faster than idiomatic JavaScript running in V8, depending on the benchmark.

DeltaBlue benchmark results
The Dart SDK also features the Pub package manager, with more than 500 packages from the community. Fan favorites include AngularDart and polymer.dart, which provide higher-level frameworks for building web apps. Dart developers can continue using their favorite JavaScript libraries with Dart-JavaScript interop.

Going forward, the Dart team will focus on improving Dartium, increasing Dart performance, and ensuring the platform remains rock solid. In particular, changes to core technologies will be backward-compatible for the foreseeable future.

Today’s release marks the first time Dart is officially production-ready, and we’re seeing teams like Blossom, Montage, Soundtrap, Mandrill, Google's internal CRM app and Google Elections, already successfully using Dart in production. In addition, companies like Adobe, drone.io, and JetBrains have started to add Dart support to their products.

To get started, head over to dartlang.org and join the conversation at our Dartisans community on Google+. We’re excited to see what you will build with the new stable Dart SDK 1.0.


Lars Bak is a veteran virtual machinist, leaving marks on several software systems: Beta, Self, Strongtalk, HotSpot, CLDC HI, OOVM Smalltalk, and V8.

Posted by Scott Knaster, Editor

Posted:

By Dan Rubel, Productivity Enhancer, Dart Editor team

Cross-posted from the Chromium Blog

Today's release of the Dart SDK and Editor is the first beta release, and contains performance and productivity improvements across the platform. This latest release helps Dart developers automate code evolution, produce smaller JavaScript code and deploy Dart web apps.

The Editor's analysis engine, responsible for reporting warnings and errors, is completely rewritten and is 20% faster at parsing and analyzing. Now, there’s no need to run all the unit tests just to discover a typo. The Dart Editor watches your back as you type.

In addition, Dart Editor makes it easier for developers to manage an evolving app. Some of the new features include:

  • "Rename Library" refactoring
  • "Convert Method to Getter" and "Convert Getter to Method" refactorings
  • "Import Library" quick fix
  • "Create Class" and "Create part" quick fixes

Code completion has also improved. For example, completion is now camelcase aware. Type iE and Dart Editor finds isEmpty.

Compiling Dart to JavaScript now results in smaller code. For example, some Dart programs that use reflection and HTML can compile to JavaScript that is 3.7x smaller than previous compilation sizes.

Dart VM performance has also improved. Compared against the previous release of Dart, DeltaBlue is 33% faster and Tracer is 40% faster. This release also includes full SIMD acceleration in Dart VM.

Finally, deploying a Dart web app is now easier, with the beta pub deploy command. It creates a directory with your app's code and assets and prepares it for hosting on your favorite web server. You can use this command from Dart Editor or the pub command-line utility.

That's just the highlights - there are more improvements across the platform. You can read the full release notes for more details and changes. You can download the latest version of Dart Editor, including everything you need for Dart development, from dartlang.org. We look forward to your feedback!



Written by Dan Rubel, Dart Editor Team

Posted by Scott Knaster, Editor

Posted:
Author PhotoBy Seth Ladd, Developer Advocate

Sometimes, you only have 5 minutes. Luckily, with the Dart Tips series of short video tutorials, that's all you need to start learning the new Dart language and libraries. In these videos, I show off code samples and examples across the various language features of Dart.

For example, here's a quick demo of the various types of constructors in Dart:



You can check out all the videos, or jump to the topic that most interests you:
  1. A simple Dart script
  2. Runtime modes
  3. Variables
  4. Strings, numbers, booleans, oh my!
  5. Collections in Dart
  6. Functions are fun, Pt 1
  7. Functions are fun, Pt 2
  8. Control flow statements
  9. Exceptions
  10. Classes: setters & getters
  11. Classes: Constructors
We hope you enjoy these videos about Dart. If you have questions or comments about the videos, or Dart, please join us on the Dart mailing list and on Google+. As we say on Dart Tips, stay sharp!


Seth Ladd is a Developer Advocate on Dart. He's a web engineer, book author, a conference organizer, and loves a game of badminton.

Posted by Scott Knaster, Editor

Posted:
Author PhotoBy Lars Bak, Software Engineer

A year ago we released a technology preview of Dart, a project that includes a modern language, libraries and tools for building complex web applications. Today, after plowing through thousands of bug reports and feature requests from the web community, a new, more stable and comprehensive version of Dart is now available and ready to use.



With this version of the Dart SDK, we’ve made several improvements and added many features:
Over the following months, we will continue to work hard to evolve the SDK, improve Dart’s robustness and performance, and fine-tune the language while maintaining backwards compatibility.

Dart birthday logo

You can download the Dart Editor from dartlang.org. It comes with a copy of the open-source SDK and Dartium. Thanks again for all your feedback – keep it coming.


Lars Bak is a veteran virtual machinist, leaving marks on several software systems: Beta, Self, Strongtalk, Sun's HotSpot and CLDC HI, OOVM Smalltalk, and V8.

Posted by Scott Knaster, Editor

Posted:
Author PhotoBy Sam McCall, Software Engineer

Ever since we launched Dart, the structured web programming language, we've heard developers asking for a way to use Dart to connect to Google's most popular APIs and services. Thanks to Google's 20% time policy, I’m working on an open source library that helps Dart developers connect to Google APIs such as Google+, YouTube, URL Shortener, and many more.

My favorite sample showing you how to build web apps with Dart and Google APIs is roulette. This little app will shorten your URL, or if you're lucky, rickroll you.

This library is currently alpha and under active development. Please report all bugs in the issue tracker and ask questions in the discussion forum. Thanks for the feedback, and have fun!


Sam McCall is an engineer in Google’s Corporate Engineering Team in Munich, and is a part-time Dart tinkerer.

Posted by Scott Knaster, Editor

Posted:
Author PhotoBy Seth Ladd, Developer Advocate

Cross-posted with the Chromium Blog

The Dart team invites you to the first global Dart hackathon, a collaboration between the Dart team and the developer community. Sign up and have fun hacking on Dart to build modern client and server side web apps and libraries.

Current hackathon locations include:
  • North America:
    • Silicon Valley, California, USA
  • South America:
    • São Paulo, Brazil
  • Europe and Middle East:
    • London, England
    • Prague, Czech Republic
    • Tel Aviv, Israel
  • Asia:
    • Bacolod City, Philippines
    • Chandigarh, India
    • Goa, India
    • Karnataka, India
    • Manipal, India
    • New Delhi, India
    • Seoul, Korea
    • Tokyo, Japan
Hackathon dates vary by location. Check out the full list for the schedule.



The Dart project is still in technology preview, which means you’ll be hacking on early access code, but that’s all part of the fun. We’re eager to see what you build, and we hope you can make it. Register today!






Seth Ladd is a Developer Advocate with the Chrome team, and is having a grand ol' time learning Dart.

Posted by Scott Knaster, Editor

Posted:
author photo
Pavel
author photo
Vijay
author photo
Anton

By Anton Muhin, Vijay Menon, and Pavel Podivilov, Software Engineers

Cross-posted with the Chromium Blog

An attractive feature of Web programming is a rapid development cycle. Reloading the application after the source code has changed takes a fraction of a second. We want to offer you that same experience when using Dart, and today we’re making Mac and Linux binaries available that integrate the Dart VM into Chromium.

This technology preview allows you to run your Dart programs directly on the Dart VM in Chromium and avoid a separate compilation step. Over time, these programs will take advantage of the VM’s faster performance and lower startup latency.

Dart has been designed from the start to work with the entire modern web, and we’re simultaneously continuing to improve our fast Dart-to-JavaScript compiler. Both the Dart VM and modern JavaScript engines are first-class targets for Dart.

This release of Chromium with Dart VM integration is a technology preview, and should not be used for day-to-day browsing. After more testing and developer feedback, we plan to eventually include the Dart VM in Chrome.

Today’s release of the Chromium + Dart VM integration is another step forward for the open source "batteries included" Dart platform. Our goal is to help you build complex, high performance apps for the modern web, and we encourage you to try Dart and let us know what you think.


Anton Muhin is an engineer at Google Saint Petersburg who recently worked on making V8 VM and DOM bindings faster and now is working on integrating the Dart VM into Chromium. Before that he worked on the Google Calendar backend.

Vijay Menon is a software engineer at Google Seattle working on integrating the Dart language and runtime into the browser. His background is in compilers, runtime systems, and parallel programming.

Pavel Podivilov is a software engineer at Google Saint Petersburg who worked on Chrome Developer Tools prior to joining the Dartium team.


Posted by Scott Knaster, Editor

Posted:
Marcin
Aaron

By Aaron Wheeler, Senior User Experience Prototyper, and Marcin Wichary, Senior User Experience Designer

Cross-posted with the Chromium Blog

It took approximately 2000 years for the original Rosetta Stone to be discovered, which helped translate the Egyptian Hieroglyphs. We couldn’t wait that long to bridge the Dart and JavaScript worlds, so today we are releasing the JavaScript to Dart Synonym app.

Like most web developers, we are familiar, comfortable, and productive with JavaScript. We were curious about Dart, and thanks to a recent Dart hackathon, we had the chance to play with the language and libraries. The problem was, as JavaScript developers, we didn’t know how to map common JavaScript idioms to Dart. Hence the idea for this synonym app was born.

We started with the basics that every JavaScript and jQuery developer knows: variables, arrays, functions, classes, DOM manipulation, and many more. Then, with the help of the Dart team, we recorded the corresponding Dart versions of each idiom. To practice what we learned, we wrote this app with Dart.



We hope our app that maps between JavaScript and Dart eases your introduction to Dart and gives you a sense of where the project is going. We know the team is eager to hear your feedback. Don’t hesitate to join the conversation or file a new issue for either Dart or the Synonym app. And remember, Dart isn’t set in stone, so your feedback counts.


Aaron Wheeler is a user experience prototyper working on special projects that go beyond the Web. He balances design and engineering outside of work as well, splitting time between artistic pursuits and bicycle maintenance.

Marcin Wichary is a user experience designer, currently working on the Chrome browser and thinking of the future of the Web platform. He also occasionally codes interactive homepage doodles, such as Pac-Man and Stanislaw Lem.

Posted by Scott Knaster, Editor