Kevin Walzer: While Tcl/Tk is designed to be a cross-platform toolkit, it is entirely possible to use it to focus on developing for a single platform. In my case, I develop shareware for
MacOS X. Here are some strategies to keep in mind if you develop for a single platform:
1. Look for platform-specific extensions to integrate as deeply as possible with your chosen platform. In my case, I use a lot of packages that are Mac-specific: see
http://www.codebykevin.com/opensource/oss.html
for listings and downloads. These packages provide customized widgets that are more native in appearance and behavior than some Tk widgets, and also hook into system API's to provide platform-native functionality.
2. Keep experimenting with the look-and-feel of your programs. As I have gained more experience, I've moved away from developing in a cross-platform fashion to emulating interface fashions on OS X. One example can be seen at
http://www.codebykevin.com/opensource/
. The older version of one of my programs, PortAuthority, used a toolbar the way most Tk developers present it: a row of toolbuttons, with an image, embedded in a frame. This style looks outdated on the Mac, however, so I implemented a Mac-style toolbar that uses labels and multiple images to more closely emulate platform style. The before-and-after screenshots show the difference.
In my case, the reason for this deep push into platform-specific look-and-feel and behavior is to increase the sales of my programs. If you are developing cross-platform software on a commercial basis, some trade-offs may have to be made.
Mac-specific Tk Extensions