|
Fr:NeoOffice et Aqua
From NeoWiki
Questions fréquemment posées à propos du design et du développement de NeoOffice
Aquafication et intégration à Mac OS X
Pourquoi NeoOffice n'a pas les "boutons bleus" typiques de l'interface Aqua de Mac OS X ?
Actuellement, NeoOffice n'inclut pas beaucoup d'"Aquafication". Cependant, les développeurs travaillent sur le sujet !
Le but est d'ajouter lentement les fonctionnalités Aqua à NeoOffice pour qu'il soit de mieux en mieux intégré dans Mac OS X jusqu'à ce qu'il ne reste plus une seule preuve qu'il ait été autre chose qu'une application Mac OS X.
Durant les derniers mois, NeoOffice a été amélioré touche par touche.
Quels sont les avancées les plus récentes de l'"Aquafication" ?
Etat au mois de Novembre 2005 :
- Compatibilité améliorée avec le logiciel de dictée de voix (10/2005)
- Support de l'impression de fichiers EPS intégrés aux documents (09/2005)
- Support amélioré des claviers internationaux (09/2005)
- Le menu du Dock permet de créer des nouveaux documents ou d'en ouvrir d'anciens (06/2005)
- Ne montre plus de "fenêtre grise" à la fermeture du dernier document ouvert mais l'application reste ouverte comme les applications Mac normales (05/2005)
- Intégration de Spotlight sur Mac OS X 10.4 "Tiger" via NeoLight (05/2005)
- Utilise les couleurs définies dans le panneau Apparence des Préférences Système (04/2005)
- Support des langues Indiennes (04/2005)
- Support pour Eudora, Entourage et Mail comme client mail externe (03/2005)
- AppleScript pour l'installation des fichiers d'aide des langues non anglaises par glisser-déposer (03/2005)
- Glisser-déposer entre NeoOffice et les autres applications (03/2005)
- Ne quitte plus lors de la fermeture du dernier document ouvert (03/2005)
- Eléments "A propos de NeoOffice" et "Préférences" ajoutés dans le menu "NeoOffice" (02/2005)
- Interface localisée pour 40 langues (12/2004)
- Nouvelle icône Aqua et nouvel écran de chargement (12/2004)
- PDFs optimisés/plus légers (12/2004)
- Glisser-déposer du texte (12/2004)
- Support du défilement à l'aide de la molette (11/2004)
- Les menus sont maintenant situés dans la barre des menus en haut de l'écran, comme toutes les autres applications pour Mac (avant, ils étaient en haut de la fenêtre du document) (11/2004)
- Notification automatique des nouveaux patchs et nouvelles versions (11/2004)
- Patchs disponibles en paquets d'installation standards Mac OS X (09/2004)
- Support pour les alias Mac dans les dialogues d'ouverture et de sauvegarde de fichiers (09/2004)
Suivez les nouvelles fonctionnalités à mesure qu'elles sont annoncées !
Technologies et cadriciels
Quelles technologies sont utilisées pour l'"Aquafication" de NeoOffice ?
Aqua est le "look and feel" développé par Apple pour OS X. Apple fournit 3 cadriciels (frameworks) pour développer des applications ayant une interface Aqua :
- Carbon (sorte de mode de compatibilité OS 9, aussi utilisé par Mozilla/Firefox)
- Cocoa (nouveau cadriciel adapté de NeXT pour Mac OS X)
- Java (langage multi-platforme, incluant JFC/Swing pour des éléments d'interface ressemblant à ceux natifs)
NeoOffice/C (le projet de prototype original) fut une tentative utilisant Cocoa et Carbon. Le projet le plus réussi, NeoOffice (anciennement NeoOffice/J), utilise actuellement un mix de Java 1.4.2 et Cocoa.
Alors... NeoOffice est écrit en Java?
Non.
NeoOffice est une version native Mac OS X d'OpenOffice.org utilisant des petits parties de code Java pour l'affichage et la configuration.
OpenOffice.org est écrit principalement en C++ portable. Néanmoins, NeoOffice utilise l'intégration avancée de Java dans Mac OS X pour introduire le look and feel OS X. En d'autres termes, les petites parties en Java ont principalement à voir avec comment l'application apparait aux yeux de l'utilisateur. Les "entrailles" de la suite bureautique sont écrits en C++. (Le code composant NeoOffice provient à 99% du code partagé entre les différentes plateformes supportées d'OpenOffice.org et 1% du code est spécifique à Mac OS X et contient du Java, C++, C et Objective-C.)
De ce fait, NeoOffice tourne seulement sur des Macintosh équipés de Mac OS X 10.2.x, 10.3.x ou 10.4.x — pas sur Mac OS 9, Windows, Linux, Darwin ou toute autre forme d'UNIX.
Comment Java est utilisé dans NeoOffice ?
Comme cela a été mentionné au dessus, Java est principalement utilisé pour fournir le "look & feel" de Mac OS X. Ce qui fait fonctionner NeoOffice n'est pas le langage Java lui même mais plutôt les bibliothèques de la machine virtuelle Java comme Java 2D pour l'affichage et AWT pour les menus. Ceux-ci sont déjà natifs dans la machine virtuelle d'Apple dans le sens ou Java 2D utilise Quartz et AWT est en Carbon. [1]
La quantité de code écrite en Java a aussi diminué avec le temps. Quand NeoOffice/J a été mis à jour avec le code d'OpenOffice.org 1.1.2 (NeoOffice/J 1.1 Alpha), le rendu du texte a été modifié pour utiliser les API natives ATSUI de Mac OS X au lieu de Java puisqu'elles sont mieux adaptées à des mises en formes complexes que ne le sont celles de Java. [2] D'autres fonctionnalités n'ont jamais été implémentées en Java (par exemple, le menu Dock qui utilise Carbon).
Pourquoi ne travaillez vous pas sur une version Cocoa d'OpenOffice.org Aqua ?
Il y a plusieurs raisons. OpenOffice.org n'est pas conçu comme une application native Cocoa pour Mac. Traduire tout le modèle d'évènements, la gestion des polices et les routines d'affichage en Cocoa serait un énorme travail. D'un autre côté, l'implémentation Java d'Apple fournit un bon accès aux fonctionnalités Aqua et est plus facile à intégrer dans le code d'OpenOffice.org. NeoOffice/C a prouvé qu'une implémentation Cocoa n'était pas une solution viable à court et à moyen terme; bien que son apparence était réussie après de nombreux hacks, il n'était même pas assez stable pour une utilisation occasionnelle.
A présent, NeoOffice est très stable et bien parti pour fournir une interface utilisateur totalement Aqua. Et choisir une nouvelle orientation maintenant signifierait l'abandon de beaucoup de bon code. Le défaut de l'utilisation de Java est qu'il consomme (un peu) plus de ressources qu'une implémentation Cocoa. (Vous avez besoin de plus de RAM que la configuration minimale recommandée pour Mac OS X mais Mac OS X bénéficie d'avoir plus de RAM que la configuration minimale recommandée ! Et la RAM est bon marché; ajouter de la RAM est le meilleur moyen d'accélérer votre Mac à moindre coût.)
Cocoa n'est il pas meilleur que Java ?
Aqua est aqua.
Cette question est souvent posée par les développeurs et les power users. Les utilisateurs moyens, d'un autre côté, tendent à juger uniquement le résultat. Comme l'a dit un testeur :
"Si celà ressemble à un canard, marche comme un canard et caquète comme un canard, alors, pour l'utilisateur moyen, c'est un canard et les utilisateurs moyens ont clairement dit qu'ils voulaient un canard; que le canard boive du chocolat chaud ou du café n'a pas d'importance."
Et, comme le dit John Gruber, après avoir cité un ingénieur Apple sur la liste Carbon-Dev, "envoyez [le second paragraphe] à toute personne clamant que seules les application 'purement Cocoa' sont des applications 'natives' Mac OS X."
Java n'est pas lent ?
La majorité de NeoOffice est écrit en C++. Seuls les parties qui facilitent l'intégration du look Aqua ont été personnalisées en Java. La raison est que Java pour OS X a un look terrible et s'intègre à merveille dans l'interface native "bouton bleu" Aqua.
Et au fait, Java n'est plus si lent de nos jours.
Pourquoi NeoOffice n'utilise pas Java 1.5.x?
Il y a plusieurs raisons expliquant le fait que NeoOffice utilise Java 1.4.2, à la fois humaines et techniques. Tout d'abord, quand l'application fut développée (en tant que NeoOffice), Java 1.4.x n'était pas disponible sous Mac OS X. Quand Java 1.4.1 est finalement sorti sur Mac OS X, il était un peu buggé et il manquait certaines fonctions vitales sous Mac OS X 10.2.x. Java 1.5 est seulement disponible sous Mac OS X 10.4.x. De plus, Java 1.4.x et 1.5 sont basés sur Cocoa alors que Java 1.3.1 est basé sur Carbon. Donc NeoOffice a utilisé Java 1.3.1 sur Mac OS X 10.2.x, 10.3.x, and 10.4.x au début de son existence.
Passer à une nouvelle version de Java a non seulement demandé de renoncer aux support des anciennes versions de Mac OS X mais aussi des centaines, si ce n'est des milliers d'heures de travail pour réimplémenter les portions Carbon de NeoOffice en Cocoa ainsi que trouver les nouveaux bugs de ces nouvelles versions. Donc changer pour Java 1.4.x (ou 1.5) n'était pas une option viable pendant une bonne partie de l'existence de NeoOffice vu la taille de l'équipe de développement de NeoOffice et que Java 1.3.1 fonctionnait bien.
Puisque Java 1.3.1 ne fera pas la transition vers les Macs à processeur Intel, l'été 2005 (juillet-septembre) fut passé à travailler sur la transition de NeoOffice vers Java 1.4.2, et le mois d'octobre et la majeure partie de celui de novembre furent consacrés à régler les nouveaux problèmes rencontrés pendant la phase de test. NeoOffice 1.2 Alpha est la première version à demander Java 1.4.2 et Mac OS X 10.3 ou plus.
Une transition vers Java 1.5.x ne sera pas si difficile car il est aussi basé sur Cocoa, mais pour le moment, il n'en est pas question car Java 1.5.X vient juste de sortir (mi-novembre 2005) et est seulement disponible pour Mac OS X 10.4.X alors que de nombreux utilisateurs continuent d'utiliser Mac OS X 10.3.X. De plus, des taches plus importantes sont à l'horizon comme le support des Macs Intel, ce qui demandera beaucoup de ressources. (Forcer NeoOffice ou NeoOffice 1.2 Alpha à utiliser Java 1.5 entraine des plantages et n'est pas supporté).
Pourquoi ne pas utiliser GTK ou Qt ou un autre toolkit multiplateforme ?
Voir Pourquoi ne travaillez vous pas sur une version Cocoa d'OpenOffice.org Aqua ? et Cocoa n'est il pas meilleur que Java ? :-) La réponse courte est que retravailler le code d'OpenOffice.org pour utiliser un autre toolkit prendrait au moins autant de temps et de travail que ça en a pris pour amener NeoOffice au point où il en est actuellement (deux ans de travail à temps presque complet pour 1,5 développeurs et du travail accompli avant cela), sans garantie de stabilité du résultat.
Autres questions
Est ce que NeoOffice a remplacé NeoOffice/C ?
Oui, .
Où puis je en apprendre plus sur NeoOffice ?
Pour des trucs et astuces sur l'utilisation de NeoOffice, voir la section trucs et astuces de ce Wiki.
J'ai une question sur le design ou le développement de NeoOffice; où puis je obtenir une réponse ?
- Visitez la FAQ officielle de NeoOffice
- Cherchez dans ce wiki
- Cherchez dans les Forums trinity
- Si vous n'avez toujours rien trouvé, posez votre question dans la section appropriée des Forums trinity