Como me pasara hace unos cuantos años con AfterGRASP, hoy me he topado con otro clásico de los años 90 que tiene nuevos aires: OpenZinc.

Seguro que recuerdas aquellas aplicaciones para DOS, que recreaban la apariencia de aplicaciones gráficas, para Windows 3.x o 9x, combinando así la facilidad de uso de éstos, pero con el rendimiento y el bajo consumo de recursos de DOS. Seguramente te vendrá a la mente Partition Magic. La mayoría de ellas, usaban una librería llamada Zinc.

De hecho, Zinc, fue revolucionario en cuanto al concepto que después Sun llamaría look&feel, es decir, adaptarse, o imitar la experiencia de uso de una plataforma en otra. Pero además, apostaron por conceptos que en aquella época casi nadie conocía. Hablo de portabilidad entre plataformas, internacionalización, o diseño basado en componentes RAD.

Como en todos los productos de software con larga historia, ha pasado por multitud de manos, y por supuesto ha conocido multitud de versiones.

Todo comienza con Zinc Software Incorporated, que en 1990 lanza la biblioteca que en aquel momento llamaron Zinc Interface Library (ZIL) con la versión 1.0 (1990). Soportaba aplicaciones para DOS con Turbo/Borland C++, para crear entornos de usuario basados en texto y gráficos, usando las vetustas funciones BGI (Borland Graphics Interface).

La versión 2.0 (1991) añade soporte para Zortech C++, que luego sería Symantec C++/Digital Mars C++, y el alucinante Designer, para la creación visual de ventanas, con generación de código .cpp/.h para Zinc.

En seguida se les quedó corta la nomenclatura, y pasaron a denominarla Zinc Application Framework (ZAF), de las que veríamos las versiones 3.0 (1992) con compatibilidad con Microsoft C++ Compiler, y el soporte de Win16, a las que vendrían la 3.5 (1993), 4.0 (1994), 4.1 (1995) y 4.2 (1996). Lo que explica el porqué de Framework en vez de Interface.

Después pasa a manos de Wind River Systems, los chicos que hacen VxWorks, el sistema operativo en tiempo real, que ha colonizado Marte, un soporte, que por supuesto incorporaron en Zinc, que además, era capaz de reproducir el entorno de Windows 95/NT 4, y que en la versión para DOS, habían sustituido las primitivas de bajo nivel por MetaWINDOW de MetaGRAPHICS, aunque a costa de eliminar el soporte de algunas plataformas. Con la versión 5.4 (2000), llega a su fin esta etapa.

De modo que Professional Software Associates, toma el relevo, con la versión 6.0 (2013), una evolución continuista de lo que hacía la 5.x.

El camino seguido por OpenZinc es bien distinto, ya que parte de la versión 4.2 original, es decir la que mayor compatibilidad en cuanto a plataformas y compiladores tenía, y se encarga de que siga siendo funcional, incluso con las nuevas versiones. Por desgracia, sin la nueva interfaz tipo Windows 95, el soporte unicode, o las mejoras de rendimiento de la 5.x.

Puedes revisar las capturas de pantalla y la documentación para hacerte una idea de lo que permite hacer.

Es ahora una rama gratuita y de código abierto, que bajo licencia LGPL, da nueva vida a Zinc, si bien, alejado de todo lo que puede llegar a ofrecer, por ejemplo Qt, o VCL, si que con un soporte multiplataforma difícil de igualar: DOS modo texto, DOS modo gráfico, Windows 16 bits, Windows 32 bits, OS/2, Macintosh 68K, Macintosh PPC, *NIX con X Windows soportando Motif, NextStep o Curses, … Y con soporte oficial para GPP, Symantec/Digital Mars C++, Borland C++, CodeWarrior, Watcom/OpenWatcom, Microsoft/Visual C++, …

Por desgracia, una iniciativa que parece haber quedado congelada, lo cual es una pena, porque aún tiene posibilidad de dar mucho de si.

Si tienes algo de tiempo, ves a la página de descargas descargas y échale un vistazo, incluso cotillea las versiones antiguas para ver que ofrecen.

En lo que a mi respecta, Zinc era la tecnología de los 90, aquello que daba ese toque profesional que buscaba, y aunque me tuve que conformar con las versión 2.0, si que pude hacer mis primeros pinitos, viendo lo que luego sería una filosofía de trabajo bastante habitual en entornos Windows. La versión 5.3, sencillamente me enamoró a primera vista, pero la eliminación de plataformas compatibles, era algo que le quitaba mucho romanticismo. Por aquellos años, el Write once, run everywhere, no estaba desvirtuado como ocurrió con la llegada de los compiladores JIT.

En todo caso, más que suficiente como para en unos minutos, hacer algunas pruebas con el Designer para Windows NT/Win32, y el de DOS, y mostraros sus capacidades:

OpenZinc para DOS sobre MS-DOS 7.1:

OpenZinc para Windows NT sobre Windows 8.1 x64 (el mismo proyecto):