Personal tools
  • Log in / create account
Wiki Navigation
  • Main Page
  • Community
  • Contributors
  • Planning
  • Documentation
  • Recent changes
  • Random page
  • Help
Toolbox
  • What links here
  • Related changes
  • Upload file
  • Special pages
  • Printable version
Views
  • Article
  • Discussion
  • Edit
  • History

DHTML Target

From OpenLaszlo

This is a working page of issues for the DHTML target.

  • See Legals_Project_Plan for big picture information, including milestones.
  • See DHTML_Laszlo for developer notes and tools.

Contents

  • 1 Definition Issues
    • 1.1 Media
    • 1.2 Proxied Mode
  • 2 Implementation Issues
    • 2.1 Prototype Chain
    • 2.2 Views
    • 2.3 Layout
    • 2.4 Animation
    • 2.5 Media Requests
    • 2.6 Data Requests
    • 2.7 Data Binding
    • 2.8 Constraints
    • 2.9 CSS
  • 3 Performance Issues
[edit]

Definition Issues

[edit]

Media

The OpenLaszlo platform accepts Flash (swf) files at both compile-time and runtime. Flash files are used to present vector graphics, authored animations, and to wrap video and audio files.

The Flash file format satisfies these requirements:

  • Designer-friendly authoring tool
  • Stroked and filled paths
  • Linear and radial gradients
  • Lossy and lossless images
  • Hairlines
  • Multbr animation
  • Synchronized audio

We need to decide which of these features are supported in OpenLaszlo:DHTML. In particular, hairlines and stretchy gradients are common design features; are they supported in DHTML?

[edit]

Proxied Mode

Does OpenLaszlo:DHTML support proxied mode?

  • XMLHTTPRequest security schemes may require server proxying
    • Can be worked around with JASON, a <script> tag can load from anywhere



[edit]

Implementation Issues

[edit]

Prototype Chain

IE does not support prototype chaining. There is no @__proto__@, and there is no @constructor@ for @super@. We need to figure out how to compile classes and constructors for this platform.

This has been solved by using Douglas Crockford's strategy for implementing class-based inheritance in JavaScript.

[edit]

Views

Each view V compiles to a <div>, that contains V's child views.

Issues:

  • Is clip=false possible? Does this require layers?
[edit]

Layout

Views can be positioned using CSS position: absolute; margin-left: x; margin-top: y.

[edit]

Animation

  • A global variable stores a list of animation records.
  • LzNode.animate() adds a record to this list.
  • When an animation is added to the list and it was empty, call doAnimations().
  • doAnimations() steps through the animation list, executing animations and removing animations which have expired. If the list is empty when it ends, it invokes setTimeout(doAnimations, xxx).
[edit]

Media Requests

DOM manipulation of the background property of a view's style.

[edit]

Data Requests

HTTPDataRequest.

[edit]

Data Binding

This is requires:

  • A runtime XML DOM representation
  • An XPath implementation that executes against that DOM
  • A procedural interface for instantiating views

All of these seem easy.

[edit]

Constraints

Use the existing compiler mechanism to build dependency functions for constraints, and port the event notification mechanism.

[edit]

CSS

How should we use browser CSS support - clientside/serverside, roll our own, browser/DHTML or a combination the two?

Notes on FlashMX CSS support - Example of CSS in Flash

  • RUNTIME SUPPORT
    • multiple CSS styles can apply to different parts of text
    • CSS can be external or programmatically generated
    • only applies to HTML text in TextFields - p, b, li, a, a:link, a:hover, a:active, user-defined tags, classes
  • COMPONENT SUPPORT
    • v2 Components can use styles to adjust colors and text
    • the following components are styleable - Alert, DataGrid, List, Menu, SimpleButton, TextArea, TextInput, Tree
  • NOTES
    • CSS is not supported in Flash Lite
[edit]

Performance Issues

  • What is the performance of a page that contains large number of absolutely positioned divs?
  • What is startup time for an application that links in a large runtime library?
Retrieved from "wiki.openlaszlo.org/DHTML_Target"
gipoco.com is neither affiliated with the authors of this page nor responsible for its contents. This is a safe-cache copy of the original web site.