NeoOffice and Aqua

From NeoWiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 09:18, 21 January 2005 (edit)
Sardisson (Talk | contribs)
m (Backport W link macosx to wikipedia)
← Previous diff
Revision as of 05:50, 25 January 2005 (edit) (undo)
Sardisson (Talk | contribs)
(Add stuff from old Why is NeoC inactive FAQ, edit some of the language; more consolidation of the java sections needed)
Next diff →
Line 32: Line 32:
*Java (cross-platform language, includes JFC/Swing for native-looking UI elements) *Java (cross-platform language, includes JFC/Swing for native-looking UI elements)
-NeoOffice/C (the original project) was an attempt to use Cocoa and Carbon. The more successful project, NeoOffice/J, currently uses a mix of Java 1.3 and Carbon.+[[NeoCInfo|NeoOffice/C]] (the original prototyping project) was an attempt to use Cocoa and Carbon. The more successful project, [[NeoJInfo|NeoOffice/J]], currently uses a mix of Java 1.3 and Carbon.
=== So...is NeoOffice/J written in Java? === === So...is NeoOffice/J written in Java? ===
Line 41: Line 41:
Thus NeoOffice/J will only run on Macintosh computers running [http://www.wikipedia.org/wiki/Mac_os_x Mac OS X] 10.2.x or 10.3.x—not on Mac OS 9, Windows, Linux, Darwin, or any other form of UNIX. Thus NeoOffice/J will only run on Macintosh computers running [http://www.wikipedia.org/wiki/Mac_os_x Mac OS X] 10.2.x or 10.3.x—not on Mac OS 9, Windows, Linux, Darwin, or any other form of UNIX.
 +
 +=== Why aren't you working on a Cocoa version of an 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. [[NeoCInfo|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/J 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 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.)
 +
 +=== 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."
 +
 +=== Isn't Java slow? ===
 +
 +The majority of NeoOffice/J 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 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.
=== Has NeoOffice/J replaced NeoOffice/C? === === Has NeoOffice/J replaced NeoOffice/C? ===
-Yeah, [[NeoCActive|pretty much]].+Yes, [[NeoCActive|pretty much]].
-=== Where Can I Learn More About NeoOffice/J ===+=== Where can I learn more about NeoOffice/J? ===
For tips on using NeoOffice/J, see the [[NeoJTipsAndHints|Tips and Hints]] section of this Wiki. For tips on using NeoOffice/J, see the [[NeoJTipsAndHints|Tips and Hints]] section of this Wiki.

Revision as of 05:50, 25 January 2005

Contents

NeoOffice/J FAQ

Why doesn't NeoOffice/J have the typical Mac OS X "blue button" Aqua user interface?

Currently, NeoOffice/J does not yet include much "Aquafication". However, the developers are working on it!

The goal is to slowly add Aqua features to NeoOffice/J so that it becomes more and more Mac-like until there is no evidence left that it ever was anything but a Mac OS X application.

Over the past few months, NeoOffice/J has seen bit-by-bit improvements.

What are some recent Aquafication breakthroughs?

As of December, 2004:

  • Localized interfaces for 40 languages (12/2004)
  • New Aqua application icon and splash screen (12/2004)
  • Optimized/smaller PDFs (12/2004)
  • Text drag & drop (12/2004)
  • Scroll-wheel support (11/2004)
  • Native menus now appear in the white bar at the top of the screen, just like any other Mac program. (Previously, they appeared at the top of the same window as the document.) (11/2004)
  • Automatic notification of new patches and versions (11/2004)
  • Patches available as standard Mac OS X installer packages (09/2004)
  • Support for Macintosh file aliases in open and save dialogues (09/2004)

Stay tuned as new features continue to be added!

What technologies are used in the Aquafication of NeoOffice/J?

Aqua is the "look and feel" developed by Apple for OS X. Apple provides three frameworks for developing applications with an Aqua user interface:

  • Carbon (sort-of OS 9 compatibility mode, also used by Mozilla/Firefox)
  • Cocoa (new framework that was adapted from NeXT for Mac OS X)
  • Java (cross-platform language, includes JFC/Swing for native-looking UI elements)

NeoOffice/C (the original prototyping project) was an attempt to use Cocoa and Carbon. The more successful project, NeoOffice/J, currently uses a mix of Java 1.3 and Carbon.

So...is NeoOffice/J written in Java?

No.

NeoOffice/J is based on OpenOffice.org, which is written primarily in C++. However, NeoOffice/J takes advantage of Mac OS X's advanced Java integration to tap into the OS X look-and-feel. In other words, the "J" in NeoOffice/J primarily has to do with operations that affect how the application appears to the user. The "guts" of the office suite are written in C++. (The code that makes up NeoOffice/J is 99% OpenOffice.org code shared among all OpenOffice.org platforms and 1% Mac OS X-specific code in Java, C++, C, and Objective-C.)

Thus NeoOffice/J will only run on Macintosh computers running Mac OS X 10.2.x or 10.3.x—not on Mac OS 9, Windows, Linux, Darwin, or any other form of UNIX.

Why aren't you working on a Cocoa version of an 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/J 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 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.)

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."

Isn't Java slow?

The majority of NeoOffice/J 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 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.

Has NeoOffice/J replaced NeoOffice/C?

Yes, .

Where can I learn more about NeoOffice/J?

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

Personal tools