Morphic es un framework de interfaz de usuario que facilita y hace más divertido crear interfaces interactivas y dinámicas.
¿Qué esperaríamos si solicitáramos un buen soporte para crear interfaces gráficas de usuario en un sistema de programación?
Todos los ordenadores modernos (y teléfonos, etc.) tienen pantallas a color de alta resolución. Cualquier software que se ejecute en ellos y que sea accesible para un usuario debe mostrar información en esa pantalla.
Los gestores de interfaz de usuario convencionales (es decir, los sistemas operativos y los navegadores web) comenzaron incluyendo solo los elementos más básicos de la interfaz gráfica de usuario: editores de texto básicos, botones, listas simples, desplazamiento para contenidos de gran tamaño y (por lo general) múltiples ventanas superpuestas y redimensionables. Cualquier otra cosa debe gestionarse mediante bibliotecas adicionales. Aunque existen bibliotecas para gestionar contenidos más ricos (D3.js y Matplotlib son algunos ejemplos), el resultado no es coherente, ni para los desarrolladores ni para los usuarios.
Cuis-Smalltalk adopta un enfoque diferente, iniciado por Smalltalk-80 y, especialmente, por Self. Entraremos en detalles en el siguiente capítulo, The Fundamentals of Morph (Los fundamentos de Morph). Por ahora, ocupémonos directamente de Morphs.
Damos por sentada la alta calidad de la pantalla, así como la del ratón, el dedo u otros dispositivos señaladores. Y nos basamos en el objetivo de proporcionar amplias posibilidades para las interfaces gráficas de usuario, tanto en estilos y diseños existentes como en otros novedosos aún por inventar. Además, al estilo habitual de Smalltalk, todo el código del framework está disponible para su estudio y modificación. No hay bibliotecas de terceros. Solo el código de nivel más bajo está precompilado, pero aún así se puede sobrescribir o modificar.
Por lo tanto, cada objeto que ves en Cuis-Smalltalk es un Morph
o está compuesto por Morphs. Básicamente, un Morph es un
objeto con estado y comportamiento que también puede representarse a sí
mismo en la pantalla de un ordenador.
Puesto que los Morphs son útiles, cuando observes la clase Morph
en un navegador jerárquico, verás una gran cantidad de métodos y muchas,
muchas subclases. Pero las ideas básicas son bastante sencillas.
| • Instalar un paquete: | |
| • Morph Ellipse: | |
| • Submorph: | |
| • Una breve introducción a los inspectores: | |
| • Construyendo tu Morph especializado: | |
| • Morphs de Spacewar!: |