¿Cómo interactúas con js desde el dardo?

No, esto no es lo mismo que la otra pregunta del mismo nombre.

Aparentemente hay paquetes idénticos que parecen hacer esto, pero con diferentes apis.

http://dart-lang.github.io/js-interop/docs/js.htmlhttps://api.dartlang.org/docs/channels/stable/latest/dart_js.html

¿Por qué hay dos?

¿Cuál se supone que debemos usar?

La interoperabilidad parece más nueva y tiene una mejor API, pero en realidad no funciona. De acuerdo con la documentación, debería poder convertir este javascript:

var stage = new PIXI.Stage(0xFFFFFF);;
renderer = PIXI.autoDetectRenderer(800, 600);
document.body.appendChild(renderer.view);

Dentro:

var pixi = new js.Proxy(js.context.PIXI.Stage, 0xffffff);
var renderer = js.context.PIXI.autoDetectRenderer(400, 400);
document.body.append(renderer.view);

Pero eso se equivoca cuando intentas compilarlo:

dart2js
Error occured:/Users/doug/megac/client/public/dart/index.dart:7:27:
Warning: No member named 'PIXI' in class 'Proxy'.
var pixi = new js.Proxy(js.context.PIXI.Stage, 0xffffff);
^^^^^^^^^^^^^^^

Así que ... js: dardo? ¿Es eso lo que se supone que debes usar?

Edit: Por cierto, para cualquier persona que se tropiece con esto, también hay un error abiertohttp://code.google.com/p/dart/issues/detail?id=15795&thanks=15795&ts=1388068177 con respecto a cómo las operaciones de puente de interoperabilidad dart-js minified actualmente no funcionan. El problema original se informó en mayo de 2013, y desde entonces no ha habido ninguna acción al respecto, así que no contengas la respiración.