Legals Project
From OpenLaszlo
Contents |
[edit]
Requirements
(MOVED TO LEGALS_PROJECT_PLAN)
[edit]
SWF9 runtime
- executes ActionScript 3.0 plus support libraries
- AS3 is a dialect of the ECMA Release 4 proposal
[edit]
DHTML runtime
- Initially our target browsers will be Windows IE 6.0.xx, Netscape 4.7 (?), and Mozilla Firefox 1.0/1.5.
- (Fill in market penetration numbers to support.)
- Baseline requirements therefore are:
- ECMA3
- ?? what version of HTML - HTML 4.0 or XHTML? DOM2? CSS2?
- Conceptually two separate DHTML runtimes: Javascript 1.2 / JScript 5.6, and Javascript 1.5.
[edit]
Conceptual Design
[edit]
Changes to Language definition
- Good performance on SWF9 is likely to require use of new language features in AS3/ECMA4: class-based object model, static typing, and sealed classes.
- This argues for repositioning LZX on top of ECMA4
- Benefit is that future ECMA4-based runtimes (e.g. Firefox 2.0) will require relatively little support for OpenLaszlo compatibility
- Certain ECMA4 features can be compiled away for ECMA3 targets
- static typing
- sealed classes
- Other features can be emulated
- class-based object model
- Runtime: Lightweight Views. Use Sprites instead of MovieClip?
- Runtime: View States. swf9 supports an equivalent to the LZX state mechanism. Can this be used directly?
[edit]
Architectural changes
[edit]
SWF9 backend and runtime
[edit]
DHTML backend and runtime
[edit]
Architecture
[edit]
Two-pass compiler
[edit]
1. Compile LZX to ECMA4~
[edit]
2. Compile ECMA4~ to native
- Two conceptual sub-stages: ECMA4~ to native source, native source to binary where needed:
| Source Transform | Binary Generation | Notes |
|---|---|---|
| ECMA4 to AS2 | AS2 to SWF6-8 (3.x front end) | Either our 3.x backend or MTASC |
| ECMA4 to AS3 | AS3 to SWF9 | minimal source transform + flex2, eventually our own backend |
| ECMA4 to JScript 5.6 | (no binary) | Supports Win IE 6, 7? |
| ECMA4 to Javascript 1.5 | (no binary) | Supports Firefox 1.0/1.5 |
[edit]
OLR
- OLR mostly written in ECMA4, with a kernel of runtime-specific/native code (AS2, AS3, JScript, etc).
- Kernel(s) include:
- runtime support for drawing, interaction, data processing (XML), and networking
- ECMA4 object runtimes for AS2, JScript 5.6, Javascript 1.5
[edit]
Design Principles
[edit]
Reduce complexity by focusing on SOLO deployment
- focus is on SOLO deployment
- non-SOLO deployment support TBD
[edit]
Build discrete components that can be used outside OpenLaszlo
- We will attempt to separate components that might be reused by other opensource projects, including:
- backends for converting ECMA3/4 to native ECMA dialect
- e.g. ECMA3/4-to-AS3/SWF9
- ECMA4 object model simulation in JScript 5.6, Javascript 1.5
- Community support will probably be required to fully separate these components
- backends for converting ECMA3/4 to native ECMA dialect
[edit]
Details
- The project plan is Legals_Project_Plan.
- Details of our multiple-runtime architecture are in Multiple Runtimes Infrastructure.
- SWF9 work is detailed at SWF9 Target.
- DHTML work is detailed in DHTML Target.

