[Twisted-Python] We have Apple's ear

Bob Ippolito bob at redivi.com
Wed Jan 29 18:26:51 EST 2003

On Wednesday, Jan 29, 2003, at 13:38 America/New_York, Glyph Lefkowitz 
>> 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 :)

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.

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.

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 


More information about the Twisted-Python mailing list