Your Web Browser on Steroids: Jtalk is now Amber

Last night Nicolas Petton announced the new release 0.9 of Amber Smalltalk, which is the new name of Jtalk. Amber Smalltalk is essentially a Smalltalk implementation that runs on the Javascript runtime of your favorite web browser.

It’s hard to describe how cool it is to use Smalltalk in a web browser. Especially since Amber is not a simple “feed me a file and I’ll probably run it” tool, but a (mostly) complete Smalltalk IDE right in your web browser, including a Transcript, Workspaces, Class Browsers and (sic!) a Debugger:

But the Amber team also has some more coolness for you:

Amber allows developers to write HTML with a Canvas API similar to Seaside.

And it weren’t complete without this one:

Amber comes with a jQuery binding. Each string or tag brush can be converted to a jQuery object, instance of the JQuery class in Amber, with #asJQuery.

'body' asJQuery. aTagBrush asJQuery. 

Once you get the jQuery object, you can use jQuery from Amber like you would do in JavaScript. JQuery methods in Amber follow the well documented jQuery API.

The environment is very easy to navigate and use, so be prepared to look at Amber for a moment or two and realize after a few minutes that in the Real World around you they’ve spent a few hours 😉

And even if you are new to Smalltalk, there’s even more in the box for you: on the Amber project web site there is a port of the Smalltalk tutorial from Pharo called ProfStef, with which you can learn Smalltalk right in your Web Browser!

So now we have the chance to write web Applications on either the server or client side (or combine both) completely in Smalltalk. Imagine implementing complex UI features with jQuery in Smalltalk for the client side and have a Seaside or AIDA (Janko already announced he’ll be integrating AIDA and Amber) web server handle the business logic on the server.