Object Windows Library
La bibliothèque Objet Windows Library (ou bibliothqèeu d'objets de Windows) abrégée en (OWL) est une bibliothèque conçue pour Borland C orientée objet conçu à l'origine pour utiliser les API Windows. Elle a été utilisée par Turbo Pascal pour Windows, Borland Pascal et Borland C ++. Elle était un concurrent à la bibliothèque Microsoft Foundation Class (MFC).
OWL n'a pas toujours vers le haut compatible d'une version à la suivante. Il a finalement été abandonné au profit de la bibliothèque de composants visuels (VCL), qui est écrit en Pascal Objet et inclus dans Delphi et C ++ Builder Studios.
Une communauté open source a publié OWLNext qui une série de corrections et améliorations apportées au OWL d'origine, utilisable pour les compilateurs modernes.
Histoire
Au début des années 1990, Borland a dominé le marché C++. En 1991, Borland introduisit Borland C++ 3.0 qui inclut Turbo Vision pour développer des applications DOS et OWL pour la plate-forme Windows. C++ ne faisait que commencer à remplacer C pour le développement de logiciels commerciaux, en particulier avec la montée de la plate-forme Windows (et la complexité que cela implique). Cela a permis à OWL d'acquérir une certaine popularité.
La première version mise en œuvre d'une extension propriétaire appelé Dynamic Dispatch Tableaux virtuels (DDVT). Cela a permis de lier des objets «événements» (fenêtres messages) avec des «méthodes» (fonctions). Ce mécanisme évite la saturation du OO fonction virtuelle système avec une fonction pour chaque message de fenêtre. Dans la prochaine version de OWL, DDVT a été remplacé par un RESPONSE_TABLE, un mécanisme macro-base, qui est maintenue aujourd'hui. Un outil de conversion (OWLCVT) a été inclus pour migrer le code de OWL 1,0 à OWL 2.0.
En 1992, Microsoft a lancé MFC. Une version DOS du MFC a été de courte durée. La version Windows est tout simplement un wrapper autour de l'API Windows et a été critiqué pour ne pas être vraiment orienté objet.
En 1993, Borland a lancé Borland C ++ 2.0 pour OS / 2 qui comprenait une version de OWL 2.0. OWL 2.0 utilisé BIDS, la bibliothèque de modèles plus récent pour «conteneur» ou «bibliothèque de classes».
En Avril 1993, Borland et Novell sont installés un accord au port OWL à Novell AppWare Foundation. Fondation AppWare était une API conçue par Novell pour être multi-plateforme , ce qui permet de déployer des applications sur Mac, Windows et Unix et clients avec plusieurs services de réseau. Les principaux outils de développement en AppWare étaient OWL et AppBuilder (un outil visuel pour relier les modules de l' application chargeables par le biais d'une «Application Bus»). [2]
En Janvier 1994, Borland a lancé Borland C ++ 4.0 pour Windows qui comprenait également OWL 2.0. Elle a ajouté Doc / Voir le soutien, les contrôles VBX et OLE. Win16, Win32s et Win32 a été pris en charge (Windows 95, le successeur Win32 de Windows 3 .x est apparu en Août 1995).
Vers la fin de 1994, le PDG de Novell Raymond Noorda a démissionné. les plans d'expansion de Novell ont été réexaminés, le développement AppWare a été arrêté et qu'il était donc OWL pour AppWare. En 1995, un groupe de membres de l'équipe d'origine a acheté AppBuilder. Dans la même année, UNO Software (www.uno.com) a offert un port commercial pour OWL 2.0, plusieurs plates - formes: AIX 3.2.5, décembre OSF / 1 AXP, HP-UX 9.03, Linux 1.2, Solaris 2.x, Sun OS 4.1.x et SVR4 fox x86. Il a été appelé WM_MOTIF. [3]
Au début de 1995, Borland C ++ 4.5 avec OWL 2.5 a été lancé. Comme il a été lancé avant Windows 95 , Borland a promis une mise à jour gratuite pour toute incompatibilité présente dans le dernier Windows 95 (si disponible). Versions 4.51 et 4.52 suivies. OWL 2,5 comprenait également l'objet Component Framework (OCF) pour faciliter le développement OLE.
En Août 1995, Microsoft a publié Windows 95 et Visual Studio 4.0. Contrairement à la croyance populaire, l'inclusion de la MFC40.DLL avec Windows 95 n'a pas eu un impact énorme sur l'adoption du MFC. En 1995, Visual Studio 1.5 a déjà éclipsé Borland C ++ dans les livraisons, en partie en raison du volume et de la qualité de la documentation fournie avec Visual Studio. La transition presque transparente des projets MFC à partir de Visual Studio 1.5 et Visual Studio 4.0 a également contribué à sa popularité. L'instabilité de l'original Borland C ++ 4.5 et le traitement original de OWL également persuadé de nombreux développeurs d'abandonner Borland C ++ et OWL en faveur de Visual C ++ et MFC.
En 1996, Borland a lancé Borland C ++ 5 pour Windows, qui comprenait OWL 5, qui était une réorganisation majeure de la bibliothèque. En Août 1997, Borland C ++ 5.02 a été introduit avec légèrement mis à jour une version de OWL 5. Une édition japonaise était également disponible. En outre, le Borland C ++ Builder a inclus OWL dans le « CD compagnon ». Après que Borland concentré développement sur le framework VCL qui a évolué aux côtés de OWL depuis Delphi 1.0 lancé deux ans auparavant. VCL continue d'être le cadre principal de Borland (maintenant CodeGear ) pour les plates - formes Windows et .NET. Exemples sur les applications OWL comment liaison avec les formes VCL (Dialogs) ont été inclus dans la dernière version de Borland C ++. Borland a cessé de vendre Borland C ++ 5.02 et OWL fin 1999.
Après Borland dépréciée OWL, le développement a été repris par le groupe et est appelé OWLNext qui se compose de correctifs pour le code source de OWL d' origine. [1] Il a été inclus dans les disques partenaires de Borland C ++ Builder 2007 et Borland C ++ Builder XE. [4]
Caractéristiques
OWL applications supports (liste non exhaustive) simple / multiple document interface (SDI / MDI), Doc & View Document Model, Drag & Drop, imprimer et aperçu avant impression, GDI encapsulation, Windows Help (Winhelp), mail et messagerie (MAPI ), Internet (OwlSock / WinSock), OLE 1.0 et OLE 2 .0 et d'autres caractéristiques. Les « contrôles Borland de Windows personnalisés », une alternative à la norme widget de définir dans Windows 3.1, étaient disponibles dans certaines versions de OWL, et ce soutien propagés leur look unique à travers de nombreuses applications de l'époque.
Dans OWL, toutes les classes commencent par la lettre "T" (par exemple TApplication); il existe plusieurs classes de racines, le plus commun est TWindow à partir de laquelle les classes de fenêtre (par exemple TFrameWindow, TDecoratedFrameWindow, TDialog, TInputDialog, TFileOpenDialog, etc.) et contrôle des classes (TEdit, TStatic, TButton, TGlyphButton, TComboBox, etc.) sont dérivés. classes VCL a aussi le même préfixe, mais VCL, toutes les classes sont dérivées de TComponent. Les demandes faites avec OWLNext sont compatibles avec DEP / NX fonctionnalité qui défendent le système contre les attaques de virus / Internet. OWLNext prend en charge Unicode , même sur le Unicode non conforme Windows 9x .
Avantages
- Bien conçu orienté objet cadre, apporte une réelle encapsulation des API Windows, permet héritage et le polymorphisme.
- Classe C ++ pour de nombreuses communes de Windows liées aux ressources types de données qui fournissent la fermeture automatique des poignées lorsque les objets les créant hors de portée.
- Fournit un cadre document / vue pour créer des architectures à base de Model-View-Controller
- OWL est livré avec BIDS ( Borland International Structure de données ), une classe de modèle de bibliothèque
- OWLNext utilise la Standard Template Library (STL), ce qui simplifie les ports à d'autres plates-formes
- classe String est inclus dans OWL
- Executables plus rapide que Visual Basic P-code executables ou Java
- Executables plus rapides que celles produites par le .NET Framework
- OWLNext les développeurs peuvent utiliser l'IDE de leur choix: Borland C ++ 5.0, Visual Studio 6.0, 2003-2010, BDS 2006-2007
- L'API Windows est accessible directement à partir de programmes OWL base
- Petits executables GUI:
- Executables ne nécessitent pas l' utilisateur final d'avoir le .NET Framework, qui est un téléchargement de 22,4 Mo
- Executables ne nécessitent pas l'exécution Visual Basic
- Exécutables peuvent utiliser des bibliothèques «statiques»
- Plusieurs assistants sont disponibles pour une variété de tâches, y compris les outils de tiers, ce qui a réduit le travail pour générer les applications de travail minimales.
- vitesse de compilation rapide.
- Porté vers Linux, libre et solution open-source.
- Code source inclus. Les développeurs peuvent créer une version optimisée pour une CPU particulière.
- Namespaces pris en charge.
- Windows 95 à Windows 7 compatible. Win 3.x soutenu jusqu'à OWLNext 6.20.x.
Inconvénients
- Non porté sur Mac OS X , Windows CE , ou d' autres plates - formes non-communs.
- Des alternatives telles que VCL fournissent le développement rapide d'applications (RAD).
- L'API Windows est pas complètement couvert, ce qui nécessite une connaissance plus approfondie de celui-ci.
- Significativement moins d'utilisateurs que MFC.
- Pauvre soutien de tiers sous forme de livres, sites Web, des articles et des bibliothèques de tiers (tels que Codejock Software ).
- Aucun support natif pour JPEG ou PNG fichiers.
OWLNext
Lorsque Borland OWL dépréciée en faveur du VCL , un groupe de développeurs dirigé par Yura Bidus a lancé le projet de maintenir la bibliothèque en 1998. Les sites originaux sont owlnext , http://www.webcitation.org/query?url=http://www.geocities.com/SiliconValley/Campus/5642/owlnext.html&date=2009-10-25+09:47:48 et http://members.xoom.com/yuri_b. Actuellement, le projet est hébergé par [http://owlnext.sourceforge.net SourceForge (ou [http://www.owlnext.com autre lien) . L'extension est open source, libre et la licence permet le développement d'applications commerciales.
Le nom original était OWL NeXT, où le sens de NeXT était de nouvelles extensions. Plus tard, il a été rejoint à OWLNExt et actuellement, il est appelé OWLNext. La version actuelle de 2007 est OWLNext 6,20; la dernière version pour soutenir officiellement la plate-forme Win16.
OWLNext supporte Unicode, permettant même aux développeurs de déployer des applications basées sur Unicode dans Win95. Ajout du support pour HTMLHelp.
OWL est toujours la propriété de Borland et est couvert par plusieurs brevets [ citation nécessaire ], mais la version incluse dans le «CD Companion» pour C ++ Builder peut être téléchargé à partir du site actuel CodeGear. Le site CodeGear permet également aux développeurs de télécharger la version 6.04 du OWLNext, mais le site officiel de OWLNext est SourceForge .
À l'origine, OWL utilisé BIDS (Borland International Data Structure) bibliothèque comme «bibliothèque de classes» (bibliothèque pour la gestion des structures de données comme des vecteurs, des listes, etc.), OWLNext déplacé vers STL (Standard Template Library), et fournit également une couche d'émulation pour minimiser le travail de portage pour les applications existantes.
Le support Linux a été ajouté à la version 6.16 OWLNext en utilisant Winelib, et il y a aussi des ports privés à Solaris.
Les différentes versions
Produit | Version OWL |
---|---|
Borland C/C++ 3.1 | OWL 1.0 |
Borland C/C++ 2.0 for OS/2 | OWL 2.0 |
Borland C++ 4.0x | OWL 2.0 |
Borland C++ 4.5x | OWL 2.5 |
Borland C++ 5.0x | OWL 5.0 |
Borland C++Builder 4.0 | OWL 5.0 |
Borland C++Builder 5.0 | OWL 5.0 |
CodeGear C++Builder 2007 | OWLNext 6.20 |
Embarcadero C++Builder XE | OWLNext 6.30 |
Embarcadero C++Builder XE2 | OWLNext 6.32 |
Voir aussi
- Microsoft Foundation Class Library
- Visual Component Library
- Turbo Vision
- wxWidgets
- Microsoft Visual Studio
lectures complémentaires
- Neward, Ted. Advanced OWL 5.0: Power Tools for OWL Programmers. ISBN 1-884777-46-5.
- Walnum, Clayton. Borland C++ 4.x Tips, Tricks and Traps. ISBN 1-56529-895-0.
- Faison, Ted. Borland C++ 4.5 Object-Oriented Programming. ISBN 0-672-30605-0.
- Borland C++ 5.0 Programming Starter Kit Deluxe. Pearson Software. June 2002. ISBN 1-57595-430-3.
- Faison, Ted. Borland C++ Object Oriented Programs. ISBN 978-0-672-30775-1.
- Neward, Ted. Core OWL 5.0: OWL Internals for Advanced. ISBN 1-884777-50-3.
- Faison, Ted. Inside Object Windows Library. ISBN 978-0-672-30219-0.
- Swan, Tom. Mastering Borland C++ 4.5. ISBN 0-672-30546-1.
- Broquard, Victor E. Object Windows 2.0 Programming. ISBN 978-0-553-37120-8.
- Broquard, Victor E. Programming for OWL for Windows 95. ISBN 978-0-13-492273-7.
- Spencer, Ian. Teach yourself OWL Programming in 21 days. ISBN 0-672-30600-X.
- Heiny, Loren. Windows Graphic Programming with Borland C++. ISBN 0-471-30930-3.