nesse post o foco são as classes, o OpenLaszlo te possibilita organizar a sua aplicação em classes aumentando ao máximo a reusabilidade de código, sendo uma classe alguma funcionalidade de processamento, ou então uma classe que represente um componente visual costumizado como um novo botão, ou mesmo tela de formulário genércio que pode ser muitas vezes reaproveitados no mesmo sistema, ou melhor ser utilizado como base para novos sistemas reduzindo o tempo gasto no desenvolvimento...
Obs.: o OpenLaszlo disponibiliza um conjunto muito grande de classes, tanto de componentes quanto de funcionalidades prontas para uso, porém em se tratando de interface para as quais estamos acostumados, lembrando o genero de interface de aplicações desktop notamos que os componentes disponibilizados pelo OpenLaszlo são genericos, tem como utiliza-los para sistemas simples, mas quando formos trabalhar com aplicações de verdade iremos nos deparar com a necessidade de desenvolver o nosso proprio conjunto de componentes padrão que usamos em aplicações, como por exemplo um campo com formatação de texto, numério, ou mesmo um campo de CPF com validação do CPF digitado... com isso fica uma dica, avalie e liste os componentes que normalmente se utiliza e gaste um tempo desenvolvendo o seu próprio conjunto de componentes visando a reusabilidade para reduzir o tempo gasto futuramente, tornando a montagem da interface como "brincar de lego", declarar as tags das classes dos componentes, ajustar e pronto temos uma nova interface.
Classe
[link: guia de referência]
[link: documentação]
Herança
Outro ponto importante no OpenLaszlo é o fato de suportar herança isso ajuda muito, digamos que você desenvolva seus componentes genéricos iniciais, mas futuramente em um caso de uso, existe a necessidade de um componente mais especializado, não tem problema basta herdar a sua classe existente e codificar as especializações para o novo componente
O problema: famosa repetição de código
<canvas width="200">
<simplelayout spacing="5"/>
<view height="100" width="100" bgcolor="red"/>
<view height="100" width="100" bgcolor="red"/>
<view height="100" width="100" bgcolor="red"/>
</canvas>
A solução: definir uma classe e reutilizar
<canvas width="200">
<simplelayout spacing="5"/>
<class name="box" height="100" width="100" bgcolor="red"/>
<box/>
<box/>
<box/>
</canvas>
Herança: reusabilidade e especialiação
<canvas width="200">
<simplelayout spacing="5"/>
<class name="box" height="100" width="100" bgcolor="red"/>
<class name="borderedbox" extends="box">
<view bgcolor="yellow"
x="3" y="3"
width="${parent.width-6}"
height="${parent.height-6}"/>
</class>
<borderedbox/>
<borderedbox/>
<borderedbox/>
</canvas>
ver na documentação oficial:
capítulo 25 - classes
capítulo 30 - extendendo classes