[Vm-dev] Re: [squeak-dev] Squeak browser plugin and JavaScript

Bert Freudenberg bert at freudenbergs.de
Mon Sep 6 10:25:52 UTC 2010

On 05.09.2010, at 19:43, Rob Withers wrote:

> Hi everyone,
> I have an idea for a large scale project.   Hopefully some of you will find it interesting and give me a hand as I don't really know yet what I am doing.  Please speak up with advice, pointers, links and opinions.
> Here is my idea...develop a Squeak browser plugin for the various browser/os combinations which will emit and communicate with JavaScript which will run in the browser.
> JavaScript runs in most browsers as a client-side scripting language.  It has reasonable UI widgetry for a client.  GWT is a really powerful framework/toolkit, which integrates a JavaScript front-end with a Java back-end.   In the process of development with GWT, you use Java classes and your own subclasses to develop the front-end.  You can code, test, inspect and debug in Eclipse (using a browser plugin from GWT for development mode testing in the browser).  When ready, you compile all the client code into JavaScript for performance.
> I think it is possible to stream JavaScript to a running JavaScript page (page/instance/vm?) dynamically.
> I think the place to start is to revive the browser plugin build for squeak. Next would be to serve up some initial JavaScript to prototype the concept. Next would come a thorough development of Client classes in Squeak to represent and emit JavaScript.  Not sure what that entails exactly.
> Does anyone have any interest in such a project?
> Best,
> Rob 

Here's what I would do:

You would have a web page, it would embed the Squeak plugin, but the plugin's window would be hidden (or only visible while developing). The User Interface would instead be done in HTML, and the DOM would be interactively modified by Squeak.

If you had a primitive for DOM manipulation you could start doing that today (though last time I looked a couple years ago there was no cross-browser way to do it). You could basically have Seaside running within a web page instead of requiring a server and network connection.

I just don't see where JavaScript is needed for that, and why you would want to "compile all the client code into JavaScript for performance". You can of course use JavaScript UI elements just like you can with Seaside or any other Smalltalk web server. 

If all you wanted is developing a JavaScript application using Squeak, then why not just run Seaside on your local machine and use any browser you like? What do you need the plugin for?

- Bert -

More information about the Vm-dev mailing list