La Web Imágenes Vídeos Maps Noticias Grupos Gmail Más »
Grupos visitados recientemente | Ayuda | Acceder
Página principal de Grupos de Google
Arquitectura del SWT
En este grupo hay demasiados temas que deben mostrarse primero. Para que este aparezca al principio de la lista, debes descartar esta opción para alguno de los anteriores.
Error al procesar tu solicitud. Por favor, inténtalo de nuevo.
marcar
  6 mensajes - 5 nuevos - Ocultar todos  -  Traducir todo al Traducido (ver todos los originales)
El grupo al cual envías entradas es un grupo Usenet. Si envías mensajes a este grupo, cualquier usuario de Internet podrá ver tu dirección de correo electrónico
Tu respuesta no se ha enviado.
Tu entrada se ha publicado correctamente.
 
De:
Para:
Cc:
Seguimiento:
Añadir Cc | Añadir seguimiento | Editar asunto
Asunto:
Validación:
Con fines de verificación, escribe los caracteres que veas en la imagen siguiente o los números que escuches haciendo clic en el icono de accesibilidad. Escucha y escribe los números que oyes.
 
diegogomezd...@gmail.com  
Ver perfil  
(1 usuario)  Más opciones 24 oct 2006, 16:49
De: diegogomezd...@gmail.com
Fecha: Tue, 24 Oct 2006 07:49:57 -0700
Local: Mart 24 oct 2006 16:49
Asunto: Arquitectura del SWT
Hola gente,

Estreno la nueva lista contestando a un correo que recibí en privado.

Antes de empezar a hablar de nada, les quiero comentar que las
decisiones que fui tomando (relacionadas con el diseño y arquitectura
de
las partes) no son inamovibles, sino que son las decisión que fui
tomando durante el desarrollo inicial.  Siendo un "Ágil convencido",
no
tomé ninguna decisión importante antes de realmente necesitarla.

Así que les propongo que sigamos en modo "Ágil" y discutamos
cualquier
idea nueva.

Al grano,

Pablo Iaria, en un correo privado,  me preguntaba:

        La primer pregunta que me surge de ver el código de
        SWT es porque te inclinaste por modelar la parte de
        cliente y la de server y porque no te convenció un
        approach como el de seaside que modela todo junto
        "abstrayéndose" un poco de la cuestión web.

Lo primero que diferencia el SWT del Seaside (y la mayoría de los
frameworks para hacer aplicaciones web) es que el SWT asume que (y
provee) tenemos un (mini) entorno Smalltalk en los navegadores. Usando
el ST2JS [*], cualquier browser moderno se puede convertir es un
mini-smalltalk.

[*] El ST2JS es. básicamente, un traductor Smalltalk a Javascript que
respecta prácticamente toda la semántica del Smalltalk; y provee un
juego de clases "base" para crear un mini-ambiente.

Esto nos permite programar (en Smalltalk) para el browser.

Es decir: ya no tenemos motivos (al menos en teoría) para no mover
todo
la lógica de las vistas al mini-entorno smalltalk que tenemos en los
browser.

En la arquitectura *básica* del SWT, los entornos Smalltalk (que
corren
en los browsers) disponen de un canal de comunicación con el Smalltalk
"server" (usando una especie de JSON-RPC).  A su vez, el Smalltalk
"Server" puede comunicarse (en cualquier momento, usando el Comet) con
los mini-ambientes ST de los browsers.

Para un aplicación de ejemplo simple (como el Ping/Pong), el SWT nos
requiere escribir 2 clases: PingPongServerApplication y
PingPongClientApplication.

Cuando un usuario se conecta (a un aplicación SWT), el framework se
encarga de:

- Instanciar un PingPongClientApplication en el browser.
- Instanciar un PingPongServerApplication en el Smalltalk.
- Conectarlos [*].

[*] Conectar las instancias requiere de gran trabajo. Entre otras cosas
hay que generar código JS (desde ST) e enviarlo al browser, instanciar
los objetos JS, instanciar los objetos del ST, y procurar establecer la
conexión propiamente dicha.

Al hacer eso, el framework, nos permitirá enviar mensajes a la
instancia
Server desde la instancia en el browser (Client) y, también, nos
permitirá enviar mensajes al browser (Client) desde el Server.

