Advertisement
To print: Select File and then Print from your browser's menu
-------------------------------------------------------------- This story was printed from ZDNet Australia. --------------------------------------------------------------
Why Apple should support Microsoft's .Net

By Stephan Somogyi, ZDNet US
February 13, 2002
URL: http://www.zdnet.com.au/news/software/soa/Why-Apple-should-support-Microsoft-s-Net/0,130061733,120263446,00.htm


COMMENTARY: Will Microsoft's much-hyped .Net strategy affect the Mac world, too? Well, it just might--thanks to two open-source projects and OS X's Unix roots--and Apple should support the effort.

When Sun first announced Java in the mid-1990s, it promised software could be developed once and then executed on any underlying hardware and operating-system combination for which a Java Virtual Machine (JVM) had been developed. Since then, the grand "write once, run anywhere" promise hasn't really been delivered, but Java has become successful in niches that Sun didn't originally envision, for example, building server-based Web applications.

Microsoft's .Net distinctly reminds me of Java in its early days, since there's a lot of buzz surrounding it, but it's unclear how it will evolve once it's out in the real world. What's more, .Net appears to be a far-reaching endeavor; the likelihood of some of its pieces failing and others succeeding is quite high.

Microsoft's main competitor in the PC OS business is without question Apple. And while Microsoft has been exhorting its Windows developers to transition to .Net as quickly as possible, Apple's in the thick of its own transition from the Classic Mac OS to Mac OS X. However, Mac OS X doesn't address the same types of developer issues that .Net appears to.

If Apple remains too focused on Mac OS X as an end rather than a means, and if .Net gets as much traction as it's likely to (given that Microsoft is throwing all of its considerable oomph behind it), Apple may discover a hole in its developer strategy.

Consequently, my ears pricked up last week when I read that the Mono Project was "exploring" bringing the fruits of its labors to Mac OS X. Mono is a software effort underway at open source developer Ximian that aims to produce a portable, open source incarnation of various critical .Net building blocks. Mono's basic idea is to provide this .Net-compatible plumbing for Linux, allowing .Net applications to run on non-Microsoft, open source OSes. Since Mac OS X is based on BSD Unix, there's no good reason why Mono's efforts couldn't benefit OS X as well.

In a message posted to several GNOME lists last Wednesday, Mono project leader Miguel de Icaza answered many questions that had been flying his way from within the open source community about why he was working on a technology that some feel is aiding and abetting Microsoft. Tucked away within his long reply, de Icaza mentioned that Mono might come to OS X.

I contacted de Icaza to get more details. It turns out that parts of Mono are already running under OS X, but the larger engineering effort that would allow .Net applications to use Mac OS X's native Aqua user interface hasn't even started. In addition, the only processor architecture for which Mono has a speedy Just-In-Time compiler (JIT) is x86; Mono for PowerPC currently has only an interpreter, which runs much more slowly. At present, no one is working on a PowerPC JIT.

De Icaza appeared quite optimistic about delivering Mono on OS X. He guesstimates Mono will be running with a native UI--but probably sans JIT--on Mac OS X by this fall.

When I asked Apple about its attitude toward .Net, the company responded that Java is its platform of choice both for cross-platform development as well as Web applications, which need not necessarily be developed with Apple's own Java-based WebObjects frameworks. Apple also sees many developers coming over from the Unix side because of OS X's Unix-based underpinnings, a phenomenon confirmed by de Icaza, who described the growing proliferation of PowerBooks and iBooks in open source circles. Indeed, Apple's and Genentech's collaborative development of a G4-optimised version of the bioinformatics tool BLAST highlights the benefits of being able to take advantage of the wide availability of Unix-based software.

To be fair, Mono isn't the only .Net compatibility game in town. DotGNU shares many of the same goals as Mono, though the two projects are taking different philosophical and technical approaches to common problems. A quick search through various DotGNU lists archives yielded no substantive hits on Mac OS X, so it seems that Apple's new OS isn't a popular topic there. However, one feature the DotGNU toolset has that Mono lacks, and which is particularly pertinent to OS X, is a compiler that emits Java bytecode, which runs in a JVM.

This is another path to .Net compatibility for Apple's new OS, and one that may well lead to better performance in the short term, since Apple appears committed to the quality and performance of OS X's JVM. If the Mono project winds up producing a JIT for PowerPC processors, the competition between the two approaches will be interesting to watch.

While Apple has had notable success in attracting new developers to Mac OS X, Apple's long-term developer strategy doesn't appear to have a direct response to .Net's potential threat. Assuming that a UI-native Mono for OS X reaches completion, Apple would get .Net compatibility handed over on a silver platter, without having expended any time or effort of its own.

But Apple could significantly enhance its position by actively supporting Mono's development on Mac OS X--something which both Ximian and Apple are quick to point out hasn't happened to date--and offering an optimised version of Mono for OS X, just as it already does with many existing open source technologies.

It's been nearly a year since Mac OS X 10.0's release, and the OS continues to show great promise. Yet while OS X remains a work in progress, and Apple's engineers work hard to fill its remaining functional gaps, Apple should not lose sight of the bigger picture and pass up an obvious opportunity like this.


Copyright © 2009 CBS Interactive, a CBS Company. All Rights Reserved.
ZDNET is a registered service mark of CBS Interactive. ZDNET Logo is a service mark of CBS Interactive.