buenísimo Diego, gracias por la aclaraciones. Como dije
antes, muy interesante el trabajo.
Saludos,
Andrés
Diego Gomez Deck escribió:
> Hola gente,
>
> [snip]
>> Volviendo
>> a SWT (y poniéndome en abogado del diablo un rato :))
>> hay algunas cosas que te quería preguntar:
>>
>> 1. De entrada suena medio chocante tener que llevarme
>> todo el código de las clases ST a javascript. Tenés
>> algún tipo de comparación contra otros fwks respecto de
>> lo "pesada" que termina siendo la página? Al mismo
>> tiempo, tienen políticas de partición de scripts para
>> que el browser cachee o hacen siempre todo inline en la
>> página?
>
>
> En SWTClientApplication class>>includeEmbeddedJavascript se puede
> definir si querés el JS "incluido" o en files diferentes.
>
> En un entorno de producción, se podría generar los .JS en modo "batch"
> desde el Smalltalk y servirlos desde un Apache (con todo el tema de los
> caches bien configurados). Además, haciéndolo así, se podría onfuscar,
> comprimir, etc los JS.
>
>> 2. Ya hay mucho laburo hecho en widgets y efectos
>> bonitos para las páginas (YUI, scriptaculous, etc).
>
> Y el SWT también. Tenemos un lindo juego de widgets y animaciones todo
> escrito en Smalltalk. Tenemos un mecanismo de #stepping en los widgets
> (a la Morphic), etc.
>
>> Cuentan con alguna forma de "hablar" con esas librerías
>> existentes?
>
> Sip, en el ST2JS hay varias formas de escribir código JS "literalmente".
>
> Fijate senders de #jsLiteral:, #jsLiteral:inSmalltalk:, #jsSet:to:,
> #jsGet:, #jsPerform:, #jsNew:, etc, etc.
>
> En SWTOpenLayers hay un (todavía no terminado) ejemplo de como envolver
> una librería JS (en este caso OpenLayers) con objetos SWT. También está
> la clase SWTSoundManager que envuelve la librería soundmanager.
>
>> 3. Cómo deciden que parte se traduce a javascirpt y que
>> parte no? O sea, suponete que yo hago una vista HTML
>> que tiene un modelo, el cual va a residir en el server.
>> El fwk sabe que tiene que traducir el código de la
>> vista y no el del modelo? Cómo configuran esto?
>
> Para hacer una aplicación SWT hay que crear 2 clases:
>
> NombreAplicacionServerApplication y NombreAplicacionClientApplication.
>
> La clase NombreAplicacionServerApplication debe ser herencia de
> SWTServerApplication, y la clase NombreAplicacionClientApplication debe
> ser herencia de SWTClientApplication.
>
> Todo lo escrito en XXXClientApplication se traduce a JS, se transfiere
> al browser, se instancia (en el browser) y se conecta con la parte
> "server".
>
> Del lado del "server", se crea una instancia de XXXServerApplication por
> usuario conectado y se conecta con su contraparte cliente.
>
> Desde el XXXServerApplication se pueden ejecutar métodos del
> "client-side" con:
>
> self clientSide foo.
>
> Y, del lado del cliente, se pueden ejecutar método del "server-side"
> con:
>
> self serverSide bar.
>
> Sobre ese mecanismo "básico" tenemos escrito un MVC con un
> mini-framework de Aspectos (para definir las "partes" de los modelos)
> que permite que el Model resida en el Server, y el View/Controller en
> los browsers de internet.
>
> Para hacer objetos más "básicos" (digamos que estén fuera del SWT), hay
> que heredar de S2SObject.
>
> En la categoría de método "translation" de la clase S2STranslator podés
> encontrar método para generar JS desde 1 método, desde una clase
> completa, etc.
>
>
> Creo que en otro email preguntabas por el tamaño de una aplicación SWT.
> En el juego de cartas (que es la aplicación más grande que tenemos
> escrita hasta ahora) el html con todo el JS ronda los 460Kb. (Ese
> fuente no está ni comprimido, ni onfuscado, ni nada).
>
>
>> Bueno, de mas está decir que el trabajo me parece muy
>> interesante.
>
> Me alegra!
>
>> Saludos,
>> andrés
>
> Saludos,
>
> -- Diego
>
>
>
> >
>
--~--~---------~--~----~------------~-------~--~----~
Has recibido este mensaje porque estás suscrito a Grupo "ClubSmalltalk" de
Grupos de Google.
Si quieres publicar en este grupo, envía un mensaje de correo
electrónico a [email protected]
Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
Para obtener más opciones, visita este grupo en
http://groups.google.com/group/clubSmalltalk?hl=es.
-~----------~----~----~----~------~----~------~--~---