De:NeoOffice und Aqua

From NeoWiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 15:40, 4 February 2006 (edit)
Yessica ( | contribs)

← Previous diff
Revision as of 15:56, 4 February 2006 (edit) (undo)
Yessica ( | contribs)

Next diff →
Line 57: Line 57:
NeoOffice ist eine Mac-OS-X-Version von [[OpenOffice.org]], die kleine Mengen von Java-Code für das Zeichnen und Konfigurieren von Graphiken verwendet. NeoOffice ist eine Mac-OS-X-Version von [[OpenOffice.org]], die kleine Mengen von Java-Code für das Zeichnen und Konfigurieren von Graphiken verwendet.
-OpenOffice.org ist in erster Linie für "plattformunbekanntes" C++ geschrieben. NeoOffice takes advantage bedient sich jedoch der fortgeschrittenen Mac-OS-X-Integration von Java, um die Mac-OS-XOberfläche anzuzapfen. Mit anderen Worten: Die kleinen Anteile an Java in NeoOffice haben hauptsächlich mit Vorgängen zu tun, die beeinflussen, wie das Programm aussieht. Der Kern des Officepakets ist in C++ geschrieben. (Der Code, aus dem that makes NeoOffice besteht, ist zu 99% OpenOffice.org-Code, der von allen OpenOffice.org-Plattformen benutzt wird, und zu 1% spezieller Mac-OS-X-Code in Java, C++, C und Objective-C.) +OpenOffice.org ist in erster Linie für "plattformunbekanntes" C++ geschrieben. NeoOffice bedient sich jedoch der fortgeschrittenen Mac-OS-X-Integration von Java, um die Mac-OS-X-Oberfläche anzuzapfen. Mit anderen Worten: Die kleinen Anteile an Java in NeoOffice haben hauptsächlich mit Vorgängen zu tun, die beeinflussen, wie das Programm aussieht. Der Kern des Officepakets ist in C++ geschrieben. (Der Code, aus dem that makes NeoOffice besteht, ist zu 99% OpenOffice.org-Code, der von allen OpenOffice.org-Plattformen benutzt wird, und zu 1% spezieller Mac-OS-X-Code in Java, C++, C und Objective-C.)
Der läuft NeoOffice nur auf Macintosh-Computern mit [[Wikipedia:Mac OS X|Mac OS X]] 10.3.x oder 10.4.x - nicht unter Mac OS 9, Mac OS X 10.2 oder weniger, Windows, Linux, Darwin oder irgendeiner anderen Art von UNIX. Der läuft NeoOffice nur auf Macintosh-Computern mit [[Wikipedia:Mac OS X|Mac OS X]] 10.3.x oder 10.4.x - nicht unter Mac OS 9, Mac OS X 10.2 oder weniger, Windows, Linux, Darwin oder irgendeiner anderen Art von UNIX.
Line 63: Line 63:
===Wie wird Java in NeoOffice verwendet?=== ===Wie wird Java in NeoOffice verwendet?===
-Wie oben erwähnt ist Java hauptsächlich dazu da, an das Mac-OS-X-Aussehen heranzukommen. Was NeoOffice zum Laufen bringt, ist nicht Java selbst, sondern eher die Bibliotheken, die dabei sind, wie Java 2D zum Zeichnen und AWT für Menüs. Sie gehören schon zu Apple insofern als Java 2D eigentlich Quartz und AWT Carbon ist. [http://trinity.neooffice.org/modules.php?name=Forums&file=viewtopic&p=4218#4218]+Wie oben erwähnt ist Java hauptsächlich dazu da, an das Mac-OS-X-Aussehen heranzukommen. Was NeoOffice zum Laufen bringt, ist nicht Java selbst, sondern eher die Bibliotheken, die dabei sind, wie Java 2D zum Zeichnen und AWT für Menüs. Sie gehören schon zu Apple insofern als Java 2D eigentlich Quartz und AWT Carbon ist. [http://trinity.neooffice.org/modules.php?name=Forums&file=viewtopic&p=4218#4218]
-The amount of Java used has also decreased over time. When NeoOffice was upgraded to the OpenOffice.org 1.1.2 codebase (NeoOffice/J 1.1 Alpha), text rendering switched from Java to the Mac OS X native ATSUI APIs since they are much more suited for complex text layout than Java is.[http://trinity.neooffice.org/modules.php?name=Forums&file=viewtopic&p=3692#3692] Other features were never implemented in Java at all (for instance the Dock menu, which used Carbon in NeoOffice/J 1.1 and Cocoa in newer versions).+Darüber hinaus ist der Java-Anteil mit der Zeit geringer geworden. Als NeoOffice mit der OpenOffice.org-1.1.2-Codegrundlage aufgerüstet wurde (NeoOffice/J 1.1 Alpha), wechselte das Rendering von Texten von Java zu den ATSUI-APIs von Mac-OS-X, da sie wesentlich besser für komplexes Textlayout geeignet sind als Java. [http://trinity.neooffice.org/modules.php?name=Forums&file=viewtopic&p=3692#3692] Einige andere Funktionen hat es in Java noch nie gegeben (z.B. das Dock-Menü, das in NeoOffice/J 1.1 mit Carbon arbeitet und in neueren Versionen mit Cocoa)
-=== Why aren't you working on a Cocoa version of an Aqua OpenOffice.org? ===+=== Warum arbeitet ihr nicht an einer Cocoa-Version von Aqua OpenOffice.org? ===
There are several reasons. [[OpenOffice.org|OpenOffice.org]] is not built like a native Cocoa Mac application. Translating all of the event model, font management and display routines into Cocoa would be a '''great''' deal of work. On the other hand, Apple's Java implementation provides good access to Aqua features and is easier to meld with the underlying OpenOffice.org code. [[NeoOffice/C]] proved that a Cocoa implementation was not a viable solution in the short-to-medium-term; while it looked great after a lot of hacks, '''it was not stable enough for even casual use'''. There are several reasons. [[OpenOffice.org|OpenOffice.org]] is not built like a native Cocoa Mac application. Translating all of the event model, font management and display routines into Cocoa would be a '''great''' deal of work. On the other hand, Apple's Java implementation provides good access to Aqua features and is easier to meld with the underlying OpenOffice.org code. [[NeoOffice/C]] proved that a Cocoa implementation was not a viable solution in the short-to-medium-term; while it looked great after a lot of hacks, '''it was not stable enough for even casual use'''.
Line 134: Line 134:
* If you still haven't found an answer, post your question in the appropriate section of the [http://trinity.neooffice.org/modules.php?name=Forums trinity Forums] * If you still haven't found an answer, post your question in the appropriate section of the [http://trinity.neooffice.org/modules.php?name=Forums trinity Forums]
-{{botlangbarEN|[[fr:NeoOffice/J et Aqua|Français]]}}+{{botlangbarDE|[[fr:NeoOffice/J et Aqua|Français]] [[NeoOffice and Aqua|English]]}}
-[[Category:NeoOffice]][[Category:NeoOffice/C]]+[[Category:NeoOffice]][[Category:NeoOffice/C]][[Category:NeoWikiDE]]

Revision as of 15:56, 4 February 2006

Häufige Fragen zum Design und zur Entwicklung von NeoOffice oder "Alles, was Sie über NeoOffice nicht wissen (und lesen sollten, bevor Sie auf [Mac]Slash[Dot] posten)."

Contents

Aqua-Anpassung und Mac-OS-X-Integration

Warum hat NeoOffice nicht die typische Mac-OS-X-Oberfläche mit den blauen Knöpfen?

NeoOffice ist zur Zeit noch nicht sehr an Aqua angepaßt. Aber die Entwickler arbeiten daran!

Das Ziel ist, langsam Aqua-Oberfläche hinzuzufügen, so daß mehr und mehr wie ein Mac-Programm aussieht, bis es keinen Hinweis mehr darauf gibt, daß es jemals kein Mac-OS-X-Programm war.

In den letzten Monaten ist NeoOffice Stück für Stück verbessert worden.

Was sind die neuesten Durchbrüche bei der Aqua-Anpassung?

Stand von November 2005:

  • Verbesserte Kompatibilität mit sprachgesteuerter Software (10/2005)
  • Eingebettete EPS-Dateien können gedruckt werden. (09/2005)
  • Verbesserte Unterstützung von internationalen Tastaturbelegungen (09/2005)
  • Dockmenü mit Items aus dem "Quickstart"-Service (auch im NeoOffice-Menü zu finden) (06/2005)
  • Kein "graues Fenster" mehr, wenn das letzte Dokumentenfenster geschlossen wird, aber das Programm bleibt trotzdem geöffnet, genau wie ein normales Mac-Programm (05/2005)
  • Spotlight-Integration unter Mac OS X 10.4 "Tiger" per NeoLight (en) (05/2005)
  • Benutzung der Farben, die im Erscheinungsbild-Fenster festgelegt wurden (04/2005)
  • Unterstützung indischer Sprachen (04/2005)
  • Unterstützung für Eudora, Entourage und Mail als externe Mail-Programme (03/2005)
  • AppleScript für Drag-and-Drop-Installation der Hilfedateien für nicht-englische Sprachen (03/2005)
  • Drag & Drop zwischen NeoOffice und anderen Programmen (03/2005)
  • Beendet sich nicht mehr, wenn das rote Schließen-Widget am letzten Dokumentenfenster gedrückt wird (03/2005)
  • "Ãœber NeoOffice"- und "Einstellungen"-Items im "NeoOffice"-Menü (02/2005)
  • Lokalisierte Benutzeroberflächen für 40 Sprachen (12/2004)
  • Neues Aqua-Ikon und Startbildschirm (12/2004)
  • Optimiert/kleinere PDFs (12/2004)
  • Drag & Drop für Texte (12/2004)
  • Scrollrad-Unterstützung (11/2004)
  • Menüs erscheinen jetzt in der weißen Leiste am oberen Bildschirmrand, wie in jedem anderen Mac-Programm (vorher waren sie oben im Dokumentenfenster) (11/2004)
  • Automatische Benachrichtigung bei neuen Patches und Versionen (11/2004)
  • Patches sind als Standard-Mac-OS-X-Installationspakete verfügbar (09/2004)
  • Unterstützung für Macintosh-Datei-Aliase in Öffnen- und Schließen-Dialogen (09/2004)

Bleiben Sie dran, es werden weiterhin neue Funktionen hinzugefügt!

Technologien und Toolkits

Welche Technologien werden bei der Aqua-Anpassung von NeoOffice verwendet?

Aqua ist die Benutzeroberfläche, die Apple für OS X entwickelt hat. Apple stellt drei Umgebungen zur Entwicklung von Programmen mit Aqua-Oberfläche zur Verfügung:

  • Carbon (eigentlich für Kompatibilität mit OS 9, auch von Mozilla/Firefox verwendet)
  • Cocoa (neue Umgebung, die von NeXT für Mac OS X adaptiert wurde)
  • Java (plattformübergreifende Sprache, beinhaltet JFC/Swing für eine an Aqua angepaßte Oberfläche)

NeoOffice/C (das ursprüngliche Prototyp-Projekt) war ein Versuch, Cocoa und Carbon zu benutzen. Das erfolgreichere Projekt, NeoOffice (ursprünglich bekannt als NeoOffice/J), verwendet im Moment eine Mischung aus Cocoa und Java 1.4.2.

Also...ist NeoOffice in Java geschrieben?

Nein.

NeoOffice ist eine Mac-OS-X-Version von OpenOffice.org, die kleine Mengen von Java-Code für das Zeichnen und Konfigurieren von Graphiken verwendet.

OpenOffice.org ist in erster Linie für "plattformunbekanntes" C++ geschrieben. NeoOffice bedient sich jedoch der fortgeschrittenen Mac-OS-X-Integration von Java, um die Mac-OS-X-Oberfläche anzuzapfen. Mit anderen Worten: Die kleinen Anteile an Java in NeoOffice haben hauptsächlich mit Vorgängen zu tun, die beeinflussen, wie das Programm aussieht. Der Kern des Officepakets ist in C++ geschrieben. (Der Code, aus dem that makes NeoOffice besteht, ist zu 99% OpenOffice.org-Code, der von allen OpenOffice.org-Plattformen benutzt wird, und zu 1% spezieller Mac-OS-X-Code in Java, C++, C und Objective-C.)

Der läuft NeoOffice nur auf Macintosh-Computern mit Mac OS X 10.3.x oder 10.4.x - nicht unter Mac OS 9, Mac OS X 10.2 oder weniger, Windows, Linux, Darwin oder irgendeiner anderen Art von UNIX.

Wie wird Java in NeoOffice verwendet?

Wie oben erwähnt ist Java hauptsächlich dazu da, an das Mac-OS-X-Aussehen heranzukommen. Was NeoOffice zum Laufen bringt, ist nicht Java selbst, sondern eher die Bibliotheken, die dabei sind, wie Java 2D zum Zeichnen und AWT für Menüs. Sie gehören schon zu Apple insofern als Java 2D eigentlich Quartz und AWT Carbon ist. [1]

Darüber hinaus ist der Java-Anteil mit der Zeit geringer geworden. Als NeoOffice mit der OpenOffice.org-1.1.2-Codegrundlage aufgerüstet wurde (NeoOffice/J 1.1 Alpha), wechselte das Rendering von Texten von Java zu den ATSUI-APIs von Mac-OS-X, da sie wesentlich besser für komplexes Textlayout geeignet sind als Java. [2] Einige andere Funktionen hat es in Java noch nie gegeben (z.B. das Dock-Menü, das in NeoOffice/J 1.1 mit Carbon arbeitet und in neueren Versionen mit Cocoa)

Warum arbeitet ihr nicht an einer Cocoa-Version von Aqua OpenOffice.org?

There are several reasons. OpenOffice.org is not built like a native Cocoa Mac application. Translating all of the event model, font management and display routines into Cocoa would be a great deal of work. On the other hand, Apple's Java implementation provides good access to Aqua features and is easier to meld with the underlying OpenOffice.org code. NeoOffice/C proved that a Cocoa implementation was not a viable solution in the short-to-medium-term; while it looked great after a lot of hacks, it was not stable enough for even casual use.

As it stands, NeoOffice is very stable and quite far along towards providing a fully-Aquafied user interface, and taking a different path now would be to throw a lot of good code in the trash. The downside to using Java is that is consumes (somewhat) more resources than a pure Cocoa implementation would. (You need more RAM than the minimum requirements for Mac OS X—but then Mac OS X benefits from having more RAM than its minimum requirements!—and RAM is cheap; adding RAM is the most cost-efficient way to speed up your Mac.) Apple's improvements in Java 1.4.2 over Java 1.3.1 have actually allowed NeoOffice 1.2 Alpha to reduce resource usage and improve performance.

Isn't Cocoa better than Java?

Aqua is aqua.

This question is most often asked by developers and power users. End users, on the other hand, tend to judge by the results. As one tester put it:

"If it looks like a duck, walks like a duck, and quacks like a duck, then to the end user it's a duck, and end users have made it pretty clear they want a duck; whether the duck drinks hot chocolate or coffee is irrelevant."

And, as John Gruber puts it, after quoting an Apple engineer posting to Carbon-Dev, "send [the second paragraph] to anyone who claims that only 'Cocoa apps are 'truly native' Mac OS X apps."

Isn't Java slow?

The majority of NeoOffice is written in C++. Only those bits that facilitate an Aqua look in Mac OS X were customized to use Java. The reason is that Mac OS X Java looks terrific and hooks right into the native Aqua "blue-button" controls.

And by the way—Java isn't really that slow any more.

Why doesn't NeoOffice use Java 1.5.x?

There are a number of reasons why NeoOffice uses Java 1.4.2, both human and technical. To start at the beginning, when the application was initially being developed (as NeoOffice/J), Java 1.4.x was not available on Mac OS X. When Java 1.4.1 did finally become available on Mac OS X, it proved to be quite buggy and was missing many key features on Mac OS X 10.2.x. Java 1.5 is only available on Mac OS X 10.4.x. Moreover, Java 1.4.x and 1.5 are Cocoa-based while Java 1.3.1 is Carbon-based. So for much of its early life as NeoOffice/J, the application used Java 1.3.1 on Mac OS X 10.2.x, 10.3.x, and 10.4.x.

Switching to a newer version of Java not only involved dropping support for users of older versions of Mac OS X but also required hundreds if not thousands of hours of time reimplementing the Carbon portions of the application in Cocoa and working around new bugs in the new Java versions. Thus switching to Java 1.4.x (or 1.5) was not a viable option for most of NeoOffice/J's existence given the size of the development team and the fact that Java 1.3.1 continued to work well.

Since Java 1.3.1 will not make the transition to Intel-based Macs, the summer of 2005 (July-September) was spent in full-time work to transition NeoOffice/J to Java 1.4.2, and October and most of November were spent (again full-time) fixing new bugs that arose in wider testing. NeoOffice 1.2 Alpha is the first release to require Java 1.4.2 and Mac OS X 10.3 or higher.

A transition to Java 1.5.x will not be as difficult since it is also Cocoa-based, but at the moment there are no plans to do so, as Java 1.5.x was only just released (mid-November 2005)—and only for Mac OS X 10.4.x—and there are still many users running Mac OS X 10.3.x. Moreover, there are more important tasks ahead, such as MacIntel support, that require scarce developer resources. (Forcing NeoOffice/J 1.1 or NeoOffice 1.2 Alpha to use Java 1.5 will result in crashes and is not supported.)

Why not use gtk or Qt or some other cross-platform toolkit?

See Why aren't you working on a Cocoa version of an Aqua OpenOffice.org? and Isn't Cocoa better than Java? :-) The short answer is that reworking the OpenOffice.org codebase to use another toolkit would take at least as much time and work as it has taken to get NeoOffice to the point where it is today (two years of nearly full-time work by 1.5 developers and additional work before that), with no guarantees that it would be as stable.

Moreover, in the case of gtk, the ports to Mac OS X are older versions of gtk and fairly incomplete. Even in the case of Qt, which has a modern and complete Mac OS X port of the toolkit, the existing OpenOffice.org work would not benefit an Aqua version of OpenOffice.org at all. The Qt/KDE OpenOffice.org (Native Widget Framework effort) is not a "native Qt" implementation of vcl (OpenOffice.org's cross-platform windowing toolkit and abstraction layer). All of the underlying font handling, drawing, etc., is still done using X11; it's only the widget drawing that is using Qt's equivalent of the appearance manager.[3]

What about Intel-based Macs?

See this FAQ for a detailed explanation of MacIntel issues and the latest developments.

Other Questions

Has NeoOffice replaced NeoOffice/C?

.

What happened to NeoOffice/J?

In recognition of the fact that the "classic" CoreGraphics/Cocoa port (NeoOffice/C) was a dead-end and no longer under development, as well as the fact that the "/J" was very confusing to many users and pundits, the application known as NeoOffice/J was renamed simply NeoOffice beginning with the 1.2 Alpha release.

Is there a Development Roadmap?

The direction of the NeoOffice project is typically discussed in the NeoOffice Development forum on trinity. The current (post-June 6, 2005) plans of NeoOffice's two primary developers are outlined in this topic.

Where can I learn more about NeoOffice?

For tips on using NeoOffice, see the Tips and Hints section of this Wiki.

I have another question about the design or development of NeoOffice; where can I get an answer?


Dieser Artikel in anderen Sprachen: English
Personal tools