About The Book

Cross-Platform Development in C++ is a book that has something to offer anyone who is involved in the development of desktop applications that must run on more than one platform.

Google Groups
cross-platform-book
Visit this group

This book presents best practices and architectures that were developed and used by the engineers and managers at Netscape, as well as Mozilla, during the development of the Netscape 6 and 7 browser suite. As the engineer responsible for the cross-platform user interface of Netscape 6 Instant Messenger, I had a first-hand view of what it took for Netscape to deliver a complex application to tens of millions of users, one that supported not only Windows, but also Linux and Mac OS X. All at the same time, and all with the same relative level of quality.

The book consists of 23 Items, broken down into 6 sections. You will learn how to set up tools that helped Netscape and Mozilla do their jobs efficiently, and which helped foster collaboration and communication across development teams. You will learn what management policies and best practices were helpful in ensuring that Netscape met their cross-platform goals. You will learn about the platforms involved in detail, and be given suggestions for how to deal with issues like cross-platform installation.

User interface is a major (and difficult) aspect of cross-platform desktop application development. The book introduces the general problem, and spends the two final sections of the book covering this important topic. The first of these sections provides a fairly detailed look at the wxWidgets GUI toolkit, while the final section of the book explores the general architecture of Netscape’s XPToolkit, and introduces a toolkit that was written especially for this book — Trixul. A deep dive into the architecture of Trixul is then presented, helping you to understand the principles behind XML and scripting language-based toolkits like XPToolkit and Trixul, as well as others that are beginning to appear both as open source, and commercially.