Journal Articles

CVu Journal Vol 15, #5 - Oct 2003
Browse in : All > Journals > CVu > 155 (10)

Note: when you create a new publication type, the articles module will automatically use the templates user-display-[publicationtype].xt and user-summary-[publicationtype].xt. If those templates do not exist when you try to preview or display a new article, you'll get this warning :-) Please place your own templates in themes/yourtheme/modules/articles . The templates will get the extension .xt there.

Title: Mac OS X Tech Talk Tour:

Author: Administrator

Date: 03 October 2003 13:16:00 +01:00 or Fri, 03 October 2003 13:16:00 +01:00

Summary: 

UNIX on the Desktop

Body: 

On a bright clear day on the outskirts of London, I sat in a lush hotel seemingly staffed exclusively by beautiful people with exotic accents, waiting for my sandwich. Businessmen in expensive looking suits, and hippies with expensive looking Apple notebooks surround me.

As I read about the war going on halfway around the world in the 'free' newspaper laid on by the hotel I can hear two men with beards wage their own private battle with their network configuration and the connection to the hotel's wireless network gateway.

There is an O'Reilly stand selling Unix and Apple books outside the conference room. Later I will learn that they are discounted by 25%, but by then it will be too late. There is a "free" CD on each chair, containing the latest version of the Apple Developer Tools.

There are maybe 100 people; just over half the seats are occupied. I overhear someone observe that there is only one woman - an unusually low male to female ratio for an Apple event, apparently.

The presentation will be delivered using Apple hardware, but initially there is a problem with feedback from the radio mic.

System Architecture and UNIX

The first presentation is an overview of the OS X System Architecture. They talk about how Quartz uses PostScript, and how well Quartz Extreme integrates with hardware acceleration.

They go on to talk about the wide selection of languages available to the developer, and how the POSIX compatibility is "mostly done", and that Apple are now committed to Open Standards. For graphics / UI development there is OpenGL, GLUT, X11, and of course Carbon and Cocoa. They noted that AliasWavefront used X11 as a way to rapidly port Maya to OS X, and went on to get 20% new sales on the platform.

There was mention of Fink, which pretty much got an official recognition, despite Apple admitting that they were looking into doing their own BSD style "Ports" system.

Developers moving from UNIX need to be aware that HFS (native file system) is case insensitive (but case preserving), and that resource forks are still supported, but should be thought of as deprecated.

Developers can of course use ".dot" files for configuration, but that OS X comes with its own XML based system for this.

There was talk about Frameworks, and all the places that they can live. For example Safari has two unfinished frameworks, "webcore" and "webscript", which are currently bundled into the application. When the APIs are stable Apple will move these frameworks into /System/Library/Frameworks/ where they can be used by everybody.

Java

Java 1.4.1 is now available for Mac OS X. Apple's Java engine is now based on Cocoa, which is closer to the Java model than Carbon, which was the framework 1.3.1 was written with, and so the Java VM is tighter and less bloated (300 implementation classes as opposed to 900 previously). 1.4.1 also has better Safari and Keychain integration. The new JVM also has the new shared system library technology, which reduces the overhead in running multiple Java apps on one system. Apple are clearly very happy with the new JVM, with claims that it is "the best JVM implementation in the world".

Cocoa

Cocoa, the Objective-C API for OS X is a "proved" RAD environment. The Apple developers use it, and Project Builder to do their internal development, and the quality and quantity of the output of the software division of Apple has measurably increased.

On a personal note I was very sceptical about Objective-C, but have to say I was impressed by what Apple had to say about this. A lot of people claim this or that about whatever development language, environment, or methodology, but very few have actually done any genuine productivity studies to back up their claims.

Anyway, they talked a lot about how Objective-C worked, but it's not something I want to try to go into details here - I wrote a lot of notes, but I don't think it would make very good reading. If you're interested there are lots of good books. The demo was very very impressive, in that they wrote a simple application from scratch in front of us, then delved into the application bundle, and changed one of the GUI widgets from a text entry box to a slider-bar and the app worked with the new UI without recompilation.

AppleScript

The final presentation was on AppleScript. Apple considers AppleScript to be a first class citizen of the developer tool world, and something that you can use to write real applications. It's not just Yet Another Scripting Language. It is a Mature Language that they have done a lot of research into and done a lot of work on and in.

You can embed shell scripts in AppleScript, and you can script Java apps with it. Basically any GUI app on the Apple platform "supports" AppleScript, because AppleScript support is built into the OS.

Notes: 

More fields may be available via dynamicdata ..