La Biblioteca de objetos de Windows (OWL) es un marco de aplicación orientado a objetos en C++ diseñado para simplificar el desarrollo de aplicaciones de escritorio para Windows y (algunas versiones) OS/2 .
Borland introdujo OWL en 1991 y finalmente quedó obsoleto en 1997 en favor de su biblioteca de componentes visuales (VCL). Su principal competidor era Microsoft Foundation Class Library (MFC). OWLNext, [1] un proyecto de código abierto impulsado por la comunidad de usuarios de OWL, ha continuado el mantenimiento de OWL, asegurando que la biblioteca y las aplicaciones que la utilizan funcionen con la última versión de Windows y los compiladores modernos de C++.
A principios de la década de 1990, Borland dominaba el mercado de C++. En 1991, Borland introdujo Borland C++ 3.0 que incluía OWL 1.0. En ese momento, C++ apenas comenzaba a reemplazar a C para el desarrollo de software comercial, impulsado por el surgimiento de la plataforma Windows y la rápida adopción del diseño orientado a objetos . Durante este período, OWL fue una opción popular para el desarrollo de aplicaciones de Windows.
En 1992, Microsoft introdujo MFC como parte de Microsoft C++ 7.0. Como marco de aplicación C++ similar para Windows, MFC se convirtió inmediatamente en el principal competidor de OWL en el mercado de desarrollo de aplicaciones C++.
OWL 1.0 dependía de Dynamic Dispatch Virtual Tables (DDVT), una extensión propietaria de C++ que permitía al programador vincular mensajes (eventos) de Windows a funciones (controladores de eventos) de una manera sencilla y con poca sobrecarga de tiempo de ejecución. MFC, por otro lado, utilizó una solución que no requería una extensión de idioma.
En 1993, Borland lanzó Borland C++ 4.0 que incluía OWL 2.0. En esta versión de OWL, la extensión propietaria DDVT fue reemplazada por tablas de respuestas , una solución basada en macros compatible con el estándar C++ y similar a MFC en uso. Se incluyó una herramienta de conversión (OWLCVT) para migrar código de OWL 1.0 a OWL 2.0.
En abril de 1993, Borland y Novell firmaron un acuerdo para trasladar OWL a Novell AppWare Foundation. AppWare Foundation fue una API diseñada por Novell para ser multiplataforma , permitiendo el despliegue de aplicaciones en clientes Mac, Windows y Unix y con varios servicios de red. Las principales herramientas para desarrollar en AppWare fueron OWL y AppBuilder. [2] Sin embargo, a finales de 1994, el director ejecutivo de Novell, Raymond Noorda, dimitió. Se reconsideraron los planes de expansión de Novell, se detuvo el desarrollo de AppWare y también OWL para AppWare. En 1995, un grupo de miembros del equipo original compró AppBuilder. Ese mismo año, Software UNO ofreció una adaptación comercial de OWL 2.0 a varias plataformas: AIX 3.2.5, DEC OSF/1 AXP, HP-UX 9.03, Linux 1.2, Solaris 2.x, Sun OS 4.1.x y SVR4. para x86. Se llamaba WM_MOTIF. [3]
En 1995, se lanzó Borland C++ 4.5 con OWL 2.5. Como fue lanzado antes de Windows 95 , Borland prometió una actualización gratuita por cualquier incompatibilidad presente en la versión final de Windows. En agosto de 1995, Microsoft lanzó Windows 95 y Visual Studio 4.0. Para entonces, Visual Studio ya había eclipsado a Borland C++ en envíos, y estaba claro que OWL estaba perdiendo terreno frente a MFC.
En 1996, Borland lanzó Borland C++ 5 para Windows. Esta versión incluía OWL 5, una importante renovación de la biblioteca. Si bien OWL 5 recibió una actualización menor con el lanzamiento de Borland C++ 5.02 un poco más tarde, la versión 5 terminaría como la versión final de OWL de Borland.
En 1997, Borland lanzó C++Builder y dejó obsoleto a Borland C++. OWL se incluyó en el CD complementario que se envió con C++Builder, pero Borland finalizó el mantenimiento y el desarrollo posterior de la biblioteca.
A finales de 1999, Borland dejó de vender Borland C++ y OWL.
Poco después de que Borland finalizara el desarrollo de OWL, el mantenimiento pasó a manos de un grupo de usuarios liderados por Yura Bidus. Este esfuerzo evolucionó hasta convertirse en el proyecto de código abierto OWLNext [1] actualmente alojado en el sitio SourceForge . OWLNext es una actualización y extensión moderna de OWL con soporte para las últimas versiones de Windows y compiladores C++ modernos de Microsoft y Embarcadero.
Se han lanzado versiones posteriores de OWLNext a través de SourceForge.