Es:NeoOffice y Aqua

From NeoWiki

Jump to: navigation, search
Este artículo no está actualizado, o necesita cambios estructurales o estilísticos para conformarse con la guía de estilo del resto de este wiki.

Preguntas frecuentes acerca del proyecto y desarrollo de NeoOffice, o "Todo lo que necesitas saber sobre NeoOffice (y que deberías leer antes de hacer una petición en [Mac]Slash[Dot]"

Contents

"Aqua-ficación" e Integración con Mac OS X

¿Por qué NeoOffice no tiene una interfaz decididamente cercana a Aqua del Mac?

A partir de la versión 2.x Aqua Beta de NeoOffice, esta incluye una progresiva Aqua-ficación. Los usuarios exigentes de Mac (¿hay otros?) pueden notar que todavía faltan algunos detalles, pero no te preocupes; esta es la primera versión de NeoOffice que tiene estas características en estilo Aqua, y los programadores están trabajando para hacer desaparecer las partes grises.

El objetivo es añadir con calma las características de Aqua a NeoOffice de tal manera que sea cada vez más similar al ambiente Mac y lo más semejante a las aplicaciones nativas de ese sistema operativo.

Durante los últimos meses, en cada parche se ha podido ir mejorando el aspecto Aqua de nuestra aplicación.

¿Cuáles son los últimos pasos que se han realizado en el proceso de Aqua-ficación?

Para agosto de 2006:

  • ventanas de diálogo para Abrir y Guardar (07/2006)
  • nuevos iconos de documemtnos que corresponden mejor con el aspecto Aqua (07/2006)
  • Las iconas deshabilitadas tienen el aspecto apropiado previsto para las aplicaciones de Mac OS X (antes eran gris oscuro) (07/2006)
  • Numerosos widget Aqua (barras de desplazamiento, botones, barras indicadoras de avance, etc.) (04/2006-07/2006)
  • Compatibilidad mejorada con el software de dictado vocal (10/2005)
  • Capacidad de imprimir los ficheros EPS que se inserten (09/2005)
  • Soporte mejorado para los teclados internacionales (09/2005)
  • Menú con los elementos del servicio de inicio rápido ("Quickstart") (que se encuentra también en el menú NeoOffice) (06/2005)
  • No aparece más la "ventana gris" cuando se cierra el último documento sino que el programa permanece abierto, precisamente como para los programas normales de Mac (05/2005)
  • Integración con Spotlight para Mac OS X 10.4 "Tiger" a través de NeoLight (05/2005)
  • Uso de los colores definidos en el panel de control Apariencia de las Preferencias del Sistema... (04/2005)
  • Soporte para las lenguas indoarias (04/2005)
  • Soporte para Eudora, Entourage y Mail como programas para enviar ficheros como archivos anexos (03/2005)
  • AppleScript para instalar drag-and-drop los ficheros de ayuda para las lenguas que no sean inglés (03/2005)
  • Drag & drop entre NeoOffice y otras aplicaciones (03/2005)
  • Cuando se hace click sobre la tecla roja "cerrar" arriba a la izquierda en la ventana del último documento abierto de la aplicación, ésta no se cierra (03/2005)
  • Las secciones About NeoOffice y Preferencias se encuentran en el menú NeoOffice (02/2005)
  • Interfaz en 40 lenguas (12/2004)
  • Nuevo icono del programa en estilo Aqua y nuevo splash screen (12/2004)
  • Ficheros PDF optimizados y más pequeños (12/2004)
  • Drag & drop del texto (12/2004)
  • Soporte para la rueda del ratón (11/2004)
  • Los menú nativos aparecen en la barra blanca arriba de la pantalla, como para todos los demás programas para Mac (antes aparecían arriba del documento activo) (11/2004)
  • Aviso automático para cuando surgen nuevos parches o versiones (11/2004)
  • Los parches están disponibles como paquetes estándar para el installer de Mac OS X (09/2004)
  • Suporte para los formatos de ficheros de Macintosh en las ventanas de diálogo Abrir... y Guardar como... (09/2004)

