2011-01-09 22 views
15

¿Cuáles son las diferencias entre los tres frameworks de aplicaciones web Smalltalk?¿Cuáles son las principales diferencias entre: Seaside vs Aida vs Iliad

Algunos puntos de partida:

  • ¿Cuál es el punto dulce para cada marco? ¿En qué caso usarías uno u otro?
  • ¿Cuáles son sus debilidades?
  • ¿Cuál tiene las URL más limpias?
  • ¿Cómo manejan Ajax?
  • ¿Tienen alguna preferencia en el uso de la persistencia?

Estoy tratando de decidir qué marco es el apropiado para cada tipo de aplicación.

Respuesta

6

sólo puedo responder por Mar:

Objetivo: Mar se dirige a aplicaciones web complejas con el foco en la reutilización y el desarrollo de la productividad. Hay administración de estado de sesión automática y compatibilidad con botón de retroceso. Los dos libros gratuitos en línea Dynamic Web Development with Seaside y Seaside Tutorial proporcionan documentación.

Debilidad: Para las URL RESTful tiene que hacer un trabajo extra.

URL limpias: Para las URL RESTful debe realizar un trabajo adicional, pero puede valer la pena (por ejemplo, Pier).

AJAX: Hay un montón de bibliotecas AJAX integrados en el Mar (jQuery, jQueryUI, Prototype, script.aculo.us, ...). Las integraciones le brindan acceso completo a estas bibliotecas desde Smalltalk. Las nuevas bibliotecas se pueden integrar fácilmente, p. JQueryWidgetBox.

Persistencia: Seaside es un marco de aplicación web, no un marco de persistencia. Puede usar la solución de persistencia que mejor le convenga, p. Piedra preciosa, PRODUCTOS, GLORP, ...

ver también estas otras preguntas/discusiones en StackOverflow:

+0

Gracias Lukas. Esas preguntas proporcionaron buenas respuestas. – elviejo79

1

Para algunas soluciones de persistencia de Mar, hay una page. La mayoría de las soluciones allí son independientes de Seaside.

6

me puede decir algo en el lado Ilíada:

Sweet spot (s): Maneja AJAX sin dolor. Para mí, ese fue el punto de inflexión que me hizo cambiar a la Ilíada. Además, es tan pequeño y no hinchado que puedes leer todo el código en un día y comprender cómo funciona.

Debilidades: La comunidad también es muy pequeña. Esto resulta en una falta de documentación, módulos adicionales o widgets prefabricados. OTOH, las comunidades pequeñas tienden a estar dispuestas a ayudarse mutuamente con más entusiasmo, por lo que casi todas sus dudas se pueden resolver preguntando en la lista de correo.

URL: Bueno, ya que todas las llamadas en la Ilíada son AJAX por defecto, la dirección URL se mantiene limpio todo el tiempo.

Ajax: Yep. Gratis y por defecto. Simplemente #marca Dirty un widget y se actualizará automáticamente. Las dependencias son tan fáciles de definir como el envío de #addDependantWidget: a un widget, de modo que cuando el primero se marque como sucio, ambos se actualizarán. Además, si el cliente no tiene un navegador con capacidad de JavaScript, todas las llamadas volverán a las solicitudes HTTP normales automáticamente.

Persistencia: Sin preferencias. Dado que el modelo está separado del marco (creo que esto se aplica a los tres marcos), puede seguir las mismas pautas que utilizaría para Aida o Seaside.

5

Y para Aida/Web:

puntos dulces: en tiempo real soporte web fuera de la caja, tanto para los sitios web de contenido y aplicaciones web complejas, HTML5 y soporte móvil, servidor web incluido por lo que funciona inmediatamente después de la instalación, puede servir a muchos sitios web virtuales desde la misma imagen.

Debilidades: falta de documentación, pequeña comunidad

URL: URLs REST-como limpio todo el tiempo, debido a Aida sigue desde el principio la moto: todos los objetos de dominio puede tener su URL (también por Alan Kay) y el objeto de dominio incluso puede elegir su URL por sí mismo.

Ajax: Perfectamente integrado, ya no lo ves, todo está ahí. Para actualizar algún elemento en la página web, simplemente llame al e update. No es necesario conocer ningún jQuery u otro JavaScript. Lo mismo ocurre con las aplicaciones web en tiempo real también. El protocolo WebSocket es el canal de comunicación predeterminado en los navegadores compatibles para intercambiar mensajes JSON entre el navegador y el servidor basado en Aida.

Persistencia: La persistencia basada en imágenes con instantánea automática cada hora se activa de manera predeterminada. Soporte de Gemstone/GLASS para el siguiente paso. La base de datos relacional/de otro tipo es un deber de nivel de dominio, si es necesario.

Para más:

Cuestiones relacionadas