Cross-Platform Development in C++ is the definitive guide to developing portable C/C++ application code that will run natively on Windows, Macintosh, and Linux/Unix platforms without compromising functionality, usability, or quality. Long-timeMoreCross-Platform Development in C++ is the definitive guide to developing portable C/C++ application code that will run natively on Windows, Macintosh, and Linux/Unix platforms without compromising functionality, usability, or quality.
Long-time Mozilla and Netscape developer Syd Logan systematically addresses all the technical and management challenges associated with software portability from planning and design through coding, testing, and deployment. Drawing on his extensive experience with cross-platform development, Logan thoroughly covers issues ranging from the use of native APIs to the latest strategies for portable GUI development. Along the way, he demonstrates how to achieve feature parity while avoiding the problems inherent to traditional cross-platform development approaches.
This book will be an indispensable resource for every software professional and technical manager who is building new cross-platform software, porting existing C/C++ software, or planning software that may someday require cross-platform support. Build Cross-Platform Applications without Compromise Throughout the book, Logan illuminates his techniques with realistic scenarios and extensive, downloadable code examples, including a complete cross-platform GUI toolkit based on Mozillas XUL that you can download, modify, and learn from.
Coverage includesPolicies and procedures used by Netscape, enabling them to ship Web browsers to millions of users on Windows, Mac OS, and LinuxDelivering functionality and interfaces that are consistent on all platformsUnderstanding key similarities and differences among leading platform-specific GUI APIs, including Win32/.NET, Cocoa, and Gtk+Determining when and when not to use native IDEs and how to limit their impact on portabilityLeveraging standards-based APIs, including POSIX and STLAvoiding hidden portability pitfalls associated with floating point, char types, data serialization, and types in C++Utilizing platform abstraction libraries such as the Netscape Portable Runtime (NSPR)Establishing an effective cross-platform bug reporting and tracking systemCreating builds for multiple platforms and detecting build failures across platforms when they occurUnderstanding the native runtime environment and its impact on installationUtilizing wxWidgets to create multi-platform GUI applications from a single code baseThoroughly testing application portabilityUnderstanding cross-platform GUI toolkit design with Trixul