Code by Kevin, Programming, code, business, and other pursuits
Kevin Walzer, software developer.
Subscribe to RSS Feed
Get a syndicated feed of my weblog.
Site design: Skeleton
I've been working through the Bible of Cocoa programming, Cocoa Programming for Mac OS X by Aaron Hillegass. Hillegass is a good writer, and he tries mightily to make the Cocoa frameworks accessible. But they are difficult and complex. What makes them even harder to learn is that my heart simply isn't in it: I have no interest in Cocoa apart from what Apple has coerced.
I have become so productive with Tk as a GUI programming framework, accessed from the Tcl and Python programming languages, that I'm quite content to continue working in that vein. The programs I've developed in these languages are non-trivial. Porting them to Cocoa not only requires me to learn Cocoa, but to unlearn my present means of working. And this holds true whether I access Cocoa from the low-level Objective-C language or use a higher-level wrapper, such as PyObjC.
So instead of marching through Cocoa hell, I'm saying: to hell with Cocoa. I'm not rewriting my programs, thousands of lines of stable, debugged code. I'm sticking with Tk.
Of course, this doesn't alleviate my earlier concern that Tk is built on top of Carbon. Other cross-platform toolkits using Carbon have outlined plans to integrate Cocoa. Not so for Tk, at least not yet. I feel bad that I don't have the low-level chops to contribute toward porting Tk to Cocoa. I will instead release as open-source some of the Tk code I've developed recently to improve the Mac look-and-feel of my programs: that way others can benefit from the work I've done.
Based on a recent mailing list thread, I have faith that Tk will continue to evolve to the degree necessary to remain a viable development environment on OS X. I may not have the skills to ensure this, but others do. Tk may never be cutting-edge, but that's OK.