[FUGSPBR] OT: Java (Apple Darwin - BSD)
all.mac em eudoramail.com
all.mac em eudoramail.com
Seg Jul 30 21:04:30 BRT 2001
http://www.javaworld.com/javaworld/jw-07-2001/jw-0727-macworld_p.html
Macworld: Will Mac OS X be your next development platform?
Strong Java support from Apple continues with Mac OS X
Summary
The combination of Apple's Titanium laptop with the soon-to-be released
Mac OS X version 10.1 present two compelling reasons for you to make the
Mac your Java development platform. In this article, Daniel Steinberg
reports from last week's Macworld Expo in New York on Apple's Java news.
(1,600 words)
By Daniel H. Steinberg
July 27, 2001 -- It's been a busy six months for Apple. As promised, in
March the company shipped Mac OS X with Java 1.3 installed as part of
the OS. That fact alone makes the Mac a great target platform for
deploying Java applications. Many of the sessions at Apple's Worldwide
Developers Conference (WWDC) in May were led by the Java team who are
improving Java's performance on the platform. Further, for the first
time Sun Microsystems will incorporate some of Apple's innovations into
future JVM releases. Moreover, Apple's message at June's JavaOne
conference was summed up by its Java Technology Manager Alan Samuel: "We
at least want you to target Mac OS X when you deploy your applications.
After that, we want you to consider Mac OS X for your development." At
last week's Macworld Expo in New York, you could see products doing just
that.
Mac OS X and Java
Past Java-on-the-Mac articles in JavaWorld noted Apple's promised Java
features in Mac OS X, as well as reviews of what features were in beta.
Now that the OS is shipping, we can take a closer look.
Every Mac a Java 1.3 machine
Every Mac shipped today comes preinstalled with Mac OS X, each copy of
which features Java 2, Standard Edition (J2SE) 1.3. By September, Apple
will ship J2SE 1.3.1 with Mac OS X, and every current Mac OS X user will
be entitled to a free upgrade. At the same time, Microsoft will ship its
final version of IE 5.1 for Mac OS X that will include browser support
for Java 2 applets. Both developments represent compelling reasons for
Java developers to target Mac OS X: there is a single VM for the Mac,
and the client already has it installed. Consequently, your
application's downloads will be smaller.
Apple's Java performance twist
Apple has also improved the Java user experience by sharing libraries in
an interesting way. Some of Java's performance improvements stem from
smarter garbage collection. The idea: objects that have been around a
while tend to stay around a long time, so they don't need to be polled
quite as often. Apple, taking the idea further, looked at classes that
remain unchanged between different applications. For example, two
applications could share the same Swing code base. This sharing means
that your second Java application will load much more quickly, and the
total footprint will be smaller. Under this setup your first Java
application's startup time remains quite slow, but this should improve
with September's Mac OS X 10.1 release.
Java tools for the Mac
Because Apple built Mac OS X on top of Unix, you'll find your favorite
command-line tools available to you. It's great to spot Sun employees
and hardcore Java developers at conferences working away at Jini or
server-side Java applications on their Titaniums. They usually have the
terminal open (you can find the Terminal application in
Applications/Utilities), and use either Emacs or vi along with javac. At
May's WWDC, Apple CEO Steve Jobs said that by the end of the year, Apple
would be the leading Unix provider. While you don't have to use the Unix
tools, those who wish to will find BSD Unix with the enhanced C shell.
Furthermore, Apple now includes a developer's CD in every Mac OS X copy.
With that move, every Mac hobbyist who wants to create an application
has the tool support. Indeed, developers can use Apple's Project Builder
IDE for developing Java applications, although, as a multi-language IDE,
it does not provide the best support for Java. The tools bundle includes
the MRJAppBuilder to convert your Java applications into
double-clickable Mac applications. As such, you can take Java class
files from another platform, port them to the Mac, then wrap them with
MRJAppBuilder to produce applications that look as if they were
developed on and for Mac OS X. Apple does, however, suggest that for Mac
OS X-targeted applications, you take some time to make the experience
more Mac-like. For example, the wording and order of menus is different
in native Windows and Mac applications. You should display the menus
appropriate to the OS that the Java application will run on.
Java on Mac OS X special features
Apple has taken one of its greatest perceived negatives and turned it
into a positive over the last few years. The company has long been
criticized for not knowing whether it was a hardware or a software
vendor. Today, however, Apple's strategy strives to exploit this
end-to-end control. You can see this strategy in action with
hardware-accelerated Swing. Apple engineers can exploit their knowledge
of the video cards the platform supports. In a demo at the WWDC and
repeated at JavaOne, Apple showed a G4 Mac rotating an image while a
Pentium IV with four times the clock speed attempted the same task. The
G4 effortlessly flipped the image over and over while the Pentium IV
struggled to rerender the image and jerk it forward little by little.
IDEs benefit from hardware acceleration
Hardware acceleration represents good news for developers who want to
make the Mac their development platform. Many IDEs are large Swing
applications that look and feel better with this improved responsiveness.
Currently, hardware acceleration is an available option in the
developer's preview available from Apple's Apple Developer Connection
(ADC). The ADC has made the developer's preview available to both its
paying and free members, but you'll have to join first. For now, you'll
find hardware acceleration turned off by default, but the Readme
includes directions for setting the flag before running your Java
application.
Indeed, Borland's JBuilder 5 beta advises you to run this developer
release of Java and turn hardware acceleration on to take advantage of
its IDE. Borland will finalize JBuilder 5 on the Mac once developers
have access to the final version of Java 1.3.1. The JBuilder 5 demo also
showcases how well a large, full-featured Java application can run.
Seamless to the user
Moneydance personal finance software serves as an example of a consumer
application written in Java on Mac OS X. The application installs easily
and runs like any other Mac OS X application. Consumers need not know
the application was developed in Java. Sean Riley, CTO of Appgen
Personal Software, began developing Moneydance on Linux. After looking
to deploy on Mac OS X, he was drawn to the platform and now does all of
his Java development on Mac OS X.
Apple Java-enables its own technologies
Apple has also been Java-enabling its own technology. Apple engineers
rewrote WebObjects 5 in Java, and they added QuickTime 5 API support to
QuickTime for Java. In addition, Apple is wrapping some of Mac OS X's
functionality in JavaBeans available to developers. For example, you can
provide any Swing text component with the Cocoa spell checking
capabilities with just a couple of lines of code. If you develop on an
IDE, you can manipulate this bean as you would any other. Indeed, you
can view and change its properties to configure it for your application.
Apple has also wrapped Carbon's speech recognition and synthesizer
capabilities in JavaBeans so you can add them to your applications. You
can still write applications that "run anywhere" -- they just run better
on a Mac.
Limitations of developing on a Mac
The news isn't all good for Mac Java developers. If you need to access
the latest J2SE beta releases, you'll either have to hang on to your
Windows box or simply wait. Although Mac users have relatively quick
access to final JDK and JVM releases, the Apple Java team just isn't big
enough to deliver betas. While the JDK 1.4 beta has been available for a
couple of months to Solaris and Windows users, Apple's only 1.4
announcement is that it will be finalized shortly after Sun delivers the
official shipping release.
Sun needs to provide more support
Apple engineers commonly cite the cooperation and support they receive
from Sun. They speak of the collaboration with the Sun engineers across
the street, as well as the Sun engineers on loan to the Apple Java team.
With the commitment that Apple has made to Java, Sun owes Apple more.
Even though Sun has to create the Windows implementation of Java, it
could at least provide more engineers to help Apple in its porting
efforts. It's like high school dating. You had no interest in that
person who would do anything for you; meanwhile, you hopelessly pursued
the popular one who could have cared less about you. It would be nice to
see Sun putting more effort into helping with the Java implementation on
the Mac.
Developers clamor for more Mac OS X Java support
Further, in public Apple will only commit to supporting the official
J2SE stack. Apple developers, however, again and again ask for certain
packages. Apple has announced that it will soon support Java Web Start,
JSSE (Java Secure Socket Extension), and then look at Java 3D. Apple
engineers note that since the other pieces fit well on top of it, they
have focused hard on supporting the J2SE core and improving the
performance. As for Java 2, Enterprise Edition (J2EE) support,
enterprise applications can currently run on Mac OS X; Apple just won't
promise you that they will. As the Mac OS X server story evolves, we may
hear more about J2EE support.
Interface Builder is Apple's tool for visually providing the Aqua look
and feel to Cocoa applications. Java developers consistently request
that Apple provide Interface Builder support for building Java apps. At
conferences Apple always responds that it has no plans to add such
support. Indeed, the company recommends JBuilder 5 as the tool for
visually designing Swing components.
The future
Within two months, when Apple ships Mac OS X 10.1 with Java 1.3.1
included, the entire Mac OS X install base will have free access to the
most up-to-date version of Java. Moreover, right now you can choose from
a variety of Java development tools available on the Mac, with more on
the way. With Microsoft pulling Java support from Windows XP, Mac OS X
represents today's strongest platform for client-side Java development.
Considering all that, current Windows-based Java developers who don't
require Java beta releases should think about moving from Windows to Mac
OS X.
About the author
Daniel Steinberg is the director of Java offerings at Dim Sum Thinking,
Inc. He learned to program in C and C++ on a Macintosh to help his
research on elastic curves in hyperbolic space before moving to Java.
Daniel teaches courses in Java and object-oriented architecture and
design, and has become quite fond of many of the practices of XP. He
cowrote the Java2 Bible from Hungry Minds. He thinks that the first
words spoken by his daughter Maggie Rose were "my Mac" -- his wife
thinks Maggie was saying "Mama." Maggie knows that she was asking
clearly for an "iMac" and keeps hinting that an iBook would be nice for
her fifth birthday. Her younger sister Elena is less subtle and has
announced that now that she's two she "needs" a Titanium Powerbook.
Home | Mail this Story | Resources and Related Links
Advertisement: Support JavaWorld, click here!
(c) Copyright 2001 IDG.net, an IDG Communications company
Resources
* For Daniel Steinberg's report from January's Macworld Expo, see
"Macworld Report: Big News for Macintosh Enthusiasts," (JavaWorld,
January 2001):
http://www.javaworld.com/jw-01-2001/jw-0119-macworld.html
* "Macworld: Java 2 for the Mac Almost Ready," (JavaWorld, August
2000), Daniel Steinberg's Java report from the Summer 2000 Macworld
Expo, can be found by going to:
http://www.javaworld.com/javaworld/jw-08-2000/jw-0804-macworld.html
* "Microsoft Throws Java Out of Windows XP," Kuriko Miyake and
Stephen Lawson (JavaWorld, July 2001):
http://www.javaworld.com/javaworld/jw-07-2001/jw-0718-idgns-xpjava.html
* For all Macintosh-related Java articles on JavaWorld, go to the
Mac-specific Java section of our Topical Index:
http://www.javaworld.com/javaworld/topicalindex/jw-ti-macjava.html
* The Macworld Expo Website can be found at:
http://www.Macworldexpo.com/
* For more on Apple's Java efforts, see the company's Java
developers' page at:
http://developer.apple.com/java/
* JBuilder is available from Borland at:
http://www.borland.com
* Moneydance:
http://www.moneydance.com
* Sign up for the JavaWorld This Week free weekly email newsletter to
learn what's new at JavaWorld:
http://www.idg.net/jw-subscribe
* You'll find a wealth of IT-related articles from our sister
publications at IDG.net
Send feedback
URL: http://www.javaworld.com/jw-07-2001/jw-0727-macworld.html
Last modified: Friday, July 27, 2001
----
Para sair da lista envie um e-mail para majordomo em fugspbr.org
com as palavras "unsubscribe fugspbr" no corpo da mensagem.
Mais detalhes sobre a lista de discussão freebsd