
On Wednesday, Jan 29, 2003, at 13:38 America/New_York, Glyph Lefkowitz wrote:
Apple er.. screwed up a lot of ./configure options when building the 2.2 build that ships with OS X. If the thing was built properly it'd be ready to do full GUI applications (Modules to interface with CoreFoundation, Carbon, etc), it even builds a GUI application launcher *and* an IDE!
I'd like to add to this that Python support included in Apple's dist of ProjectBuilder, even if it were something as trivial as syntax highlighting, would really be a nice thing.
bbum did that last month. I haven't tried it personally (I'm a VIM user), but I imagine it works :) http://radio.weblogs.com/0100490/2002/12/20.html I'd imagine if the Python community had more of an in w/ the Cupertino crowd this could easily make it into the next developer tools update.
Seriously, the biggest problem with Twisted on the mac is that we're still very much living in a Unix mindset, and we have no platform-idiomatic tools for either development or deploying applications on OS X. I'm upset that I haven't had enough time to work on Twisted as a platform (porting an application to a platform like OS X ought to be a complete no-brainer, but it clearly isn't!), and if Apple were willing to throw some resources my way I might build the Cocoa front-end to COIL before rewriting the web one. I'd sure like to have an excuse, especially a paid excuse, to write apps using IB.
FYI, installing pyobjc adds a Python template for developing GUI pyobjc apps. You don't need to do anything special to use nibs with pyobjc, works just like it does with Cocoa or AppleScript. I've played around with outlets and such with no problems, YMMV of course. It may be of some interest that Apple's WebObjects offering does something kinda similar [client-side gui/web app hybrids.. mostly for database apps], but only in java using a very CoreFoundation-like API... so it's like programming in ObjC, only slower. I don't have time to play with WebObjects at all, but I get legitimate copies whenever a new release comes out (two sitting in a drawer, and counting). If anyone wants to borrow the books or something to see if there's any good ideas worth borrowing just let me know.
However, even given my existing Apple hardware, I'm unlikely to spend any of my own time volunteering to enhance Apple's operating system with Twisted if I have to keep shelling out $129.95 every few months for the privilege. I would really appreciate a no-cost license to Apple's software offerings, or at least enough of them to do GUI application development with Twisted.
<evangelism> A few months is more like 18-24.. that's like a pack of manhattan cigarettes a month, at most. It's pretty affordable. If you're an ADC Select ($500/yr) or Premier ($3500/yr) member then license for all of their operating systems is included along with the betas and the ability to report bugs that they'll actually read.. among other things. One of the nice things you get with a Premier subscription is 10 hardware discounts a year, we've saved more than $3500 (6 purchases so far) on our overpriced computer equipment this year.. A hardware discount is usually about 20% off anything they sell (even accessories, like iPods). One hardware discount counts for one desktop or laptop with whatever accessories.. so you can turn out pretty well. </evangelism> In any case, if one wants to deploy a Mac OS X 10.2+ application developed solely in python (using the installed python 2.2 runtime to minimize the distribution size), with or without Twisted, everything is already out there to do it.. you just have to know where to look and/or who to ask for the relevant information. As a side note, I mentioned Twisted and my hackish method for writing the cocoa demo on the pyobjc list a week or two ago in response to a query about asyncore. The whole issue sparked some interest with the core developers and they've been actively working on a better way of doing it than polling. Jack Jansen just recently started working on a module that intelligently manages the Python GIL (Global Interpreter Lock) so that the ObjC and Python threads will play together efficiently... so perhaps in a few weeks, when the dust settles in my world and pyobjc is a bit more stable, I'll be able to develop a Cocoa reactor (which will be rather easy pretty soon) and some more advanced examples. -bob