Mantente alerta pues continuamente se añaden nuevas características a través de los parches regulares del programa

Tecnologías y utilidades

¿Qué tecnologías han sido usadas para la Aqua-ficación de NeoOffice?

Aqua (Mac OS X) es la interfaz gráfica desarrollada por Apple para OS X. Apple ofrece tres bases (frameworks) para el desarrollo de programas con la interfaz Aqua:

  • Carbon (una especie de modo compatible con OS 9, usado también por Mozilla/Firefox)
  • Cocoa (el nuevo framework que ha sido adaptado por NeXT para Mac OS X)
  • Java (lenguaje multi-plataforma, incluye JFC/Swing para los elementos de la interfaz de usuario)

NeoOffice/C (el proyecto prototipo inicial) fue un intento de iniciar a usar Cocoa y Carbon. El proyecto de mayor éxito, NeoOffice (antes conocido como NeoOffice/J), actualmente usa una mezcla de Cocoa, Carbon e Java 1.4.2/1.5.

Entonces... ¿NeoOffice está escrito con Java?

No.

NeoOffice es la versión nativa para Mac OS X de OpenOffice.org que usa algunos detalles del código Java en el diseño gráfico y en la configuración.

OpenOffice.org está escrito principalmente en lenguaje C++ que es independiente de la plataforma. Sin embargo, NeoOffice aprovecha la especial integración de Mac OS X y Java para obtener el aspecto de Mac OS X. En otras palabras, los pocos bit de Java en NeoOffice buscan realizar operaciones relacionadas con la interfaz. Los "engranajes" de la suite office siguen escritos en C++. (El código de NeoOffice es en su 99% el mismo que OpenOffice.org y condividido con las demás plataformas sobre las que OpenOffice.org corre, y el 1% restante está escrito en Java, C++, C, y Objective-C.)

Por tanto, NeoOffice podrá correrse sólo en ordenadores MacIntosh Mac OS X 10.3.x o 10.4., y no en Mac OS 9, Mac OS X 10.2 o anteriores, Windows, Linux, Darwin, o cualquier otra forma de UNIX.

¿Cómo se usa Java en NeoOffice?

Como se mencionó arriba, Java se usa en NeoOffice para lograr el interfaz típico de aplicaciones Mac. Por tanto, no es que Java permita que NeoOffice corra sino que sólo permite que las librerías relacionadas con ventanas de dos dimensiones (por ejemplo) se vean mejor en NeoOffice. Estas están actualmente en forma "nativa" en Apple VM en el sentido de que son realmente Java 2D y CoreGraphics/Quartz y AWT usa Carbon.[1]

La cantidad de código Java usado ha ido disminuyendo con el tiempo.[2] 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.[3] 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).

¿Por qué no trabajáis con Cocoa para una versión Aqua de OpenOffice.org?

Hay varias razones OpenOffice.org no ha sido construido como una aplicación Cocoa Mac nativa. Traducir todos los modelos de los eventos, la gestión de tipos de letra y las rutinas de visualización en "puro" Cocoa implicaría una tremenda cantidad de trabajo. Por otro lado, la implantación de Java hecha por Apple ofrece un buen acceso a las características Aqua y es más fácil de fundir con el código de OpenOffice.org. NeoOffice/C ha probado que una implantación Cocoa "pura" no es una solución practicable en el corto o medio plazo. Aunque resultaba de buen aspecto, después de un buen número de hack, no resultaba bastante estable ni siquiera tras usos esporádicos. Para una explicación más detallada de las razones que están detrás de esta elección de implantación, puedes ver este post [en] del co-fundador del proyecto NeoOffice e ingeniero del sistema, Ed Peterlin.