El ejemplo Ping/Pong, que está explicado al detalle en en wiki,
muestra
bien la arquitectura.

Sobre esa arquitectura básica, se pueden montar cosas más complejas.
Ahora mismo estoy investigando con un framework MVC donde la
vista/controlador está en el browser, y el modelo pueda estar tanto en
el browser como en el server.  Todavía no se como va a responder un
MVC
con eventos distribuidos, pero parece prometedor. Si quieren ir viendo
algo, miren los ejemplos "Web 2.0 MVC" y "Realtime Wiki".

Espero sus comentarios,

-- Diego


    Responder al autor    Reenviar  
Debes registrarte antes de enviar mensajes.
Para enviar una entrada, antes deberás formar parte del grupo.
Antes de enviar entradas, actualiza tu alias en la configuración de la suscripción.
No dispones del permiso necesario para enviar entradas.
Pablo Iaria  
Ver perfil  
(1 usuario)  Más opciones 25 oct 2006, 16:10
De: "Pablo Iaria" <iar...@gmail.com>
Fecha: Wed, 25 Oct 2006 11:10:35 -0300
Local: Mié 25 oct 2006 16:10
Asunto: Re: Arquitectura del SWT
Hola Diego!

Muy clara tu explicacion. Segun entiendo, tener la vista separada en
dos clases es la forma que existe hoy en día de indicarle al framework
que parte de la vista tiene que convetir a javascript para viajar al
cliente y que parte queda en el server para atender a los pedidos del
browser.

Tengo una imagen configurada con la ultima version de SWT y realmente
debo decirte que me quedé impresionado de las cosas que se pueden
hacer.

Una de las cosas que veo que se puede mejorar es que se generen
librerías de javascript (de la parte del mini-ambiente st al menos)
para que las páginas sean mas livianas y se tarde menos en la
generacion del javascript.

Se podría poner en algun lado una imagen con todo instalado (puede ser
la que recien acabo de generar sin problemas) para que cualquiera con
ganas de chusmear un poco SWT lo pueda hacer sin tener que ponerse a
bajar todo. Como lo ves?

Saludos!
Pablo.-

On 10/24/06, diegogomezd...@gmail.com <diegogomezd...@gmail.com> wrote:


    Responder al autor    Reenviar  
Debes registrarte antes de enviar mensajes.
Para enviar una entrada, antes deberás formar parte del grupo.
Antes de enviar entradas, actualiza tu alias en la configuración de la suscripción.
No dispones del permiso necesario para enviar entradas.
diegogomezd...@gmail.com  
Ver perfil  
(1 usuario)  Más opciones 26 oct 2006, 11:12
De: diegogomezd...@gmail.com
Fecha: Thu, 26 Oct 2006 02:12:13 -0700
Local: Jue 26 oct 2006 11:12
Asunto: Re: Arquitectura del SWT
Hola Pablo,

> Hola Diego!

> Muy clara tu explicacion. Segun entiendo, tener la vista separada en
> dos clases es la forma que existe hoy en día de indicarle al framework
> que parte de la vista tiene que convetir a javascript para viajar al
> cliente y que parte queda en el server para atender a los pedidos del
> browser.

Exacto.

> Tengo una imagen configurada con la ultima version de SWT y realmente
> debo decirte que me quedé impresionado de las cosas que se pueden
> hacer.

Ayer subí más cosas, sobre todo el MVC distribuido está tomando
forma y color y las aplicaciones "Web 2.0 MVC" y "Realtime Wiki",
ahora, responden de forma más fluida.

> Una de las cosas que veo que se puede mejorar es que se generen
> librerías de javascript (de la parte del mini-ambiente st al menos)
> para que las páginas sean mas livianas y se tarde menos en la
> generacion del javascript.

Ya hay algo de eso hecho, fijate senders e implementors de
#includeEmbeddedJavascript y #includeJavascriptInSteps.

La forma en que está ahora (genera todo el JS, en pasos, pero
"embebbed") es la más rápida a la hora de programar y probar.

En un entorno de "producción", lo mejor sería generar los archivos
.JS desde Smalltalk (en un proceso de deploy) y dejar que el Apache (o
algún servidor web más rápido) sirva los archivos con GZIP y todo.
Acá habría que tunear bien las fechas de los archivos, la
configuración de los proxies, etc para que el usuario sólo se baje
las cosas nuevas.

