He estado desarrollando una aplicación web en Seaside + Squeak recientemente, y he encontrado que es una experiencia maravillosa. Seaside realmente está muy por encima de cualquier otro marco, y creo que estoy trabajando con un nivel de abstracción más alto (por encima del ciclo de solicitud/respuesta HTTP y de plantillas HTML con el que otros frameworks se ocupa).Cuándo usar los componentes de Seaside, y cuándo usar objetos de renderizado simples?
Dicho esto, estoy un poco confundido acerca de los componentes de Seaside. Recientemente tuve que mostrar una lista de objetos en un componente (similar a la página principal de stackoverflow). Al principio hice que cada objeto fuera un componente (una subclase de WAComponent), pero resultó ser realmente un desperdicio, y tuve que configurar #children dinámicamente en el componente principal para que funcionara. Luego intenté hacerlos renderizar objetos (objetos que no son subclases de WAComponent, y renderizar usando renderOn: en lugar de renderContentOn :, como lo hacen los componentes). Esto funcionó, pero ahora ya no podían acceder al estado global en el objeto de sesión como pueden hacerlo los componentes (usando #session). Luego descubrí el valor "WACurrentSession", que otorga a cualquier objeto acceso al objeto de sesión Seaside actual. Ahora pude hacerlos renderizar objetos. Además, descubrí que podía reescribir muchos de mis otros componentes más pequeños como objetos de renderizado también.
Además de necesitar el estado de llamada/respuesta o retroceso, ¿qué otras razones existen para usar componentes sobre objetos de representación?
¡Gracias por la respuesta detallada! –