Como dijimos antes, NeoOffice es muy estable y no falta mucho para que pueda ofrecer un interfaz usuario completamente al estilo de Aqua, y tomar ahora otro camino sería como tirar a la basura mucho código útil, bien probado y estable. La parte negativa de usar Java es que consume más recursos que una implantación pura de Cocoa. (Se requiere más RAM respecto a los requerimientos normales de Mac OS X, pero por otro lado si se aumenta la RAM todo el sistema se ve beneficiado. Además estas tarjetas de memoria son cada vez más económicas, añadir RAM es lo más barato para hacer más veloz tu ordenador) Las mejoras que Apple ha introducido en Java 1.4.2 respecto a Java 1.3.1 permiten a NeoOffice 1.2 Alpha el reducir el uso de recursos y mejorar las prestaciones.

En vez de permanecer ciegamente fiel a un solo toolkit, los desarrolladores de NeoOffice usan la mejor herramienta para afrontar la tarea y el objetivo del proyecto NeoOffice."[4]

¿No es mejor Cocoa que Java?

Aqua es aqua.

Esta pregunta la hacen frecuentemente los programadores y los usuarios más expertos. Por otro lado, los usuarios finales suelen juzgar los resultados. Una de las personas que participó en la fase de pruebas del programa dijo:

"Si tiene el aspecto de un pato, camina como un pato, y hace lo mismo que un pato, entonces, ¿por qué el usuario final está seguro de que se trata de un pato? Ahora bien, que este pato beba chocolate caliente o café es una cosa poco importante (en inglés hay un juego de palabras entre chocolate=cocoa y café=java."

Como John Gruber ha dicho, después de haber citado lo que un ingeniero de Apple escribió en la mailing-list Carbon-Dev, "enviad [el segundo párrafo] a cualquiera que pretenda que sólo las 'aplicaciones Cocoa' son 'verdaderamente nativas' de Mac OS X."

Pero Java ¿no es muy lento?

Como se ha mencionado, la mayor parte de NeoOffice se escribió en C++. Solo aquellas partes que permiten un aspecto en estilo Aqua han sido personalizadas para usar Java. Esto porque Mac OS X Java tiene un aspecto excelente y va mejor para configurar los controles "blue-button" nativos de Aqua.

Y luego, precisamente para hacer justicia, Java ya no es tan lento...

Versiones de Java (historia)

NeoOffice 2.0 Aqua Beta 3 y posteriores pueden ahora usar Java 1.5 (y la versión de Java es la 1.5 para i Mac-Intel en los que corre Mac OS X 10.4). Hay varias razones por las que NeoOffice usa Java 1.4.2, estas son técnicas pero también humanas. Cuando comenzó el desarrollo del programa (como NeoOffice/J), Java 1.4.x no estaba disponible para Mac OS X. Cuando finalmente Java 1.4.1 resultó disponible para Mac OS X, estaba lleno de errores y le faltaban una serie de características para correr en Mac OS X 10.2.x. Java 1.5 está disponible sólo para Mac OS X 10.4.x. Además, Java 1.4.x y 1.5 están basados en Cocoa mientras que Java 1.3.1 está basado en Carbon. Así durante la mayor parte de su vida inicial como NeoOffice/J, la aplicación usaba Java 1.3.1 en Mac OS X 10.2.x, 10.3.x, y 10.4.x.

El cambio a una versión de Java más reciente no sólo incluye el abandono del soporte para los usuarios que usan versión de Mac OS X más antiguas, sino que requiere también centenares, por no decir miles, de horas de tiempo para reimplantar muchas de las partes de la aplicación escritas antes en Carbón para Cocoa y para trabajar en los nuevos errores que se introduzcan a partir de la nueva versión de Java. Por ello, cambiar para usar Java 1.4.x (o 1.5) no es un camino recorrible para la mayor parte de NeoOffice/J's dada la escasez de personas que forman el equipo de desarrollo y por el hecho de que Java 1.3.1 todavía trabaja bien.