Al JS, también, se le puede hacer un procesamiento para reducirlo de
tamaño (remover blancos, cambiar nombre largos de métodos/variables
por cortos, etc).  Como la generación del JS es un proceso "en
tandem", se pueden hacer muchas optimizaciones... incluso se podrían
genera "inline" algunos métodos (como los accesors y métodos
simples).

Para resumir: Hay mucho espacio para bajar el tiempo de
"descarga/instalación" de las aplicaciones SWT.

> Se podría poner en algun lado una imagen con todo instalado (puede ser
> la que recien acabo de generar sin problemas) para que cualquiera con
> ganas de chusmear un poco SWT lo pueda hacer sin tener que ponerse a
> bajar todo. Como lo ves?

Yo no tengo problemas, sólo que no tuve tiempo de hacerlo. Si querés,
te cedo el honor ;-).

De todas formas el framework no está usable por personas que no puedan
manejar, al menos, el SqueakMap y el Monticello... los días que
trabajo en el framework, publico 2 o 3 versiones diarias.  Si alguien
se baja una imagen pre-cocinada, igual tiene que actualizarla seguido.

> Saludos!
> Pablo.-

Más saludos,

-- Diego


    Responder al autor    Reenviar  
Debes registrarte antes de enviar mensajes.
Para enviar una entrada, antes deberás formar parte del grupo.
Antes de enviar entradas, actualiza tu alias en la configuración de la suscripción.
No dispones del permiso necesario para enviar entradas.
Pablo Iaria  
Ver perfil  
 Más opciones 26 oct 2006, 19:26
De: "Pablo Iaria" <iar...@gmail.com>
Fecha: Thu, 26 Oct 2006 14:26:32 -0300
Local: Jue 26 oct 2006 19:26
Asunto: Re: Arquitectura del SWT
On 10/26/06, diegogomezd...@gmail.com <diegogomezd...@gmail.com> wrote:

lo voy a revisar tan pronto llegue a mi casa

Si, ni hablar...

Ayer quise correr unas pruebas desde el Konqueror y no pude por unos
errores de javascript, voy a tratar de hacerme un tiempito para
chusmear con mas detenimiento a ver que pasaba...

> > Se podría poner en algun lado una imagen con todo instalado (puede ser
> > la que recien acabo de generar sin problemas) para que cualquiera con
> > ganas de chusmear un poco SWT lo pueda hacer sin tener que ponerse a
> > bajar todo. Como lo ves?

> Yo no tengo problemas, sólo que no tuve tiempo de hacerlo. Si querés,
> te cedo el honor ;-).

Bueno, tengo una imagen generada con lo que había hasta ayer a la
tarde (hay cosas de MVC incuidas que funcionan joya)

Podríamos pensar en hacer releases cada cierto tiempo de una imagen de
prueba para los curiosos sin tiempo de seguir los pasos de instalacion
de SWT? (aunque no sea muy seguido)

> De todas formas el framework no está usable por personas que no puedan
> manejar, al menos, el SqueakMap y el Monticello... los días que
> trabajo en el framework, publico 2 o 3 versiones diarias.  Si alguien
> se baja una imagen pre-cocinada, igual tiene que actualizarla seguido.

Si bien instalar SWT es bastante sencillo; creo que a medida que SWT
se vuelva mas estable será mas conveniente tener una imagen (de
desarrollo/prueba) con SWT instalado.

No es exactamente el mismo caso porque SWT es mucho más dinamico en
ésta etapa, pero cuando probé el Magma quise instalar las cosas desde
el Monticello y no pude hacerlo andar. Hasta que alguien no puso una
imagen con las cosas instaladas no pude probar la ultima version de
Magma (aún así los queries no funcionan).

Lo vamos viendo sobre la marcha ...

Saludos!
Pablo.-


    Responder al autor    Reenviar  
Debes registrarte antes de enviar mensajes.
Para enviar una entrada, antes deberás formar parte del grupo.
Antes de enviar entradas, actualiza tu alias en la configuración de la suscripción.
No dispones del permiso necesario para enviar entradas.
Diego Gomez Deck  
Ver perfil  
(1 usuario)  Más opciones 5 nov 2006, 11:52
De: Diego Gomez Deck <DiegoGomezD...@consultar.com>
Fecha: Sun, 05 Nov 2006 11:52:23 +0100
Local: Dom 5 nov 2006 11:52
Asunto: Re: Arquitectura del SWT
Hola Pablo,

