Articulo de referencia

Charla pequeña de Amber

{{cite web |url=https://lolg.it/amber/amber/commit/d0643e241c2ba97a9d8ab37a03bff29e04aef6c2 |title=Release version 0.30.0 |access-date=2021-03-25 |website=lolg.it}} "},"programm...

Amber Smalltalk , anteriormente llamado Jtalk, es una implementación del lenguaje de programación Smalltalk -80 que se ejecuta en el entorno de ejecución de JavaScript de un navegador web . Está diseñado para permitir el desarrollo del lado del cliente utilizando Smalltalk. [ 2 ] El entorno de programación en Amber se llama Helios. [ 3 ]

Características principales

Amber incluye un entorno de desarrollo integrado (IDE) con un explorador de clases , espacio de trabajo, transcripción, inspector de objetos y depurador . Amber está escrito en sí mismo (es autoalojado ), incluyendo el compilador , y compila a JavaScript, mapeando uno a uno con el equivalente en JavaScript. [ 4 ] Este mapeo uno a uno con JavaScript diferencia a Amber de otras variantes de Smalltalk como Pharo , Seaside y Squeak . [ 2 ] El desarrollo de un proyecto Amber requiere Node.js para ejecutar las herramientas; el proyecto desplegado solo necesita un navegador para ejecutarse. Amber no se ejecuta lentamente en una máquina virtual de bytecode debido a su conveniente mapeo a JavaScript, lo que hace que el código compilado se ejecute rápidamente.

Historia

Amber fue creada originalmente por Nicolas Petton en 2011. [ 5 ] Amber fue influenciada por un proyecto anterior de Smalltalk en navegador, llamado Clamato , creado por Avi Bryant. [ 5 ] [ 6 ] [ 7 ] Tanto Amber como Clamato utilizan bibliotecas de gramática de expresiones de análisis (PEG) para analizar el código fuente de Smalltalk . Amber utiliza la biblioteca PEG.js basada en JavaScript [ 8 ] [ 9 ] escrita por David Majda. Clamato utiliza PetitParser, una biblioteca basada en Smalltalk escrita por Lukas Renggli. [ 5 ] Tanto Clamato como Amber fueron influenciados por el trabajo anterior de Dan Ingalls en el desarrollo de la implementación Lively Kernel de Morphic para ejecutarse en navegadores web a través de JavaScript. [ 5 ] [ 10 ]

A partir de la versión 0.12.0, los módulos de Amber se compilan a definición de módulo asíncrono (AMD). [ 11 ] A partir de la versión 0.12.6, la herramienta de interfaz de línea de comandos (CLI) de ayuda para el desarrollo se extrae a un módulo dedicado, que se puede instalar desde npm como @ambers/cli; y la configuración del proyecto y su ecosistema JavaScript (npm, grunt) se simplifica enormemente utilizando esta herramienta CLI mediante la emisión amber inity respuesta de algunas preguntas. [ 12 ] Desde agosto de 2018, la estructura del proyecto de "amber init" se simplifica, ya no utiliza bower y se basa únicamente en npm y todo el proyecto reside bajo la organización npm @ambers. Esto hace que la configuración de Amber Smalltalk sea más fácil para personas con poca experiencia en JavaScript. [ 13 ]

Instalación

Las instrucciones actualizadas deberían estar en https://lolg.it/amber/amber .

Para instalar Amber, primero debe instalarse Git , si aún no lo está. Los siguientes comandos instalarán Amber: [ 3 ]

# Para macOS y Linux, se necesitan los siguientes dos comandos: npm config set prefix = ~/npm export PATH = " $PATH : $HOME /npm/bin" # agregar a .bash_profile o .bashrcinstalación npm -g grunt-cli grunt-init @ambers/cli 

Para crear un nuevo proyecto, escriba:

# Crea el directorio vacío del proyecto mkdir example-project cd example-project # Crea e inicializa un nuevo proyecto Amber amber init 

El paso "amber init" generará algunas preguntas sobre el proyecto. Para la mayoría de ellas, se puede establecer una respuesta predeterminada. El siguiente paso es iniciar el servidor:

ámbar servir 

Después, al escribir http://localhost:4000en el navegador se accederá a la aplicación. La mayoría de los navegadores bloquean las ventanas emergentes de Helios IDE de forma predeterminada, por lo que es posible que sea necesario modificar la configuración del navegador para permitir que aparezca la ventana emergente de Helios IDE.

Integración de bibliotecas JavaScript externas

El software Npm se puede utilizar para acceder a una gran variedad de bibliotecas JavaScript. Una biblioteca se puede integrar siguiendo solo cuatro pasos: [ 3 ]

  1. Instala la biblioteca usando npm.
  2. Si el archivo 'local.amd.json' no existe para el paquete npm, cree un archivo 'libname.amd.json' en la raíz del proyecto.
  3. Ejecuta 'grunt devel' (o 'grunt deploy' si estás listo para desplegar una aplicación).
  4. Agregue 'libname' a la sección #imports: del paquete de la aplicación.

Despliegue

Al ejecutar grunt deploy, el proyecto Amber se empaqueta usando RequireJS en solo unos pocos archivos, como mínimo solo index.htmly the.js, que se pueden alojar estáticamente como cualquier otra página web estática.

Véase también

Referencias

  1. "Versión de lanzamiento 0.30.0" . lolg.it. Consultado el 25 de marzo de 2021 .
  2. 1 2 Implementaciones de Smalltalk (breves resúmenes comparativos que describen los dialectos de Smalltalk)
  3. 1 2 3 Eng, Richard (2015-06-09). "Una introducción amable a Amber: entablar una conversación informal con ella, se lee como inglés, ¡y sigue siendo concisa!", "¡Está viva! ¡Está viva!", El Helios que todo lo ve, probando D3" . Medium . Recuperado el 2016-02-07 .
  4. Petton, Nicolas. "Amber Smalltalk" . amber-lang.net . Consultado el 30 de enero de 2016 .
  5. 1 2 3 4 Schuster, Werner (22 de agosto de 2011). "Los IDE de Smalltalk llegan al navegador: Jtalk, tODE, Lively Kernel 2.0" . Recuperado el 20 de octubre de 2011 .
  6. "Clamato" .(Sitio web del proyecto Llamato Smalltalk)
  7. Petton, Nicolas (agosto de 2011). Jtalk, el Smalltalk para desarrolladores web . Conferencia del Grupo Europeo de Usuarios de Smalltalk (ESUG). Edimburgo, Escocia, Reino Unido. Archivado del original el 28 de enero de 2012.Diapositivas.
  8. Majda, David (2010–2016). "PEG.js: Generador de analizadores sintácticos para JavaScript" . PEG.js.org . David Majda. Archivado del original el 27 de abril de 2011. Recuperado el 13 de noviembre de 2016 .
  9. Petton, Nicolas (13 de septiembre de 2011). "Adiós, adiós Jtalk... ¡Hola Amber!" . Grupos de Google . Google, Inc. Recuperado el 13 de noviembre de 2016. ... ahora estamos haciendo una primera versión modestamente numerada como 0.9. También estamos aprovechando la oportunidad para elegir un nombre más elegante para Jtalk: ¡Amber!
  10. Shuster, Werner (22 de junio de 2010). "Dan Ingalls sobre la historia del Smalltalk y el Lively Kernel" . Recuperado el 26 de octubre de 2011 .
  11. "amber-smalltalk/amber" . GitHub . Consultado el 30 de enero de 2016 .
  12. "amber-smalltalk/amber" . GitHub . Consultado el 30 de enero de 2016 .
  13. Petton, Nicolas. "Instalando Amber" . Amber-lang.net . Consultado el 30 de enero de 2016 .
  • Sitio web oficial
  • Amber-smalltalk en GitHub