Por cuanto Java 1.3.1 no está previsto para la transición a ordenadores Mac con base Intel, el verano de 2005 (julio-septiembre) transcurrió en un trabajo a tiempo completo para realizar la transición de NeoOffice/J a Java 1.4.2, y octubre y casi todo noviembre para fijar los nuevos errores que se habían producido durant el proceso de verificación. NeoOffice 1.2 Alpha fue la primera versión que requería Java 1.4.2 en Mac OS X 10.3 o más recientes.

Luego, la transición a Java 1.5.x no fue tan difícil puesto que también está basado en Cocoa, y fue realizado (para los Mac-Intel) durante el ciclo de pruebas de NeoOffice 2.0 Aqua Beta. Java 1.4.2 es todavía la versión predefinida de Java usada por NeoOffice en los Mac con procesadores PowerPC sobre los cuales corre el sistema operativo 10.3.x o 10.4.x. (Forzar NeoOffice/J 1.1 o NeoOffice 1.2 Alpha a usar 1.5 tendrá como resultado un aumento de los errores y de situaciones sin soporte.)

¿Por que no usa gtk o Qt u otro toolkit multiplataforma?

Lee este artículo y este Resumiendo se puede decir que para trabajar en el código fuente de OpenOffice.org y usar otro toolkit tomaría al menos el mismo tiempo y luego habría que hacer todo lo que se ha hecho hasta ahora por aqua-ficar el programa (después de tres años de trabajo a tiempo completo por parte de un programador y todo el trabajo preparatorio), sin la garantía de la estabilidad del resultado actual.

Además, en el caso de gtk, el puerto para Mac OS X funciona sólo en las versiones antiguas e incompletas de gtk. También en el caso de Qt, que tiene un puerto del toolkit para Mac OS X moderno y completo, el trabajo para lograr que OpenOffice.org trabaje con él no llevaría a una versión nativa e independiente de X11. La versión Qt/KDE de OpenOffice.org no es una implementación de vcl [en] con "Qt nativo". Todas las partes que se relacionan con la gestión de caracteres, el diseño, etc., debe todavía realizarse usando X11 [5].

¿Y los i Mac-Intel? Hay un paquete Universal Binary?

Lee esta FAQ [en] (de la primavera 2006) para encontrar una explicación detallada en relación con los MacIntel y para conocer los últimos desarrollos. (También puedes ver las FAQ de inicio de 2006 para consultar información anterior).

Otras preguntas

¿NeoOffice ha sustituido a NeoOffice/C?

¡Sí! [en].

¿Qué ha pasado con NeoOffice/J?

Como reconocimiento del hecho de que el "clásico" puerto para el uso de Cocoa (NeoOffice/C) ha sido abandonado, así como por el hecho de que la "/J" era más bien poco clara para muchos usuarios, lo que fue NeoOffice/J simplemente ha sido rebautizado como NeoOffice a partir de la versión 1.2 Alpha.

¿Hay algún plan de desarrollo?

La dirección del proyecto es discutida normalmente en el foro "NeoOffice Development" en trinity. Los planes sucesivos al 6 de junio de 2005 [en] de los dos desarrollar principales para 2005-06 están resumidos en este enlace al foro [en]. Los planes para la fase sucesiva a la realización de NeoOffice 2.0 Aqua Beta incluyen más detalle en la aqua-ficación y un proyecto de la comunidad para desarrollar una serie de iconos para las barras de herramientas (toolbars) en estilo Aqua, pero no existe un plan de desarrollo oficial.

¿Dónde puedo aprender más cosas acerca de NeoOffice?

Para encontrar trucos sobre el uso de NeoOffice, mira la sección Trucos y sugerencias de esta Wiki.

Tengo más preguntas acerca del desarrollo de NeoOffice, ¿dónde puedo hacerlas?

  • Revisa las FAQ oficiales de NeoOffice
  • Busca en esta wiki
  • Busca en los foros de Trinity
  • Si aun así no encuentras respuesta, hazla en la sección apropiada del foro. Normalmente se ha de escribir en inglés pero es posible que haya usuarios que puedan responder en español allí.


Este artículo en otros idiomas: English, Français Deutsch y Italiano Nederlands
Personal tools