[snip]

> Ayer quise correr unas pruebas desde el Konqueror y no pude por unos
> errores de javascript, voy a tratar de hacerme un tiempito para
> chusmear con mas detenimiento a ver que pasaba...

Si vas a tratar de hacer andar todo en Konqueror (y Safari) te
recomiendo que sigas un procedimiento similar al siguiente:

- Lograr que los Tests corran en el Konqueror.  La última vez que los
corrí, estaban en verde.

- Detectar QUE es lo que no anda (la última vez que miré, el Konqueror
se mareaba con un IFrame hidden, y el Comet usa uno hidden).

- Escribir un test que, en rojo, haga evidente que es lo que no anda.

- Hackear para poner el test en verde.

Si seguís un procedimiento así, aunque vos no seas capás de arreglarlo,
el hecho de darnos un test en rojo ayudaría muchísimo.

> > > Se podría poner en algun lado una imagen con todo instalado (puede ser
> > > la que recien acabo de generar sin problemas) para que cualquiera con
> > > ganas de chusmear un poco SWT lo pueda hacer sin tener que ponerse a
> > > bajar todo. Como lo ves?

> > Yo no tengo problemas, sólo que no tuve tiempo de hacerlo. Si querés,
> > te cedo el honor ;-).

> Bueno, tengo una imagen generada con lo que había hasta ayer a la
> tarde (hay cosas de MVC incuidas que funcionan joya)

> Podríamos pensar en hacer releases cada cierto tiempo de una imagen de
> prueba para los curiosos sin tiempo de seguir los pasos de instalacion
> de SWT? (aunque no sea muy seguido)

Yo no tengo inconvenientes.

Saludos,

-- Diego


    Responder al autor    Reenviar  
Debes registrarte antes de enviar mensajes.
Para enviar una entrada, antes deberás formar parte del grupo.
Antes de enviar entradas, actualiza tu alias en la configuración de la suscripción.
No dispones del permiso necesario para enviar entradas.
Pablo Iaria  
Ver perfil  
 Más opciones 6 nov 2006, 17:54
De: "Pablo Iaria" <iar...@gmail.com>
Fecha: Mon, 6 Nov 2006 13:54:26 -0300
Local: Lun 6 nov 2006 17:54
Asunto: Re: Arquitectura del SWT
Hola Diego,

te respondo entre lineas...

On 11/5/06, Diego Gomez Deck <DiegoGomezD...@consultar.com> wrote:

> Hola Pablo,

> [snip]
> > Ayer quise correr unas pruebas desde el Konqueror y no pude por unos
> > errores de javascript, voy a tratar de hacerme un tiempito para
> > chusmear con mas detenimiento a ver que pasaba...

> Si vas a tratar de hacer andar todo en Konqueror (y Safari) te
> recomiendo que sigas un procedimiento similar al siguiente:

> - Lograr que los Tests corran en el Konqueror.  La última vez que los
> corrí, estaban en verde.

afortunadamente actualicé mi versión de Konqueror y funcionó.. aunque
a veces se cuelga...

> - Detectar QUE es lo que no anda (la última vez que miré, el Konqueror
> se mareaba con un IFrame hidden, y el Comet usa uno hidden).

> - Escribir un test que, en rojo, haga evidente que es lo que no anda.

> - Hackear para poner el test en verde.

> Si seguís un procedimiento así, aunque vos no seas capás de arreglarlo,
> el hecho de darnos un test en rojo ayudaría muchísimo.

si, sin duda que este debería ser el procedimiento para reportar bugs

saludos!
Pablo.-


    Responder al autor    Reenviar  
Debes registrarte antes de enviar mensajes.
Para enviar una entrada, antes deberás formar parte del grupo.
Antes de enviar entradas, actualiza tu alias en la configuración de la suscripción.
No dispones del permiso necesario para enviar entradas.
Fin de los mensajes
« Volver a “Debates” « Tema más reciente

Crear un grupo - Grupos de Google - Página principal de Google - Condiciones del servicio - Política de privacidad
©2009 Google