Tuesday, November 27, 2007

CSS Dock Menu in Seaside

Found some time this evening to wrap the CSS Dock menu demo in Seaside. It's really easy to wrap existing JavaScript/CSS components into Smalltalk classes. Here is a small tip:


  • implement a subclass of WAFileLibrary (like MyComponentFileLibrary)
  • go to http://localhost:port/seaside/config and select "Configure" on the files entry
  • select "Configure" on your new MyComponentFileLibrary class and upload files

As you will notice Seaside automatically converts the images, scripts or other resources into methods on your WAFileLibrary subclass.
You can then access the resource in your code using the "MyComponentFileLibrary / resourceMethod".

If you want to add the script to the html output overwrite the #updateRoot: message in your WAComponent subclass.

You can grab the code for the dock menu demo directly from here or browse the SeasideExamples project. It's actually in Squeak but the two classes could easily be ported to other Seaside platforms like VisualWorks. I also uploaded a demo to integrate the virtual earth control (IE only) into a seaside application.

The SeasideExamples project was initiated by Phillipe and is open for read/write, feel free to upload your examples.

Interview on the Seaside

Avi was interviewed for FLOSS weekly. Listen and download Seaside to change your web application development experience.

Interview on the Seaside

Avi was interviewed for FLOSS weekly. Listen and download Seaside to change your web application development experience.

Monday, November 19, 2007

J2EE webapps ...

J2EE is still painful - even with tools like WTP, new graphical JSP/JSF editors, wizards to create various beans and projects for OR mapping like Dali. Most of the time waiting for the application servers like Geronimo, OC4J or JBoss to restart or looking which Maven goal/configuration could help you building your application.

Glad that I'm not alone with this experience. But there is help. I think Mr. Lorenzen should have a look at Seaside.

No need to restart the webserver if you build web applications in Smalltalk, no overcomplicated XML configurable build tools and the freedom to care about solving the problem - not fixing buggy tools or browsing API descriptions.

Sunday, November 18, 2007

Innovative User Interfaces

Would be nice to have something like the BumpTo grouping on my desk.

There is also an interesting use of a TabletPC to play with physics.

Thursday, November 08, 2007

Dynamic code generation for images using Rhino and JavaScript

Chris Double describes an interesting way for dynamic code generation based on (Smalltalk like) images.

In his example he implemented an image class in Javascript and two simple assemblers (one for x86, one for ARM). He uses the Rhino JavaScript engine (provided in js.jar) to run the scripts and write the image to disk. He then uses a simple C program to call a (now native) function in the image.

Actually his generation step hard codes the image generation depending on the specific assembler. But it should be easy to create a more general bytecode like assembler for image generation which compiles to the selected architecture.

Really interesting to use JavaScript/Rhino for that...

If you want to play with his files you have to manually download them since the link to the TAR does not work:

js.jar
x86assembler.js
generate.js
image.js
armassembler.js
run.c

Just call Rhino using: java -jar js.jar generate.js to create the image.