stringtranslate.com

Junto al mar (software)

Seaside , acrónimo que significa “Squeak Enterprise Aubergines Server with Integrated Development Environment”, es un software informático , un marco web para desarrollar aplicaciones web en el lenguaje de programación Smalltalk . Se distribuye como software gratuito y de código abierto bajo una licencia MIT .

Seaside proporciona una arquitectura de componentes en la que las páginas web se construyen como árboles de componentes individuales con estado , cada uno de los cuales encapsula una pequeña parte de una página. Seaside utiliza continuaciones para modelar múltiples flujos independientes entre diferentes componentes. [3] Por lo tanto, es un marco web basado en continuación [4] basado en la capacidad de manipular la pila de ejecución de algunas implementaciones de Small talk.

Características clave

Aunque la mejora posterior del manejo del estado en los motores JavaScript de los navegadores web ha significado que este aspecto sea menos importante hoy en día, [ cita necesaria ] El método de Seaside para manejar el estado del navegador (a través de continuaciones ) fue un punto inicial de interés en los primeros años después de su lanzamiento en 2002. Este mecanismo proporciona reversión y reanudación, resolviendo muchos problemas comunes que ocurren al ejecutar aplicaciones web, manteniendo adecuadamente el estado en el lado del servidor incluso cuando se utilizan los botones "atrás" y "adelante" o "actualizar" del navegador web. Los servidores basados ​​en continuidad brindan al desarrollador la capacidad de mantener el estado en el servidor de manera escalable. [5]

Una característica distintiva de Seaside es su entorno de desarrollo integrado, que brinda acceso a herramientas de desarrollo y soporte de depuración dentro de una aplicación. En el modo de desarrollo, los errores no controlados se informan a la página web; los desarrolladores pueden acceder y modificar el código y el estado del programa directamente desde la página web, lo que permite que se realicen procesos de identificación y corrección de errores dentro de un entorno de desarrollo integrado (IDE). [6]

Una aplicación Seaside es un conjunto de componentes que interactúan. Cada uno almacena el estado de las vistas de página y puede representarse en la secuencia HTML . Por lo tanto, es sencillo escribir un componente una vez y luego reutilizarlo en otra parte de una aplicación. Seaside también apoya la noción de tareas, que permiten a un programador describir la lógica de alto nivel de la interacción de los componentes.

Seaside no está orientado a plantillas y no ofrece generación ni uso de plantillas HTML; El marcado HTML se genera mediante programación. (El marco de gestión de contenidos Pier, basado en Seaside, ofrece sintaxis de marcado wiki para crear plantillas). Seaside utiliza devoluciones de llamada en cierres para especificar las acciones que se deben tomar al hacer clic en un enlace o enviar un formulario. Los desarrolladores y usuarios de Seaside argumentan que esto ayuda a imponer la separación de la estructura (marcado) del contenido y la presentación ( Hojas de estilo en cascada (CSS)). [7] La ​​combinación de componentes, devoluciones de llamada y cierres de Seaside puede reducir significativamente la brecha semántica entre un flujo de trabajo complejo y su representación en código. [8]

Seaside admite Ajax mediante la integración con script.aculo.us y jQuery . Seaside también admite la tecnología de inserción de servidor estilo Comet . [9] Seaside puede funcionar con implementaciones de servidor web basadas en Smalltalk u otras que no sean de Smalltalk (Nginx, Apache).

Filosofía

En los últimos años, algunas mejores prácticas han llegado a ser ampliamente aceptadas en el campo del desarrollo web:

Seaside rompe deliberadamente todas estas reglas. Avi Bryant, entonces de Dabble DB, lo describió en 2006 como un marco "herético", argumentando que este rechazo cuidadoso y razonado de los conocimientos convencionales del desarrollo web condujo a un modelo muy eficaz para desarrollar aplicaciones web. [10]

Puertos

El principal desarrollo de Seaside está implementado en Pharo Smalltalk. [11] Existen puertos para otros dialectos de Smalltalk. El desarrollo original de Seaside se realizó en Squeak a principios de la década de 2000. Michel Bany implementó puertos a VisualWorks a través de Seaside versión 2.7; Cincom Systems admite Seaside como parte de VisualWorks desde principios de 2008. Instantiations anunció el soporte de Seaside en su plataforma VAST (VA Smalltalk) versión 8.0 en 2009. La plataforma VAST ha continuado brindando soporte a Seaside hasta su última versión. Esteban Maringolo mantuvo el puerto 2.8, además de algunos otros complementos (como script.aculo.us ) para Dolphin Smalltalk X6. [12] Gemstone Systems implementó un puerto para Gemstone/S . [13] Se completó una versión 2.8 para GemStone, [14] y una versión preliminar de 3.0 se ejecuta en GNU Smalltalk 3.0a y posteriores. [15]

El paquete de servidor web de la biblioteca estándar de Racket (lenguaje de programación) utiliza una filosofía muy similar, también basada en continuaciones. [dieciséis]

Críticas

Proyectos de código abierto que lo utilizan

Muchos proyectos de código abierto utilizan Seaside, algunos de los cuales son:

Proyectos propietarios que lo utilizan.

Muchos proyectos propietarios utilizan Seaside, algunos de los cuales son:

Ver también

Referencias

  1. ^ El equipo costero
  2. ^ "Lanzamientos · SeasideSt/Seaside". GitHub .
  3. ^ Seaside: un marco de aplicación web de flujo de control múltiple
  4. ^ IBM DeveloperWorks: Cruzando fronteras: continuaciones, desarrollo web, programación Java
  5. ^ Seaside: un entorno flexible para crear aplicaciones web dinámicas
  6. ^ Depuración de aplicaciones costeras
  7. ^ Avi Bryant explica por qué Seaside no utiliza plantillas
  8. ^ Marcos de aplicaciones web: un estudio comparativo
  9. ^ Screencast: Aplicación de chat Seaside Comet
  10. ^ "'Herejías web: notas de la sesión de Seaside Framework, OSCON 2006 ". Archivado desde el original el 30 de agosto de 2014.{{cite web}}: Mantenimiento CS1: bot: estado de la URL original desconocido ( enlace )
  11. ^ "Seaside 2.9 está actualmente implementado en Pharo y sirve como implementación de referencia".
  12. ^ Blog Seaside for Dolphin Smalltalk
  13. ^ Junto al mar 2,6 g
  14. ^ Junto al mar 2.8
  15. ^ ¿Seaside se ejecuta en GNU Smalltalk? Preguntas frecuentes sobre GNU Smalltalk
  16. ^ "Continuar: Aplicaciones web en Racket".
  17. ^ Artículo de Jon Udell en InfoWorld Archivado el 12 de febrero de 2007 en Wayback Machine.

enlaces externos