[Twisted-Python] We have Apple's ear
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
>> *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
> 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
> 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
> and if Apple were willing to throw some resources my way I might build
> 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