Sep 97 MacTech Online
Volume Number: 13
Issue Number: 9
Column Tag: MacTech Online
MacTech Online
by Nicholas C. "nick.c" DeMello <online@mactech.com>
No coffee jokes. Simply put: it's time to get serious about Java. The promise of Java
was that Java compiled code would not be restricted to a specific type of computer.
While a C program must be compiled for a single chipset (Power PC, Mac 68k,
Pentium, NeXT, etc.), Java was intended to be compiled for a virtual machine. Java
virtual machines (Java interpreters) could be created for all platforms, so the
program you compile on your Mac could then be copied to -- and run on -- any
computer your customer might own.
That was the theory. But before it could happen Mac OS resident Java developers needed
a Mac OS virtual machine. We also needed Mac OS Java compilers, sufficient
documentation, tutorials and example code to get started. Guess what? The tools are
online. Java is ready for us and it's time to get to work.
Starting Points
Sun has put a wealth of Java documentation online, including a description of the
history and nature of Java by Jason English -- definitely worth reading. A good
starting point for exploring Mac OS Java resources is the Apple Flavored Java pages
and make sure to check out the ACM Java Pages by Omar Patiño Sileceo for other
valuable links.
At MacWorld this year Apple announced Macintosh Runtime Java 1.0--a Java virtual
machine for the Mac. Mac OS 8 will incorporate MRJ 1.02 (available now on Apple's
Java site), and Apple is expected to ship MRJ 1.5 (final) one month after Mac OS 8 is
released. MRJ 1.5 includes a JIT (just in time) component but is not fully Java 1.1.1
compliant. Early tests indicate MRJ 1.5 will have tremendous performance boost due
to its JIT component. Webintosh's JVM Showdown has an excellent discussion of what
JIT is and how it effects JVM performance.
Sun's Java Documentation
http://www.javasoft.com/docs/
Apple Flavored Java
http://www.mbmdesigns.com/macjava/
The ACM Java Pages, by Omar Patiño Siliceo
http://acm.org/~ops/java.html
MRJ, Runtime Java for the Mac
http://applejava.apple.com/
The JVM Showdown
http://www.webintosh.com/features/jvm.html
Getting Educated
Mary Campione and Kathy Walrath have authored the definitive Java Tutorial, an
amazingly deep, multi-layered document that is really five tutorials in one. The five
sections offer increasingly challenging content: the basics of Java programs; writing
applets; creating a user interface; networking & security issues; and integrating
native methods into Java programs. Another good introductory tutorial is Elliote Rusty
Harold's "Brewing Java" site.
When you get past the basics check out two advanced tutorials by Stefan Koch and
Nelson Yu. Stefan's "KneeDeep" in Java site requires a working knowledge of Java, but
will lead you through some very kool projects. The AWT tutorial gets into the details of
how to use the abstract window toolkit to manipulate many standard GUI components
such as buttons, lists, menus, and text areas. It also requires a working knowledge of
Java.
The Java Tutorial, by Mary Campione and Kathy Walrath
http://java.sun.com/docs/books/tutorial/
http://java.cs.uni-magdeburg.de/java/dokus/Tutorial/
Brewing Java by Elliotte Rusty Harold
http://sunsite.unc.edu/javafaq/javatutorial.html
KneeDeep in Java by Stefan Koch
http://rummelplatz.uni-mannheim.de/~skoch/javatut/kneedeep.htm
Nelson Yu's AWT Tutorial
http://java.cs.uni-magdeburg.de/dokus/AWT.Tutorial/AWT.Tutorial.html
The Java FAQ at digital focus is host to two essential Java references. Click on the "How
do I...?" or "Java resources" links to post and answer Java questions or tour one of the
most extensive collection of Java links on the web. Usenet's comp.lang.java newsgroup
has recently been divided into eight component newsgroups, but the comp.lang.java FAQ
lives on. It is regularly posted to comp.lang.java.programmer, and can also be accessed
on the sunsite web server. Looking for example code? Visit the Java Class Warehouse,
GeoJava Corner, and Gamelin's Java Tools page.
The Java Developer FAQ
http://www.digitalfocus.com/digitalfocus/faq/index.html
How do I ...?
http://www.digitalfocus.com/digitalfocus/faq/howdoi.html
The comp.lang.java newgroups
http://www.javasoft.com/aboutJava/newsgroups.html
The comp.lang.java FAQ
http://sunsite.unc.edu/javafaq/javafaq.html
The Java Class Warehouse
http://www.jtauber.com/java/jcw
GeoJava Corner
http://www.ggrweb.com/geojava/
Gamelin's Java Tools Page
http://java.developer.com/pages/Gamelan.util.html
Parting Shots
That's it for our tour of Java. We'll leave you with a few final links to explore on your
own. Keep your eye on Marimba. The Castanet technology is still rough, but very
promising...
Marimba, home of Castanet, Streaming Java, Castanet will be included
in Mac OS 8
http://www.marimba.com/
WWDC '97, Internet Technologies Track, Where Apple is going with
Java
http://devworld.apple.com/dev/WWDC/internettechnologies.html