REVIEW - Cross-Platform Development in C++ - Building Mac OS X, Linux, and Windows Applications (Adobe Reader)

Title:

Cross-Platform Development in C++ - Building Mac OS X, Linux, and Windows Applications (Adobe Reader)

Author:

Syd Logan

ISBN:

9780132702188

Publisher:

Pearson Education (2007)

Pages:

576pp

Reviewer:

Alan Griffiths

Reviewed:

January 2009

Rating:

3 out of 5

With a few reservations I'd recommend this book as what it is: one man's experience of cross platform development.

There are a lot of features of C++ that the standard defers to the implementation (the size of ints, the sign of char, ...) and these can trip up the unwary when moving between platforms. Further there are variations in the libraries available and the tool chain used in building software.

Syd bases his book on his experience working for Novell on various projects but most of his solutions derive from Netscape/Mozilla. In particular the development of the user interface abstraction layer. In covering this he addresses language variations, availability of libraries and portable build tools including make, Autoconf/Automake and Imake. In the latter category I'd also recommend looking at SCons and bjam.

I enjoyed reading the book - it has a pleasant conversational style and it exposed me to options I'd either not been aware of previously or had no real life information about. I was particularly pleased to see a treatment of the team dynamics of ensuring that the integration build works for all supported platforms (the examples used are OS-X, Windows and Linux).

My interest did wane somewhat when, after presenting a couple of the existing portable user interface libraries (wxWidgets and XUL) he moves on to promoting a new one he's developed to illustrate the book. I guess Syd's interest also waned as the book ends not with concluding remarks but with a listing of the build process for this Trixul project.

Out of interest I visited the Trixul website - like many open source projects this shows little activity. Similarly the book website currently shows no errata (I noticed a few discrepancies between listings and text, but they don't spoil anything).

With a few reservations (indicated above) I'd recommend this book as what it is: one man's experience of cross platform development.


Book cover image courtesy of Open Library.