It:NeoOffice e Aqua

From NeoWiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 10:36, 4 December 2006 (edit)
Valterb (Talk | contribs)
(Perché non state lavorando con Cocoa per una versione Aqua di OpenOffice.org?)
← Previous diff
Revision as of 10:45, 4 December 2006 (edit) (undo)
Valterb (Talk | contribs)
(Isn't Cocoa better than Java?)
Next diff →
Line 77: Line 77:
Invece di rimanere fedele dogmaticamente ad un singolo toolkit, gli sviluppatori di NeoOffice "usano il miglior tool per affrontare il compito che si presenta loro" nel tentativo di "aggiungere un involucro completamente in stile Mac OS X all'uso di [OpenOffice.org]."[http://trinity.neooffice.org/modules.php?name=Forums&file=viewtopic&p=22042#22042] Invece di rimanere fedele dogmaticamente ad un singolo toolkit, gli sviluppatori di NeoOffice "usano il miglior tool per affrontare il compito che si presenta loro" nel tentativo di "aggiungere un involucro completamente in stile Mac OS X all'uso di [OpenOffice.org]."[http://trinity.neooffice.org/modules.php?name=Forums&file=viewtopic&p=22042#22042]
-=== Isn't Cocoa better than Java? ===+=== Cocoa non è meglio di Java? ===
-''Aqua is aqua''.+''Aqua è 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:+La domanda viene fatta più frequentemente da programmatori e da utenti esperti. Gli utenti finali, d'altra parte, tendono a giudicare i risultati. Una delle persone che partecipano alla fase di test del programma ha detto:
-"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."+"Se ha l'aspetto di un'anatra, cammina come un'anatra, e fa il verso dell'anatra, allora per l'utente finale è piuttosto chiaro che si tratta di un'anatra; poi che quest'anatra beva cioccolato caldo o caffè è una cosa irrilevante (in inglese c'è un gioco di parole tra cioccolato=cocoa e caffè=java."
-And, as [http://daringfireball.net/linked/2005/may#tue-31-apis John Gruber] puts it, after quoting an [http://lists.apple.com/archives/Carbon-dev/2005/May/msg01121.html 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."+Come ha detto [http://daringfireball.net/linked/2005/may#tue-31-apis John Gruber], dopo aver quotato [http://lists.apple.com/archives/Carbon-dev/2005/May/msg01121.html quanto postato da un ingegnere della Apple sulla mailing-list Carbon-Dev], "mandate [il secondo paragrafo] a chiunque pretenda che solo 'le applicazioni Cocoa' sono le applicazioni 'veramente native' di Mac OS X."
=== Isn't Java slow? === === Isn't Java slow? ===

Revision as of 10:45, 4 December 2006

Domande poste frequentemente sul progetto e lo sviluppo di NeoOffice, o "Tutto quello che non conosci di NeoOffice (e dovresti leggere prima di fare una rischiesta su [Mac]Slash[Dot]"

Contents

"Aquaficazione" e Intergazione con Mac OS X

Perché NeoOffice non ha la tipica interfaccia utente Aqua del Mac?

A partire da NeoOffice 2.0 Aqua Beta, NeoOffice include un'estensiva "Aquaficazione". Gli utenti Mac esigenti (ce ne sono di altro tipo?) possono notare che alcune cose non sembrano proprio giuste, ma non preoccuparti; questa è la prima versione di NeoOffice che mostra queste caratteristiche in stile Aqua, ed i programmatori stanno lavorando per far sparire le parti grigie!

L'obiettivo è di aggiungere con calma le caratteristiche di Aqua a NeoOffice cosicché divenga sempre più Mac-simile, fino a che non ci sia più nessuna evidenza e sia nient'altro che un programma per Mac.

Durante gli ultimi mesi, NeoOffice ha visto miglioramenti bit-per-bit.

Quali sono i recenti passi in avanti del processo di Aquaficazione?

Ad Agosto 2006:

  • finestre di dialogo per Apri e Salva (07/2006)
  • Nuove icone dei documenti che corrispondono meglio con l'aspetto Aqua (07/2006)
  • Le icone disabilitate hanno l'aspetto appropriato previsto per le applicazioni di Mac OS X (prima erano grigio scuro) (07/2006)
  • Numerose widget Aqua (barre di scorrimento, bottoni, barre di avanzamento, ecc.) (04/2006-07/2006)
  • Compatibilità migliorata con i sotware di dettatura vocale (10/2005)
  • Abilità di stampare i file EPS inseriti (09/2005)
  • Supporto migliorato per le tastiere internazionali (09/2005)
  • Menù del con con gli elementi del servizio di avvio rapido ("Quickstart") (che si trova anche nel menù NeoOffice) (06/2005)
  • Non viene più mostrata la "finestra grigia" quando viene chiuso l'ultimo documento ma il programma rimane aperto, proprio come avviene per i normali programmi Mac (05/2005)
  • Integrazione con Spotlight su Mac OS X 10.4 "Tiger" via NeoLight (05/2005)
  • Uso dei colori definiti nel pannello "Aspetto" nelle Preferenze di Sistema (04/2005)
  • Supporto per le lingue Indoarie (04/2005)
  • Supporto per Eudora, Entourage, e Mail quali programmi per l'inoltro della posta (03/2005)
  • AppleScript per installazione drag-and-drop dei file di aiuto per le lingue non Inglesi languages (03/2005)
  • Drag & drop tra NeoOffice e le altre applicazioni (03/2005)
  • Quando si clicca su pulsante rosso "chiudi" in alto a sinistra nella finestra dell'ultimo documento non si esce più dall'applicazione (03/2005)
  • I richiami "About NeoOffice" e "Preferences..." si trovano nel menù "NeoOffice" (02/2005)
  • Interfacce localizzate in 40 lingue (12/2004)
  • Nuova icona del programma in stile Aqua e nuovo splash screen (12/2004)
  • File PDF ottimizzati e più piccoli (12/2004)
  • Drag & drop del testo (12/2004)
  • Supporto per la rotella del mouse (11/2004)
  • I menù nativi appaiono nella barra bianca in cima allo schermo, come per tutti gli alri programmi per Mac (in precedenza apparivano in cima alla finestra del documento attivo) (11/2004)
  • Avviso automatico del rilascio di nuove patch e versioni (11/2004)
  • Le patch sono disponibili come pacchetti standard per l'installer di Mac OS X (09/2004)
  • Supporto per i collegamenti ai file per Macintosh nelle finestre di dialogo apri e salva (09/2004)

Stai sintonizzato perché nuove caratteristiche vengono aggiune di contuno!

Tecnologie e Borsa degli Attrezzi

Quali tecnologie sono state usate nella Aquaficazione di NeoOffice?

Aqua è l'interfaccia grafica sviluppata da Apple per OS X. Apple fornisce tre ossature (frameworks) per lo sviluppo di programmi con l'intrfaccia utente Aqua:

  • Carbon (una sorta di modo compatibile con OS 9, usato anche da Mozilla/Firefox)
  • Cocoa (il nuovo framework che è stato adatteto da NeXT per Mac OS X)
  • Java (linguaggio multi-piattaforma, include JFC/Swing per gli elementi della User Interface)

NeoOffice/C (il progetto prototipo iniziale) fu un tentativo di iniziare ad usare Cocoa e Carbon. Il progetto di maggio successo, NeoOffice (originariamente conosciuto come NeoOffice/J), attualmente usa un mix di Cocoa, Carbon e Java 1.4.2.

Quindi... NeoOffice è scritto in Java?

No.

NeoOffice è la versione nativa per Mac OS X di OpenOffice.org che usa piccole quantità di codice Java cil disegno grafico e la configurazione.

OpenOffice.org è scritto principalemtne nel linguaggio C++ che è agnostico della piattaforma. Tuttavia, NeoOffice prende vantaggio dall'avanzata integrazione tra Mac OS X e Java per ottenere l'aspetto Mac OS X. In altre parole, i pochi bit di Java in NeoOffice hanno principalemtne a che fare con operazioni che riguardano come il programma appare all'utente. Gli "ingranaggi" della suite office sono scritti in C++. (Il codice di cui è costituito NeoOffice è per il 99% lo stesso di OpenOffice.org e condiviso con tutte le piattaforme su cui OpenOffice.org gira, e l' 1% e specifico per Mac OS X ed è scritto in Java, C++, C, e Objective-C.)

Quindi NeoOffice potrà essere eseguito solo su computer Macintosh Mac OS X 10.3.x o 10.4., non su Mac OS 9, Mac OS X 10.2 o precedenti, Windows, Linux, Darwin, o qualsiasi altra forma di UNIX.

Come è usato Java in NeoOffice?

As mentioned above, Java is mainly used to tap into the Mac OS X look-and-feel. What makes NeoOffice work isn't the Java language itself but rather the libraries that come with the virtual machine like Java 2D for drawing and AWT for menus. Those are actually already "native" in the Apple VM in the sense that Java 2D is really CoreGraphics/Quartz and AWT is really Carbon.[1]

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.[2] 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).

Perché non state lavorando con Cocoa per una versione Aqua di OpenOffice.org?

Ci sono diverse ragioni. OpenOffice.org non è stato costruito come un'applicazione Cocoa Mac nativa. Tradurre tutti i modelli degli eventi, la gestione dei caratteri e le routine di visualizzazione in "puro" Cocoa implicherebbe una grande quantità di lavoro. D'altra parte, la implementazione di Java fatta da Apple fornisce un buon accesso alle caratteristiche Aqua ed è più facile da fondere con il sottostante codice di OpenOffice.org. NeoOffice/C ha provato che una implementazione Cocoa "pura" non è una soluzione praticabile nel breve-medio termine; mentre risultava con un buon aspetto dopo un sacco di hack, non era tuttavia abbastanza stabile neppure per un uso sporadico. Per una spiegazione più dettagliata delle ragioni che stanno dietro a questa scelta di implementazione vai a vedere questo post [en] del co-fondatore del progetto NeoOffice ed ingegnere di sistema Ed Peterlin.

Come abbiamo detto, NeoOffice è moto stabile e non molto lontano da fornire un'interfaccia utente completamente in stile Aqua, e prendere un differente percorso adesso vorrebbe dire gettare nella spazzatura un sacco di codice buono, ben testato e stabile. La parte negativa dell'usare Java è che consuma (un po') più risorse di una pura implementazione Cocoa. (C'è bisogno di più RAM rispetto alle richieste minime per Mac OS X—ma d'altra parte il Mac OS X beneficia dall'avere più RAM rispetto al minimo raccomendato!—e la RAM è ormai economica; aggiungere RAM è la cosa più economica per velocizzare il tuo Mac.) I miglioramenti che Apple ha introdotto in Java 1.4.2 rispetto a Java 1.3.1 ha permesso a NeoOffice 1.2 Alpha di ridurre l'uso delle risorse e di migliorare le prestazionI.

Invece di rimanere fedele dogmaticamente ad un singolo toolkit, gli sviluppatori di NeoOffice "usano il miglior tool per affrontare il compito che si presenta loro" nel tentativo di "aggiungere un involucro completamente in stile Mac OS X all'uso di [OpenOffice.org]."[3]

Cocoa non è meglio di Java?

Aqua è aqua.

La domanda viene fatta più frequentemente da programmatori e da utenti esperti. Gli utenti finali, d'altra parte, tendono a giudicare i risultati. Una delle persone che partecipano alla fase di test del programma ha detto:

"Se ha l'aspetto di un'anatra, cammina come un'anatra, e fa il verso dell'anatra, allora per l'utente finale è piuttosto chiaro che si tratta di un'anatra; poi che quest'anatra beva cioccolato caldo o caffè è una cosa irrilevante (in inglese c'è un gioco di parole tra cioccolato=cocoa e caffè=java."

Come ha detto John Gruber, dopo aver quotato quanto postato da un ingegnere della Apple sulla mailing-list Carbon-Dev, "mandate [il secondo paragrafo] a chiunque pretenda che solo 'le applicazioni Cocoa' sono le applicazioni 'veramente native' di Mac OS X."

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 (three 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 on "using Qt" would not benefit a native, non-X11 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 Mac OS X Appearance Manager.[4]

What about Intel-based Macs? Is there a Universal Binary?

See this FAQ (spring 2006) for a detailed explanation of MacIntel issues and the latest developments. (You can also see the early 2006 FAQ for historical information.)

Other Questions

Has NeoOffice replaced NeoOffice/C?

Yes.

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 post-June 6, 2005 plans of NeoOffice's two primary developers for 2005-2006 are outlined in this topic. Tentative plans for post-NeoOffice 2.0 Aqua Beta include further polishing of the Aqua widgets and a community project to develop a set of Aqua "toolbar" icons, but no formal plans or roadmaps have been announced.

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?


Questo articolo in altre lingue: English, Français e Deutsch
Personal tools