Screenweaver is software for building Cross-Platform RIDAs (Rich Interfaced Desktop Applications). It separates application logic, and application interface concerns, so experts at either end can focus on what they do best.
The Screenweaver software builds a bridge between two very powerfull run-time environments: the Neko Virtual Machine (VM), that runs haXe programs, and the Adobe Flash Player, that renders interactive multi-media.
Screenweaver relies on Flash Player version 8+’s External Interface features for communicating back and forth between the GUI and the application back-end. Adobe never published Flash Player 8 for Linux.
Recently though, the Flash Player 9 for Linux has become available.
We are looking for developers that are interested in porting Screenweaver HX’s OS specific code (see high level architecture overview). If you know your way around programming Linux desktop applications in C and would like to get involved, send an email to swos@vanrijkom.org.
It is not. The table below shows how the two are different:
| Screenweaver HX | average SWF2EXE | |
|---|---|---|
| architecture | white-box; settings, application loading schemes and execution are open and controlable | black-box; settings, application loading schemes and execution are shielded and non-editable |
| application logic | separated from GUI code | intertwined with GUI code |
| back-end language | haXe/Neko | no separate back-end; wholistic ActionScript approach |
| application appearance and behaviour | expressions in the back-end logic, dynamic run-time behavior | set from a project editor, fixed run-time behavior |
| project packaging for distribution | manual | automated |
Not at first. The back-end code to a simple Screenweaver application that displays one window containing a Flash GUI is just a few lines of code. Because haXe is ECMA-script based it has a very low adoptation treshold:
class App { static function main() { swhx.Application.init(); var window = new swhx.Window("My Application",400,300); var flash = new swhx.Flash(window,null); flash.setAttribute("src","gui.swf"); flash.start(); window.show(true); // enter the system event loop (will exit when window is closed) swhx.Application.loop(); swhx.Application.cleanup(); } }
Many users are subscribed to the haXe mailing list. This list will handle questions on Screenweaver HX only. For critical projects, commercial consultancy is availble.