SK8 (lenguaje de programación)


SK8 (pronunciado "patín") era un multimedia entorno de edición desarrollada en Manzana 's avanzada Technology Group desde 1988 hasta 1997. Fue descrito como 'HyperCard en esteroides', [1] la combinación de una versión de HyperCard HyperTalk lenguaje de programación con una moderna objeto -plataforma de aplicación orientada . El objetivo del proyecto era permitir a los diseñadores creativos crear aplicaciones complejas e independientes. Los componentes principales de SK8 incluían el sistema de objetos, el lenguaje de programación , las bibliotecas de componentes y gráficos, y el Project Builder , un entorno de desarrollo integrado .

Durante gran parte de su historia, SK8 siguió siendo un proyecto de investigación e inspiró una serie de otros proyectos de Apple como AppleScript , además de ser utilizado como plataforma de creación de prototipos. Aunque alrededor de 1993 la División de Productos de Apple asignó un equipo para lanzar un tiempo de ejecución SK8, la limitación de las capacidades de Mac, así como el cambio al chip PowerPC, hicieron que un proyecto tan grande fuera intratable. Con la mayor parte de la visión original completada y sin un camino fácil para lanzar como parte de MacOS, el desarrollo activo terminó en 1996-1997, y el código fuente de Macintosh Common Lisp para todo el proyecto se lanzó al público en 1997.

El proyecto SK8 fue creado por Ruben Kleiman cuando se incorporó a Apple en 1987. Había llegado a Apple para desarrollar una interfaz de usuario flexible y orientada a objetos y un entorno de desarrollo multimedia. [2] El nombre del proyecto deriva de su interés por el skate . [3] Coincidentemente, en este momento la HyperCard , con su interfaz de manipulación directa y su lenguaje de programación, estaba a punto de lanzarse. Si bien HyperCard era excelente para aplicaciones simples, utilizaba un modelo de interacción limitado, las "pilas" de tarjetas ", que limitaban su aplicabilidad potencial. SK8 intentó extender estos beneficios a una función de programación más amplia. [2]

El trabajo inicial en lo que se convertiría en SK8 se centró en la infraestructura en lugar de la programación visual. El primer esfuerzo de Kleiman fue un sistema de objetos dinámico basado en prototipos , MacFrames, un sistema de marco / objeto con complementos para motores de inferencia. Mediante la configuración de preferencias, MacFrames se utilizó para emular una gran variedad de sistemas de objetos, incluido el KEE de IntelliCorp . Esta investigación, en conjunto con los usuarios que desarrollan aplicaciones y prototipos reales en Apple, produjo el modelo de objetos utilizado en SK8. [2] MacFrames fue desarrollado en Coral Lisp, que fue adquirido por Apple y se convirtió en Macintosh Common Lisp .

El Macintosh en ese momento no tenía un sistema de comunicación entre procesos (IPC) generalizado. Kleiman creó un inicio de IPC para Mac para permitir que MacFrames se comunique con otros procesos, en particular, HyperCard. Esto permitió que HyperCard se utilizara como interfaz de programación visual para MacFrames. Otro objetivo de MacFrames era construir el procesamiento distribuido directamente en el sistema de objetos. En lugar de utilizar una API de RPC, simplemente se establece la propiedad del objeto con el valor deseado y la devolución de llamada para los resultados. MacFrames fue utilizado por el grupo de control de calidad de Apple para crear un sistema de prueba automatizado de caja negra.

SK8 Project Builder se creó para proporcionar un amplio conjunto de herramientas de manipulación directa, incluidas herramientas para crear controles interactivos y pegado general pero no invasivo. [2] El objetivo del constructor era proporcionar una interfaz de manipulación visual / directa para crear entornos de desarrollo visual. Es decir, el sistema podría usarse para desarrollar entornos de desarrollo completamente diferentes adaptados a diferentes tareas. La primera versión del sistema de gráficos SK8 fue diseñada para extender HyperCard, permitiendo que las tarjetas tengan múltiples capas en lugar de una sola plantilla de "fondo".


Project Builder de SK8 usaba ventanas y widgets personalizados, y no se parecía a ningún otro IDE.