S8
# S8

S8, es una implementación de Smalltalk el cual se compone de un framework minimalísta de ejecución, y compilación a Javascript, save image, reflexión y otras funcionalidades que están en desarrollo. Su versión básica core en Javascript standard, siendo frecuente el uso de extensiones para correr en distintas plataformas de manera optimizada y/o con características específicas de Smalltalk. Su uso más frecuente es sobre V8 (motor JavaScript), pudiendo también correr sobre otra Máquina virtual como TraceMonkey. Su plataforma de desarrollo web comunitaria es denominada U8.

## Características

S8 es producto de la búsqueda de un cambio en la forma de utilizar Smalltalk basado en un esquema de producción de desarrollo social de software. Cuenta con las capacidades típicas y herramientas básicas de un sistema Smalltalk. Se encuentra entre los sistemas que se pueden ejecutar prácticamente en casi todas las plataformas de hardware que soporten Javascript.

## Formas de uso

S8 es utilizado para transformar/migrar sistemas escritos en Smalltalk, a otras plataformas y ejecutar dónde corre javascript. Requiriendo extensiones nativas y particulares en cada plataforma, al nivel que sea necesario.

### Servidor

Utilizando Node.js se puede desarrollar servidores web, basándose en la contribución NodeJS Framework, o en una más avanzada, con funcionalidad Foreign function interface, FFI for S8 (Node.js version).

### Plataformas Móviles

Hay soporte para utilizar frameworks e integrar S8 a aplicaciones android, tales como Android, o utilizando PhoneGap Framework para múltiples plataformas.

### Web

Hay dos tipos de smalltalks que images preparadas para distintos tipos de proyectos, ya sea trabajando sobre un image base para web, y grabarlo directamente, o construir un image construido dinámicamente utilizando librerías (headless).

### Consola

Se puede utilizar directamente la versión en consola.

## Interfaz gráfica

Actualmente la única GUI que tiene es la que brinda el servicio U8, que es generada dinámicamente (y desarrollada incrementalmente sobre la base de contribuciones) usando un Framework de Document_Object_Model para renderizar lo mínimo para poder navegar en el image del sistema, aunque hay varios desarrollos al respecto que se están llevando a cabo que tienen cierto grado de compatibilidad con otros smalltalks como WI8 y MVP4DOM.

## Organización

* U8 es un servicio para el desarrollo social basado usando Smalltalk.
* Grupo de Smalltalking es un sitio para debatir sobre S8 y realizar consultas sobre el proyecto.
