PDF de programación - Gnome 3

Imágen de pdf Gnome 3

Gnome 3gráfica de visualizaciones

Publicado el 27 de Noviembre del 2019
733 visualizaciones desde el 27 de Noviembre del 2019
2,2 MB
51 paginas
Creado hace 13a (01/04/2011)
Jon Ander Hernandez
Iñigo Illán Aramburu

Gnome

Historia y evolución de Gnome

Contexto y justificación de Gnome 3

Filosofía detrás de Gnome 3

Ingeniería en Gnome

Historia de Gnome

Historia de Gnome

¿Qué es Gnome?

Gnome es un escritorio y una plataforma de desarrollo para
sistemas *nix

Surgió como una iniciativa de Miguel de Icaza y Federico
Mena

Trataban de que Linux tuviera un equivalente a OLE y
COM

Gnome significa GNU Network Object Model Environment

Historia de Gnome

Historia de Gnome

¿Quién hace Gnome? (I)

Historia de Gnome

¿Quién hace Gnome? (y II)



"Sólo" un 40% de los que contribuyen son pagados por ello

El resto lo hace de manera altruista

Historia de Gnome

Características de la plataforma Gnome

Gnome es una plataforma de desarrollo basada en
GLib/GObject/Gtk+

Entorno muy heterogéneo

Comprometido con unos API y ABI estables

Licencia LGPL

Historia de Gnome

Evolución de las versiones mayores

Versión 1.0 liberada en Marzo de 1999 (12 años)

Versión 2.0 liberada en Junio de 2002 (9 años)

Versión 3.0 liberada en Abril de 2011 (1 día)

A partir de Gnome 2.4, sale una revisión cada 6
meses

Historia de Gnome

Gnome 1.0

Historia de Gnome





Historia de Gnome

Sistema de componentes

Usaron Corba para implementar el sistema de componentes

En un principio Gnorba para la activación de componentes

Más tarde, OAF (Object Activation Framework)

Bonobo es el equivalente a OLE en Gnome

Historia de Gnome

¿Por qué un sistema de componentes?



Permite reusar código

Independiente del lenguaje

Permite un diseño muy modular

Historia de Gnome

Problemas con Gnome 1.x

Problemas con un API demasiado inmaduro

La usabilidad de Gnome 1.x era un desastre

Se quería un entorno más profesional

Por lo tanto, había que repensar todas las interfaces

Conclusión: Hicieron Gnome 2.0

Historia de Gnome

Gnome 2.0

Historia de Gnome

Historia de Gnome

Mayores cambios para Gnome 2.0


Accesibilidad



Unicode

Pango: Renderizado de texto avanzado

GConf: Registro para Gnome

Historia de Gnome

Human Interface Guidelines

Documento donde se especifica cómo debe ser una interfaz
Gnome

Da consistencia a las aplicaciones

Principalmente realizado por Sun



Historia de Gnome

Arquitectura de Gnome 1.x

Historia de Gnome

Arquitectura de Gnome 2 en detalle

Historia de Gnome

GLib



Implementa todas las funcionalidades básicas de cualquier
plataforma de desarrollo

Sirve de abstracción de la plataforma puesto que declara
sus propios tipos de datos

Historia de Gnome

GObject



Sistema de objetos para C

No es una extensión del lenguaje, con lo que no requiere
tratar previamente el código fuente

También ofrece soporte para eventos y propiedades
dinámicas

Clave para la generación de bindings: GType

Historia de Gnome

GType

Historia de Gnome

Pango

Se encarga del renderizado de texto

Soporta antialiasing, unicode, kerning, ellipsizing, RTL y
LTR, etc...

Pango Markups: <b>, <i>, <span>, etc...



Historia de Gnome

Cairo

Librería de gráficos vectoriales

Abstracción del sistema gráfico

Gtk en un navegador: Broadway



Historia de Gnome

Gio y Gvfs

API no POSIX para manejo de entrada/salida basada en
Interfaces

Gnome-vfs stateless vs Gvfs statefull

Gio para archivos locales y Gvfs para archivos remotos

Integrado en GLib



Historia de Gnome

Gtk+



Librería gráfica derivada de GIMP

Layouting automático

MVC para TreeView, IconView y ComboBox

Historia de Gnome

Problemas con el sistema de componentes basado en Corba


Muy difícil de depurar



No favorece la interoperabilidad entre escritorios ni con el
Sistema Operativo

Muy pesado para que funcione en hardware limitado como
un móvil.

Añade una complejidad excesiva para lo que ofrece

Historia de Gnome

DBus

Interoperabilidad en todo el sistema

Protocolo simple y eficiente

Fácil de integrar en diferentes lenguajes

Historia de Gnome

GObject Introspection

Automatización en la generación de bindings para la
plataforma

Scanner de código fuente basado en GObject



Se especifica a través de "Anotaciones"

Simplifica la generación de documentación de la API

Historia de Gnome



Gnome 3.0

Historia de Gnome

Clutter


Canvas OpenGL



Creado principalmente por Intel para Moblin

Muy optimizado

Historia de Gnome

Dconf



Muy optimizado para lecturas: Importante en el arranque

Uso de GVariant

Comunicación con el servidor a través de DBus

Historia de Gnome

Cambios en Gtk+ 3.0



Mayor abstracción del sistema gráfico

Nuevo sistema de temas basado en CSS

Soporte para dispositivos multitáctiles: XInput 2

Cambios en el negociado del tamaño de los widgets:
Natural sizing

Historia de Gnome

Natural sizing

Antes

Después

Contexto y justificación



Gnome 3.0

Contexto y justificación de Gnome 3

Necesidades para Gnome 3.0 (I)

La aparición de los netbooks y tablets hace necesario
rediseñar y repensar el escritorio

Simplificar el escritorio y hacerlo más orientado a la
tarea.

Necesidad de innovación

Contexto y justificación de Gnome 3

Necesidades para Gnome 3.0 (y II)

Cierta necesidad de cambiar el API y el ABI



Limpiar y simplificar la plataforma

Deshechar todos los módulos marcados como
'deprectated'

Contexto y justificación de Gnome 3

Plataforma de desarrollo Gnome 2.0
GLib
Gtk+
ATK
Pango
libglade
gnome-vfs
libidl
ORBit 2

libbonobo
libbonoboui
libgnome
libgnomeui
libgnome-print
libgnome-print-ui
libgnomecanvas

Contexto y justificación de Gnome 3

Plataforma de desarrollo Gnome 3.0


GLib
Gtk+
ATK
Pango
Cairo
Clutter

Demo



DEMO

Ingeniería en Gnome

Una enriquecedora visión para un futuro ingeniero

Introduction :

“ Students are not born to do a job, being a student means to learn how to think,
how to gather data, create information, lead and work with different people
around the world. ”

Gnome is all about it where you can learn all of them at the same place . :)

Ingeniería en Gnome

Ciclo de desarrollo de Gnome

Proceso iterativo e incremental

Basado en metodologías ágiles

Cada revisión dura 6 meses

Gnome impone unos plazos a los diferentes módulos que
estos deben cumplir



Ingeniería en Gnome

¿Preguntas?
  • Links de descarga
http://lwp-l.com/pdf16976

Comentarios de: Gnome 3 (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad