[squeak-dev] Squeak browser plugin and JavaScript

Rob Withers reefedjib at gmail.com
Tue Sep 7 14:43:32 UTC 2010



--------------------------------------------------
From: "Bert Freudenberg" <bert at freudenbergs.de>
Sent: Tuesday, September 07, 2010 8:20 AM
To: "The general-purpose Squeak developers list" 
<squeak-dev at lists.squeakfoundation.org>
Subject: Re: [squeak-dev] Squeak browser plugin and JavaScript

> On 07.09.2010, at 13:38, Rob Withers wrote:
>> So, it does seem to be building a DOM, with adding panels, tables and 
>> other classes to each other, and it is setting properties, and adding 
>> callbacks, but it isn't very visible as a DOM.
>>
>> Rob
>
> Well, you would have to look at the JS code that this translates to. 
> Manipulating the DOM is the low-level way to interact with the browser, 
> but often that is hidden in layers of framework code.

Ok, I looked into the GWT framework a bit (I am brand new to it) and there 
are classes like

* UIObject (sets style name for css and title),
* UIObject subclass Widget (accepts DOMEvents and dispatches them),
* Widget subclass Composite (holds a Widget "The composite is useful for 
creating a single widget out of an aggregate of multiple other widgets 
contained in a single panel.")
* Widget subclass Panel subclass ComplexPanel subclass CellPanel subclass 
VerticalPanel
* Composite subclass DisclosurePanel (used in the example I gave) which 
holds a VerticalPanel.

As you can see there is a robust framework in Java to support this tool. 
There are DOMEvents.  We would need the same sort of framework in Squeak, as 
you mention.

>
> If you get your framework done, its users also would not have to worry 
> about how exactly this interacts with the browser. Typically only the 
> framework developers are dealing with this layer. Of course you can choose 
> to layer your stuff on top of another framework. Saves quite some time and 
> effort, but may be less efficient.
>

Ok, so I think what we are discussing in this thread is 2 tools:

1) a Squeak framework to model and generate a UI in Javascript.  As I have 
yet to find time to look at some of the suggested packages, I don't know 
which apply to this tool (Clamato, Lively, ST2JS).  I don't think OMeta 
plays here.

2) A Javascript to bytecode engine such that Javascript will be Jitted and 
run on the vm.  Somehow the vm will display to any browser and react to it's 
events.  I think OMeta plays here as a Javascript compiler.

I WANT BOTH TOOLS!

I want to position my framework, SqueakElib, on the browser plugins for 
secure, distributed objects available to SqueakJSUI/Javascript framework 
elements.

Rob 




More information about the Squeak-dev mailing list