[PDF version] [PowerPoint slides] [PDF slides] [Other MacHack 20 Papers]
One of the many difficulties that Macintosh software developers must face is how to justify to their management the expense of development on the Mac when less than 1/10 of users are on it. Cross-platform development seems to be the only economically feasible way, yet so many of these approaches give you "lowest common denominator" solutions. This paper will detail some of the many approaches to cross-platform development from a Macintosh perspective, looking at the pros and cons of various frameworks and modern RAD applications. Highlights and pitfalls will be addressed for environments such as REALbasic and Java, but most emphasis will be placed on a C++ development perspective. Frameworks such as CPLAT, wxWidgets (formerly wxWindows) and Qt will be looked at, as well some legacy frameworks. Design principles which expedite a cross-platform strategy (such as MVC) will also be discussed. In the end, some recommendations can be made for best practices and viable approaches, plus downloadable sample projects will be made available.
Enclosed is a stuffed archive containing a CodeWarrior 9.4 project with Windows and Macintosh targets creating a sample DLL. Also included is a REALbasic 5.5 project which creates Macintosh and Windows applications which talk to the DLL. Coming soon: Xcode 2.1 project with Universal Binaries.
macCompanion Update! (11/2/06):
In the November 2006 issue of macCompanion, the According to Hoyle column discusses the use of C/C++ with REALbasic. For that article, the aforementioned sample project is being updated to using Xcode 2.4. Check back within the next week for this project.
For more information, contact me at firstname.lastname@example.org