Beschreibung

Java ist eine objektorientierte, plattformunabhängige Programmiersprache. Üblicherweise benötigen Java-Programme zur Ausführung eine spezielle Umgebung (Java Virtual Machine). Der Vorteil ist, dass nur diese Umgebung an verschiedene Computer und Betriebssysteme angepasst werden muss. Sobald dies geschehen ist laufen auf der Plattform alle Java-Programme ohne Anpassungsarbeiten. Java ist vor allem auf der Serverseite sehr verbreitet. Microsoft hat als Konkurrenzprodukt .NET entwickelt, das aber im Gegensatz zu Java nicht quelloffen und nur für Microsoft Betriebsysteme verfügbar ist.

Da Java über eine eigene Oberflächenimplementierung (namens Swing) verfügen muss, um portierbar zu sein, sehen Masken von Javaprogrammen oft nicht genauso wie native (speziell für das System entwickelte) Masken aus, da Java die Masken selbst darstellt und dafür keine Systemresourcen verwendet. Das führt dazu, dass Javamasken oft nicht exakt dem OS-Standard entsprechen. Des weiteren kann sich das Verhalten bei Tastatureingaben deutlich von der der Gastgeber-Plattform unterscheiden. Das ist ein oft genannter Kritikpunkt an Java. Deshalb hat IBM das Projekt SWT vorgestellt, das auch für Mac OS X verfügbar ist und native Bedienelemente (GUI - Graphical User Interface) zur Verfügung stellt, die in Aussehen und Verhalten exakt den OS-eigenen Bedienelementen entsprechen.

Apple hat aber auch für Swing einige Besonderheiten in peto. So wurde der Event- und Paint-Mechanismus von Swing intern erweitert und an die systemeigenen Events gekoppelt, weswegen sich Swing unter Mac OS X wesentlich besser verhält als auf anderen Plattformen. Auch die in Swing nicht vorgesehene Menüleiste am oberen Bildschirmrand ist verfügbar.

Des weiteren bot Apple eigene, über das normale Java-Framework hinausgehende Java-Bibliotheken an, die direkt an das Cocoa-Framework gekoppelt waren. Programme, die diese Bibliotheken nutzen, lassen sich jedoch nicht mehr auf andere Systeme portieren. Das neue Update 4 der Java Standard Edition 7 ist das erste von Oracle entwickelte Java-Release. Seit Oktober 2010 wird Apples eigene Java-Implementierung nicht weiter entwickelt.

Mac OS X ist das einzige nennenswerte kommerzielle OS, das mit einer Java VM plus Entwicklungsumgebung ausgeliefert wird.

Als großer Vorteil von Java wird oft die einfach zu erlernende Syntax und das sehr strikte Sprachkonstrukt angeführt, das Java deutlich von weitaus komplexeren Sprachen wie C++ abhebt. Da Java keine Altlasten der früheren prozeduralen Sprachen wie C herumtragen muss, konnte eine wesentlich striktere Sprache konstruiert werden, die aber in ihrer Leistungsfähigkeit anderen objektorienter Sprachen in nichts nachsteht.

Programmierung

Man kann mit dem kostenlosen SDK (Software Development Kit) von Apple Java-Applikationen programmieren. Die dafür notwendige Applikation nennt sich Xcode und findet sich auf der Zusatz-CD 'Developer-Tools'. Jedoch ist die Javaunterstützung von Xcode bei weitem nicht so ausgereift wie bei den Alternativen Eclipse, JDeveloper oder NetBeans, die übrigens ebenfalls kostenlos sind. Metrowerk (CodeWarrior) sowie JetBrains (IntelliJ) bieten kostenpflichtige IDEs (Integrated Development Environments) an, wobei IntelliJ als die komfortabelste gilt.

Zur Entwicklung von Applikationen für Handys und Smartphones bietet Sun das kostenlose Java ME Platform SDK seit Version 3.0 auch für Mac OS X 10.5 und höher an. Somit ist es neuerdings möglich mobile Anwendungen auf dem Mac zu entwickeln.

Java-Versionen wechseln

Für Tiger-User ist J2SE in der Version 5.0 verfügbar. Unter Umständen ist es für den Betrieb älterer Programme nötig, diese wieder unter 1.4.2 zu betreiben. Dazu wählt man unter Dienstprogramme die Java Einstellungen in Version 5.0 aus und nimmt folgende Einstellungen vor:

Fragen und Antworten

Q: Hat jemand RMI mit SDK 2.2.5 auf Mac OS 9.2 zum Laufen gekriegt?
Bei mir kommt die Fehlermeldung dass das Programm nicht den xxx_stub.class findet.

A: Du musst die Klassen die Remote implementieren mit dem rmic bearbeiten, der die client und server stubs erzeugt. Die müssen dann auch im classpath vorhanden sein.

Q: Danke erst mal fuer die Antwort ! ich habe mit rmic die _stub und _skel erzeugt auch das Interface ist in dem Classpath (unter OSX laueft das ganze ja, jedoch nicht unter Classic), irgend eine Idee ? hast Du unter Classic eine RMI Anwendung zum laufen gekriegt, oder kennst Du eine Quelle in der das fuer Classic beschrieben ist ? Leider bin ich auf Classic angewiesen, da ich die RS232 brauche.

Literatur

  • Norman Hendrich: Java für Fortgeschrittene, Berlin (Springer) 1997
  • Fritz Jobst: Programmieren in Java, München (Carl Hanser Verlag) 2. aktualisierte und erweiterte Auflage 1999
  • André Meyer: JFC 1.1 mit Java Swing 1.0. Ein Tutorial für die Gestaltung grafischer Benutzerschnittstellen, Bonn (Addison-Wesley) 1998
  • Thomas Much: Java für Mac OS X, Galileo Computing (Bonn) 2005
  • Christian Ullenboom: Java ist auch eine Insel (Java 5), Galileo Computing (Bonn) 2005
  • Christian Ullenboom: Java ist auch eine Insel (Java 6), Galileo Computing (Bonn) 2006

Verweise

Kategorien
Java, Leopard, Softwareentwicklung, Systemprogramme

Zuletzt geändert am 07.05.2013 16:26 Uhr von Jan ( Besuche)

© 2004 – 2024 ApfelWiki

Impressum - Datenschutz

cb