Wednesday, May 15, 2013

Adobe's Flash Pro CC Exports to Dart and HTML5


At Google I/O today, Adobe announced their new Toolkit for Dart, a plugin for Flash Professional CC that allows developers to export their animations and games to Dart code and HTML5.



"Adobe is delighted to announce the Toolkit for Dart, an extension that enables web designers and animators to publish their Flash content to Dart." said Tom Barclay, Sr. Product Manager at Adobe. With the Toolkit, developers, designers, and animators can create interactive, animated content inside of Flash Pro and publish to the Dart language and HTML5 APIs. Because Dart compiles to JavaScript, the content runs across modern desktop and mobile browsers without plugins.

Toolkit for Dart supports many of the core animation and drawing capabilities of Flash Pro, including bitmaps, shapes, movie clips, graphic symbols, classic tweens and motion guides, simple buttons, text fields, drop-shadow and glow filters, additive blend mode, single-shape masks, visible and cacheAsBitmap display options, and embedded audio. The Toolkit generates Dart code that represents items on the stage, symbols, images, and sounds in the library.

The Toolkit doesn't translate ActionScript to Dart. Instead, developers write Dart code for the interactive parts of the content. Dart is similar to ActionScript 3: it is a familiar, class-based, object-oriented language with rich core libraries, optional static types, and more.

The extension leverages the StageXL for Dart library to reproduce Flash runtime features. The StageXL library is a complete and robust Flash-like engine for Canvas that is built on top of the Dart programming language. StageXL provides an approachable Flash-like API to build games and other graphically rich content. It is intended for Flash/ActionScript developers who want to migrate their projects as well as their skills to HTML5. Bernhard Pichler, author of StageXL, asks you to "use your creativity to enrich the modern Web."

Adobe plans to contribute the Toolkit to the open source community. The Toolkit for Dart is expected to be available as a Github repo shortly after Flash Professional CC is released on June 17.

Monday, May 13, 2013

Try Dart In Your Browser

Try Dart without leaving your browser, thanks to the relaunch of try.dartlang.org. The team compiled dart2js (a Dart to JavaScript compiler) with dart2js to produce a web app that lets you write and test Dart code in your browser.

Try Dart is an easy way to experiment with Dart. The in-browser playground supports HTML, runs offline, and comes pre-loaded with a few examples.

Please enjoy, and let us know if you have any feedback.

New Targeted Mailing Lists for the Dart Project


tl;dr: We have some new discussion groups. Sign up for announce@dartlang.org.
For a quick summary, read the Guidelines section below.


---


Hello Dartisans!


As our community has grown, so has discussion around Dart, so we have created four new discussion groups, and updated a few others.


New Groups:


announce@dartlang.org : Dart Announcements
This group is for official announcement for the Dart project. This will be product releases, breaking changes, major events, press briefs, and other important messages for the entire Dart community. For now, the group will remain limited to a select group of individuals who manage specific parts of the Dart project.
I recommend signing up for this group today, as it is a low volume way to stay up to date with Dart on a day-to-day level.
---


Note: Replies to announcements in this group should go to dart-dev@dartlang.org to keep the announce list noise-free, but still provide a forum for discussion.

For the time being, posts to
announce@dartlang.org will be forwarded to misc@dartlang.org.
In a few weeks we will remove the forward to misc@dartlang.org to prevent unnecessary duplicate e-mails, so sign up now!



eng@dartlang.org : Dart Core Project and Libraries Development
This is the list to go to if you want to discuss the development of the Dart open source project. As the project continues to grow, it’s important to be able to stay connected with state of the core of Dart itself.


This is a good place to talk about core library APIs, discuss breaking changes, and interact with the Dart engineering team. If you’re thinking of contributing to the Dart project, let us know in this group!


This list will be more technical than some of the other lists, so keep that in mind when subscribing. You should subscribe to this list if you’re interested in keeping up with day to day Dart development and engineering.


---


Note: If your discussion is about a project you’ve created, broad feature requests such as other languages’ features you’d like to see in Dart, the state of the web/JavaScript/html5/etc., news, links, or events, then please post to misc@dartlang.org. See the guidelines below.



