Personal tools

Development Languages

From OpenLaszlo

Contents

Server

The server includes the compiler, and back end support for media requests, data requests, and SOAP, Java Direct, and XML-RPC. The bulk of the server (exceptions are noted below) is written in Java 1.4.

Java

The bulk of the server is written in Java 1.4. The Java sources to the server are in /WEB-INF/lps/server/src. The ant build file in /WEB-INF/lps/server/build.xml compiles these to lps.jar.

JavaCC

The Script Compiler parser, and the CSS parser, are written in JavaCC. The sources to the script parser are in /WEB-INF/lps/server/sc/src. The sources to the css parser are in /WEB-INF/lps/server/src/com/laszlosystems/css. The server build file compiles these to Java.

Jython

The code generator in the Script Compiler is written in Jython. The compiler support for the KRANK feature is also written in Jython. The Jython sources are in /WEB-INF/lps/server/sc. The server build file compiles these to Java.

RelaxNG

The Laszlo schema is sourced in /WEB-INF/lps/schema/lzx.rnc. This file is in the RELAX NG Compact Syntax. The build file in that directory produces an XML RELAX NG file, which is used during compilation for validation and to specify the types of attribute values.

XSLT

The HTML "wrapper pages" that embed XML are generated using XSLT, to transform an XML description of the application (its dimensions, title, warnings, and errors) into HTML. This happens in response to a request to the LPS servlet. This includes the "developer console", and the application info summary.

Runtime

The Laszlo runtime consists of the Laszlo Foundation Classes (LFC), which are written in ECMAScript and are linked into every Laszlo application, and a set of optional components (such as window and button) which are written in LZX and are linked into applications that use them.

ECMAScript

The LFC is written in ECMAScript, with extensions to call the Flash runtime APIs. The sources are in /WEB-INF/lps/lfc. The script compiler is used to compile these sources into set of files (+/- debugging, +/-krank, +/-profiling, swf5/swf6) which are inserted into a generated swf file during compilation.

LZX

All the components except the base components view, text, inputtext, layout, and state are implemented in LZX. The sources are in /lps/components.

Build

The build files use Ant.