Introducción a la Arquitectura y Desarrollo en KDE4

2,497 views
2,397 views

Published on

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.

Published in: Technology
1 Comment
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total views
2,497
On SlideShare
0
From Embeds
0
Number of Embeds
85
Actions
Shares
0
Downloads
24
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide

Introducción a la Arquitectura y Desarrollo en KDE4

  1. 1. Arturo Hoffstadt Urrutia Estudiante Ing. Civil Informática, UTFSM Fedora Ambassador http://arturo.hoffstadt.cl [email_address]
  2. 2. ¿Qué es KDE?
  3. 3. ¿Qué es KDE? <ul><li>Código Abierto. </li></ul><ul><li>Ambiente de Escritorio Gráfico, originalmente para X11. </li></ul><ul><li>Colección de aplicaciones KDE. </li></ul><ul><li>API, Ambiente y Herramientas para desarrollo de aplicaciones gráficas. </li></ul><ul><li>Portado a: Linux, xxxBSD, Solaris, AIX, HP-UX, Mac OSX, MS Windows. </li></ul>
  4. 4. Historia
  5. 5. <ul><li>Octubre 1996: Matthias Ettrich postea en USENET que planea escribir un ambiente de escritorio similar a CDE. </li></ul>
  6. 6. Julio 1998: KDE 1.0
  7. 7. Abril 2002: KDE 3.0, basado en Qt 3
  8. 8. KDE 3.5
  9. 11. Basado en...
  10. 12. KDE4 <ul><li>Qt 4.4 de Trolltech (Nokia) </li></ul><ul><ul><li>Pronto Qt 4.5 </li></ul></ul><ul><li>Multiplataforma (Si o Si) </li></ul><ul><li>Webkit </li></ul><ul><li>Guidelines de Freedesktop.org </li></ul><ul><ul><li>Estructura del Menú </li></ul></ul><ul><ul><li>Notificación de inicio de aplicaciones </li></ul></ul><ul><ul><li>Administradores de ventana </li></ul></ul><ul><ul><li>Nombres de Iconos http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html </li></ul></ul>
  11. 13. ¿Qué lo hace tan especial?
  12. 14. Gracias <ul><li>Estilo intercambiable y consistente a través de aplicaciones (incluso algunas no-KDE). </li></ul><ul><li>Transparente a la red y sistemas de archivos: SSH, FTP, HTTP, NFS, SMB, y cerca de 40 protocolos más son vistos como otro directorio en Konqueror (y por integración, a cualquier aplicación KDE). </li></ul><ul><li>Fuerte Internacionalización: 68 lenguajes, soporte para input completo. </li></ul><ul><li>Multiplataforma. </li></ul>
  13. 15. <ul><li>Extensible: </li></ul><ul><ul><li>Plugins </li></ul></ul><ul><ul><li>Addons </li></ul></ul><ul><ul><li>Dbus para comunicación inter-procesos </li></ul></ul><ul><ul><li>KIOSlaves (+40 protocolos soportados) </li></ul></ul><ul><ul><li>KGetHotNewStuff </li></ul></ul><ul><li>Integrable </li></ul><ul><ul><li>Kparts </li></ul></ul><ul><ul><li>Scripting (Kross) </li></ul></ul>
  14. 16. Algunos Componentes de KDE
  15. 17. KJS KDOM KSVG Strigi
  16. 18. Arquitectura
  17. 20. Desarrollo
  18. 21. <ul><li>¿Qué necesito saber? </li></ul><ul><ul><li>C++ o Python </li></ul></ul><ul><ul><li>Qt </li></ul></ul><ul><ul><li>Subversion </li></ul></ul><ul><ul><li>Cmake </li></ul></ul><ul><li>Pero tambien puede ser: </li></ul><ul><ul><li>LUA </li></ul></ul><ul><ul><li>PHP http://www.php-qt.org/ </li></ul></ul><ul><ul><li>C# http://www.qyoto.org/ </li></ul></ul><ul><ul><li>Ruby http://rubyforge.org/projects/korundum/ </li></ul></ul>
  19. 22. <ul><li>Documentacion Técnica: mediawiki </li></ul><ul><li>API Documentation: Doxygen </li></ul><ul><li>User Documentation: meinproc, docbook </li></ul><ul><li>Testing and QA: Bugzilla, KbugBuster </li></ul>
  20. 23. <ul><li>Antes de comenzar una aplicación: </li></ul><ul><ul><li>¿Exista ya? www.kde-apps.org </li></ul></ul><ul><ul><li>¿Porqué no mejor aportar a una ya existente? </li></ul></ul><ul><li>Como contribuir </li></ul><ul><ul><li>Chequear la job list </li></ul></ul><ul><ul><li>Koffice y Kdevelop tiene muy pocos desarrolladores </li></ul></ul><ul><ul><li>Pregunta en kde-devel, mira en la última versión de KDE que falta, crea una aplicación que te área de experiencia requiera. </li></ul></ul>
  21. 24. <ul><li>En Qt y Kde, no se usan Callbacks para el manejo de eventos. Se usan Signals y Slots. </li></ul><ul><li>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. </li></ul><ul><li>A medida que uno construye una interfaz, uno “conecta” signals con slots. Qt y Kde, automáticamente se preocupan de el paso de los eventos. </li></ul><ul><li>http://doc.trolltech.com/4.4/signalsandslots.html </li></ul>
  22. 25. Ejemplos
  23. 26. <ul><li>Los ejemplos pueden ser descargados en: </li></ul><ul><ul><li>http://www.arturo.hoffstadt.cl/wp/wp-content/uploads/2008/10/kdetar.gz </li></ul></ul>
  24. 27. Mas Información
  25. 28. Comunidad <ul><li>Akademy </li></ul><ul><ul><li>http://akademy2008.kde.org/ </li></ul></ul><ul><li>BugSquad </li></ul><ul><ul><li>http://techbase.kde.org/Contribute/Bugsquad </li></ul></ul><ul><li>Api Doc </li></ul><ul><ul><li>http://api.kde.org </li></ul></ul><ul><li>Techbase (Tutoriales, Ejemplos, y otros) </li></ul><ul><ul><li>http://techbase.kde.org </li></ul></ul>

×