作者:Syd Logan
副书名:Building Mac OS X, Linux, and Windows Applications
出版日期:December 7, 2007
出版社:Addison Wesley
页数:576
ISBN:ISBN-10: 032124642X ISBN-13: 978-0321246424
文件格式:PDF
Product Description
Cross-Platform Development in C++ isthe definitive guide to developing portable C/C++ application code thatwill run natively on Windows, Macintosh, and Linux/Unix platformswithout compromising functionality, usability, or quality.
Long-time Mozilla and Netscape developerSyd Logan systematically addresses all the technical and managementchallenges associated with software portability from planning anddesign through coding, testing, and deployment. Drawing on hisextensive experience with cross-platform development, Logan thoroughlycovers issues ranging from the use of native APIs to the lateststrategies for portable GUI development. Along the way, he demonstrateshow to achieve feature parity while avoiding the problems inherent totraditional cross-platform development approaches.
This book will be an indispensable resourcefor every software professional and technical manager who is buildingnew cross-platform software, porting existing C/C++ software, orplanning software that may someday require cross-platform support.
Build Cross-Platform Applications without Compromise
Throughout the book, Logan illuminates histechniques with realistic scenarios and extensive, downloadable codeexamples, including a complete cross-platform GUI toolkit based onMozilla’s XUL that you can download, modify, and learn from. Coverageincludes
Policies 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 TrixulAbout the Author
Syd Logan is a softwaredeveloper living and working in Southern California. A graduate of SanDiego State University with B.S. and M.S. degrees in computer science,Syd was a member of the Netscape Client Product Development (CPD) team,where he held both engineering and management positions during thedevelopment of Netscape 6 and 7. After Netscape, Syd remained at AOLwhere he implemented VoIP and peer-to-peer video features as a memberof the AOL Instant Messenger team. Syd’s previous publications include Developing Imaging Applications with XIELib and Gtk+ Programming in C(Prentice Hall, 1997 and 2001). His technical interests include machinelearning, operating systems design, algorithms, and just about anythingthat has to do with C, C++, and Unix.