Sunday, April 25, 2010

A Good Mix 35: Visual Studio, WPF, a cross-platform Resolver One and IronJS (A DLR based Javascript)

Another collection of IronPython and DLR related articles from recent weeks.


This extension adds IronPython and IronRuby to PowerConsole  so that you can interact with Visual Studio in IronPython/IronRuby. Please be aware that this extension only provides a simple tool to explore and interact with VS itself. It does not aim to be a development experience for the included languages.

An IronPython GUI library compatible with the Python GUI library EasyGUI. As the name implies, it is built on the WPF GUI library (making it Windows only). Like EasyGUI it has a demo app when you run the file showing the different controls/widgets the library supports.


For more examples of how to use it visit the EasyGUI tutorial.

Resolver One is a programmable spreadsheet written in IronPython. As well as being extremely powerful Resolver One is the largest codebase of IronPython "in the wild". Unfortunately because of third party .NET components used for the user interface Resolver One runs on Windows only.

The third party grid imposes other limitations on Resolver One, so the development team have finally decided to replace it with a custom grid that they are writing from scratch in IronPython. As well as giving them more flexibility, this is the first step towards making Resolver One cross platform (through Mono). The screencast linked above show you their progress so far, you can also read a bit more about their adventures in this blog entry on text rendering with GDI and GDI+.
IronJS is an implementation of Javascript for the Dynamic Language Runtime. By being built on top of the DLR it should be possible for code and objects written in IronPython, IronRuby and IronJS to interoperate. IronJS is not written by Microsoft, but instead is the creation of Fredrik Holmström.

IronJS is not complete, but is not far off. For example it recently became capable of compiling jQuery. Performance is also pretty good:
All in all I’ve reached my performance goal with IronJS, now it’s time to finish the runtime to support all statements/expressions/built-ins from the ECMAScript 3 Spec, there will still be changes which affect the performance of the core runtime/compiler, but (hopefully) not by any large amounts

No comments:

Post a Comment

Note: only a member of this blog may post a comment.