Willows Toolkit Overview ENABLING YOUR MICROSOFT® WINDOWS® APPLICATIONS TO RUN ON UNIX® AND MACINTOSH® The Cross-Platform Challenge Developing applications which can run on multiple platforms, such as Microsoft Windows, UNIX or Macintosh systems, poses a real challenge to the software development community today. Your customers expect to have the applications you develop to be made available on many platforms, matching their heterogeneous hardware infrastructure. They also expect to have versions of your software introduced on all operating systems simultaneously. Your challenge is to develop and simultaneously introduce high quality applications on all popular platforms, typically with no incremental staffing. You want to develop to a single source tree for ease of development, testing and maintenance, and you don't want to get locked into proprietary environments or APIs which reduce the talent pool you can staff from, and which force you to depend on a single vendor for support and future platform introductions. Your solution is to develop to the de facto industry standard: the Windows API. This environment provides not only the broadest selection of development tools, it also caters directly to the largest segment of potential customers for your products. But how do you get from there to other environments, such as UNIX, Macintosh or even yet-to-be-developed systems? You use The Willows Toolkit for UNIX and Macintosh and embedded systems. The Willows Solution Willows Software offers the Willows Toolkit for migrating Windows applications to alternative platforms. The Willows Toolkit consists of the Willows Twin Libraries and Tools necessary to port Windows applications to platforms other than the traditional Windows-based PC. The Willows Twin Libraries are released in source form over the internet with the GNU Library Public License. The Willows Toolkit supports a wide range of platforms, including several varieties of UNIX, the Macintosh and several embedded systems as well. The software libraries (TWIN32 and TWIN16) are virtually identical for all supported platforms enabling developers to maintain a single source tree. All platform specific code has been isolated in a small library, written specifically for each new platform. This platform specific library is called the Platform Abstraction Layer, and represents a small fraction of the Willows Twin Libraries code base, yet allows the software on each platform to take full advantage of specific functionality and native performance. The Willows Toolkit includes all the tools to port sources, resource compilers that allow you to include menus, bitmaps and icons in an application and a module definition compiler for building shared libraries. Architecture The Willows Toolkit is made up of : * TWIN32 & TWIN16 Libraries * TWIN Platform Abstraction Layer The Windows-compatible application interacts with the Willows TWIN Library the same way that the application works in a Windows environment: calling API functions, receiving messages, loading resources and even launching other Windows applications and DLLs. The TWIN Library interacts with the Willows Platform Abstraction Layer, making requests for graphical, window, or system operations and receiving responses or asynchronous messages. Binary Emulation To verify the implementation of the Willows TWIN API's, a Windows 3.x compatible binary loader has been written, that allows the Willows TWIN libraries to execute existing executables, dll's and drivers. The loader is a stand-alone Willows Application that has been linked to the Willows TWIN libraries, and routes calls from an existing application to the Windows 3.x API's to the corresponding Willows TWIN API. This application loader can successfully load and execute a wide range of existing applications, but for commercial application support, you should consider WABI from Sun, which is available on linux from Caldera. This link is an example screenshot of the Willows Twin Binary Emulator running a well known windows application running on Linux with the FVWM95 Window Manager. Supported Features Windows APIs (16- and 32-bit) MDI (Multiple Document Interface) Windows 3.x Common Dialogs * Animation * Choose Color * Choose Font * Find * Replace * Print * Open File * Save File Windows 32 Custom Controls * Drag List * Header Controls * Image List * List View * Progress Bar * Property Sheet * Status Windows * Tab Controls * Tool Bars * Tooltips Controls * Trackbars * Treeview Controls * Up-Down Controls Communication * WinSock * WNET * DDEML * Serial Driver Diagnostic Tools * API Profiling * Symbolic Debugger * Binary Emulation Clipboard Operations, Metafiles. Registration Database Support for .ini, .hlp, and .rc Files MFC 4 Support Development Tools * Resource Compiler * TwinHelp Help File Viewer * Graphical Configuration Tool | Back | ---------------------------------------------------------------------------- Copyright © The Canopy Group. All rights reserved. Revised: Jul 19, 1997