introducción a la arquitectura y desarrollo en kde4

28
Intro. a la Arquitectura y Desarrollo de KDE 4, Noveno Encuentro Linux Arturo Hoffstadt Urrutia Estudiante Ing. Civil Informática, UTFSM Fedora Ambassador http://arturo.hoffstadt.cl [email protected]

Upload: arturo-hoffstadt

Post on 04-Jul-2015

2.238 views

Category:

Technology


1 download

DESCRIPTION

Hace mucho tiempo que trabaje con Qt 3, en mi proyecto de Feria de Software, Nómada (ufff, por ahí por el año 2006). Luego, seguí trabajando con Qt, pero mi idea era siempre tratar de aportar al proyecto KDE. En fín, por pega y estudios, nunca pude hacerme el tiempo, hasta que finalmente, para el Noveno Encuentro Linux, dije \"Es ahora o nunca\", asi que envié el trabajo, y fue aceptado. La charla es principalmente un rápido resumen sobre las tecnologías usadas en KDE4, qué es lo nuevo, qué es lo viejo, y como se puede usar, haciendo enfoque a que varias librerías desarrolladas para KDE, ahora no dependen de las librerias KDE. Luego, segui con varios ejemplos, tomados del Techbase de KDE, actualizandolos un poco. * 01 Aplicación Sencilla, compilando via g++ * 02 La misma aplicación, usando CMake para generar un Makefile * 03 Aplicación KDE, usando KXMLGuiWindow para crear la ventana principal * 04 Introducción a las Señales y Slots de KDE, y las KActions, creando una aplicación que permite mostrar texto. * 06 Se agrega a la aplicación la funcionalidad de cargar y guardar, mediante KActions * 08 Se reemplaza el editor de textos, por un reproductor de sonido, mediante Phono * 09 Se agrega al reproductor de sonidos, la reproducción de videos * 10 Se agrega al reproductor de videos, el descubrimiento de pendrives automatico, mediante Solid Si se pierden en lo que estoy mostrando en los ejemplos, o diapositivas, les recomiendo que vean antes la presentación que hice sobre KDE4, donde me extiendo más en las nuevas cosas que hay en KDE4.

TRANSCRIPT

  • 1. Arturo Hoffstadt Urrutia Estudiante Ing. Civil Informtica, UTFSM Fedora Ambassador http://arturo.hoffstadt.cl [email_address]

2. Qu es KDE? 3. Qu es KDE?

  • Cdigo Abierto.
  • Ambiente de Escritorio Grfico, originalmente para X11.
  • Coleccin de aplicaciones KDE.
  • API, Ambiente y Herramientas para desarrollo de aplicaciones grficas.
  • Portado a: Linux, xxxBSD, Solaris, AIX, HP-UX, Mac OSX, MS Windows.

4. Historia 5.

  • Octubre 1996: Matthias Ettrich postea en USENET que planea escribir un ambiente de escritorio similar a CDE.

6. Julio 1998: KDE 1.0 7. Abril 2002: KDE 3.0, basado en Qt 3 8. KDE 3.5 9. 10. 11. Basado en... 12. KDE4

  • Qt 4.4 de Trolltech (Nokia)
    • Pronto Qt 4.5
  • Multiplataforma (Si o Si)
  • Webkit
  • Guidelines de Freedesktop.org
    • Estructura del Men
    • Notificacin de inicio de aplicaciones
    • Administradores de ventana
    • Nombres de Iconoshttp://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html

13. Qu lo hace tan especial? 14. Gracias

  • Estilo intercambiable y consistente a travs de aplicaciones (incluso algunas no-KDE).
  • Transparente a la red y sistemas de archivos:SSH, FTP, HTTP, NFS, SMB, y cerca de 40 protocolos ms son vistos como otro directorio en Konqueror (y por integracin, a cualquier aplicacin KDE).
  • Fuerte Internacionalizacin: 68 lenguajes, soporte para input completo.
  • Multiplataforma.

15.

  • Extensible:
    • Plugins
    • Addons
    • Dbus para comunicacin inter-procesos
    • KIOSlaves (+40 protocolos soportados)
    • KGetHotNewStuff
  • Integrable
    • Kparts
    • Scripting (Kross)

16. Algunos Componentes de KDE 17. KJS KDOM KSVG Strigi 18. Arquitectura 19. 20. Desarrollo 21.

  • Qu necesito saber?
    • C++ o Python
    • Qt
    • Subversion
    • Cmake
  • Pero tambien puede ser:
    • LUA
    • PHPhttp://www.php-qt.org/
    • C#http://www.qyoto.org/
    • Rubyhttp://rubyforge.org/projects/korundum/

22.

  • Documentacion Tcnica: mediawiki
  • API Documentation: Doxygen
  • User Documentation: meinproc, docbook
  • Testing and QA: Bugzilla, KbugBuster

23.

  • Antes de comenzar una aplicacin:
    • Exista ya?www.kde-apps.org
    • Porqu no mejor aportar a una ya existente?
  • Como contribuir
    • Chequear la job list
    • Koffice y Kdevelop tiene muy pocos desarrolladores
    • Pregunta en kde-devel, mira en la ltima versin de KDE que falta, crea una aplicacin que te rea de experiencia requiera.

24.

  • En Qt y Kde, no se usan Callbacks para el manejo de eventos. Se usan Signals y Slots.
  • Un objeto que es capaz de generar un evento, posee un Signal, mientras que un objeto que es capaz de capturar el evento, posee un slot.
  • A medida que uno construye una interfaz, uno conecta signals con slots. Qt y Kde, automticamente se preocupan de el paso de los eventos.
  • http://doc.trolltech.com/4.4/signalsandslots.html

25. Ejemplos 26.

  • Los ejemplos pueden ser descargados en:
    • http://www.arturo.hoffstadt.cl/wp/wp-content/uploads/2008/10/kdetar.gz

27. Mas Informacin 28. Comunidad

  • Akademy
    • http://akademy2008.kde.org/
  • BugSquad
    • http://techbase.kde.org/Contribute/Bugsquad
  • Api Doc
    • http://api.kde.org
  • Techbase (Tutoriales, Ejemplos, y otros)
    • http://techbase.kde.org