html-dev@dartlang.org : Dart DOM/HTML Libraries Development
If you want to keep up with the latest developments to the HTML/DOM libraries, here’s where to go! The libraries in question are: dart:html, dart:svg, dart:web_audio, dart:web_gl, dart:indexed_db, dart:web_sql, and dart:chrome, but it’s possible there will be more. This is the group to follow to hear about changes to DOM bindings.
I recommend signing up for this group, as it is a medium volume way to stay up to date with anything changing in the main DOM libraries. If you build client applications, or just care about the modern web, stay tuned!


editor@dartlang.org : Dart Editor and Plugin Development and Discussion
If you use the Dart Editor to write Dart code, or debug Dart applications, or for any reason at all, this is the group for you. The Editor team loves, probably more than any other team, receiving feedback. This list is a great place to talk about what you want to see in the Editor, and discuss the state of the Dart IDE.

---


Other groups:


Just a reminder about the other groups we have:


misc@dartlang.org : Miscellaneous Discussion
vm-dev@dartlang.org : Dart VM Development
compiler-dev@dartlang.org : dart2js Development
web-ui@dartlang.org : Dart Web UI Package Discussion


The following groups are read-only, as their posts are auto-generated:


commits@dartlang.org : Commits to the Dart Repository
bugs@dartlang.org : Dart Issue Tracker Updates
reviews@dartlang.org : Dart Code Review Updates

---


And just to be clear, here are guidelines for posting to any of the groups:


Guidelines

Wednesday, May 8, 2013

New Quick Assist Items in Latest Dart Editor Build

A new Dart Editor build is available at www.dartlang.org/editor

This build introduces a couple of quick assist items.

The first assist item lets you combine an 'if' statement with an inner 'if' statement. Place the cursor over the starting if, press cmd-1, and hit return. That converts the following code:

  if (!(object is Person)) {
    if (object.name.beginsWith('R')) {
      nextItem = object.name;
    }
  }

to this:

if (!(object is Person) && object.name.beginsWith('R')) {
  nextItem = object.name;
}

The other quick action converts (!(item is A)) to (item is! A) format:

Place cursor over is, press cmd-1, and hit Return to convert to to is! format


Eric Clayberg fills us in on the changes introduced in this build:
  • Opening type from omni box opens corresponding file.
  • F3 works for URL in import/export directives.
  • Search View: Show next/previous search result actions.
  • Search View: Show type references as part of the first field in declaration.
  • DND in Files view restored, will update URLs in/to moved unit.
  • New Quick Assist to Join 'if' statement with inner 'if' statement
  • New Quick Assist to convert '!(x is A)' into 'x is! A'.
  • New Quick Fix to add 'package:' import.
  • Fix for ‘library’ directive highlighting when there is leading Dartdoc.
  • Fewer false positives in new analysis engine.
  • Additional warnings and errors enabled in new analysis engine.
  • Many general improvements and fixes to new analysis engine.
      Breaking Change List:
  • Directory.current is now a getter

As always, view the changelog for the full list of changes, and to get started with the Editor see our tutorial.

Thursday, May 2, 2013

Strong Dart Presence at Google I/O 2013

Join us at Google I/O 2013 in San Francisco's Moscone Center from May 15 through 17.



This year's conference features numerous events of interest to the Dart community. You can see three Dart presentations, and take part in a Dart code lab. One of the talks, by Dart creators Lars Bak and Kasper Lund, will be streamed live. And all of the talks will be available on video.

If you are at I/O, be sure to stop by at the Dart booth in the Developer Sandbox on the 3rd floor of Moscone Center. You can ask questions of Dart team members who will be available on all three days at the booth, and also at the office hours area nearby.

Here are some details about the talks and the code lab:

Web Languages and VMs: Fast Code is Always in Fashion

Lars Bak, Kasper Lund

A fundamental necessity for innovation within web apps is fast execution speed. This talk will take a deep dive into the machine rooms of both V8 and the Dart VM and explain some of the reasons why a new execution engine is needed for taking the web platform to the next level. Please join us to hear about how programming languages impact the underlying virtual machines, complexity, on-the-fly code generation, and predictable performance.

When: May 16, 10:00AM - 11:00AM PDT Level: Intermediate Track: Chrome & Apps


Come see what's new in Dart with its comprehensive, open-source ecosystem for the modern web developer. Learn how to be more productive with a new language: future-based DOM, package manager, JS-interop, a tree-shaking compiler to JavaScript, SIMD, Web Components, a rich editor, and much more. You'll leave this talk all caught up with Dart and ready to make the web awesome

When: May 16, 12:45PM - 1:25PM PDT Level: Intermediate Track: Chrome & Apps

Dart: HTML of the Future, Today!

Sigmund Cherem, Emily Fortuna

Develop large apps in a structured language and still experience fast Edit/Reload development cycles? Indeed, the prophecy has come true. Get crazy productive with Dart's tools, smooth HTML libraries, cross-browser polyfills, and web components based framework. Come learn how you can easily and quickly develop web apps that work cross-browser on both desktop and mobile platforms. We'll show you how to build modern web apps with Web Components and dynamic data-driven views without having to wait for cumbersome compile cycles. Make a change, hit reload, and boom, it's ready for all modern browsers.

When: May 16, 3:30PM - 4:10PM PDT Level: Intermediate Track: Chrome & Apps


You paid for the whole seat but you'll only need the edge! Get hands-on experience and build declarative, modern mobile web apps with Dart and Web Components. Go from zero to magnificent using Dart's structured language, comprehensive libraries, and lightning-fast dev cycle. Learn how to use the Dart toolchain to deploy and test web apps for tablet, phone, and desktop. Yes, you can!

When: May 17, 9:00AM - 11:00AM PDT Level: Intermediate Track: Chrome & Apps

Wednesday, May 1, 2013

Dart Team Updates for April 2013


As usual, Anders Sandholm has kept track what members of the Dart team have been doing recently. He shares his notes for April with us:

  • Dart libraries: dart:io
    • DNS lookup
    • IPv6 support
    • Upgrade sockets to secure sockets
    • Access to the PID (both for current process and the spawned processes)

    dart2js Compiler
    • Added support for new function subtyping rules.
    • Reduced the amount of patching we do on native prototype objects to a single property.
    • Improved indexing operations on native indexable types like typed data lists.
    • Landed support for rethrow and treating throw as an expression.
    • Reduced code size by sharing code in mixins between all classes that mix it in.
    • Improved our simple type inferrer to produce better types.

    Dartium
    • Greatly improved WebGL performance by using dart:typed_data for typed arrays.
    • Following up with Blink impact
    • Various bugfixes

    Pub
    • Ship pub as a snapshot in the SDK
    • Use backjumping constraint solver to resolve dependency graphs
    • Select appropriate versions of packages to work with the user’s SDK

    Dart Web UI
    • Implementing MDV v2 DOM APIs in dart:html
    Dart Dev Rel
    • More cookbook recipes
    • dartlang.org works again on phone/tablet
    • Dart Up and Running is updated to M4
    • Published Lang Spec M4
    • Dart Tutorials now getting the CI love on drone.io
    • Dart Tutorials now has a deployment script (thanks to Adam Singer!)
    • Lots of prep for Google I/O
    • api.dartlang.org now faster thanks to Page Speed Service
    • Continued work on Sublime plugin, including integration with analyzer
    • New Article: Creating Streams

As always, view the changelog for the full list of changes, and to get started with the Editor, see our tutorial.

Tuesday, April 30, 2013

New Dart Editor Build With Enhanced Refactoring Support





A new Dart Editor build is available at www.dartlang.org/editor. Eric Clayberg fills us in on the changes:

  • Semantic highlighting enabled for new analysis engine.
  • New “Convert Method to Getter” and “Convert Getter to Method” refactorings.
  • New “Create Class” and “Create part” quick fixes.
  • New “Import Library” quick fixes.
  • Multiple hover text improvements.
  • Fixed several debugger bugs related to not being able to hit breakpoints.
  • Additional warnings and errors enabled in new analysis engine.
  • Many general improvements and fixes to new analysis engine.
        Breaking Change List:
  • MirrorSystem.libraries uses Uri instead of library names.
  • LibraryMirror.url changed to LibraryMirror.uri.
  • Rename dart:typeddata to dart:typed_data.
As always,view the changelog for the full list of changes, and to get started with the Editor see our tutorial.