Introducción al desarrollo con            Denis Fuenzalida<denis.fuenzalida@gmail.com / @dfuenzal>           01 de Octubre...
Acerca de mí●   Casi 10 años desarrollando    aplicaciones [web]●   Primero programando en Perl, luego    Java, Python … u...
Acerca de la audiencia ¿Conoces acerca del software libre?     ¿Usuario de software libre?¿Alguna experiencia en programac...
¿Qué es Launchpad?●    Plataforma web para colaborar y alojar    proyectos de Software Libre*●    Desarrollada para Ubuntu...
Launchpad para colaboradores●    Por mi interés en mejorar un proyecto    ●        Averiguar cómo se realiza una tarea    ...
Launchpad para desarrolladores●    Por mi interés en crear o ayudar a completar    un proyecto    ●        Desarrollar un ...
Servicios disponibles en LP●   Bugs    ●   Reporte y seguimiento de errores●   Answers    ●   Servicio de asistencia en lí...
Reporte y seguimiento de errores●    Los errores se pueden reportar desde la misma aplicación    en la mayoría de los casos
Reporte y seguimiento de errores
Reporte y seguimiento de errores
Reporte y seguimiento de errores●   Suscribirse por mail a los cambios en un bug●   Marcar bugs como duplicados de otros● ...
Launchpad Answers
Launchpad Answers
Launchpad Blueprints●   Permite especificar ideas y tareas que se quieren    implementar en un proyecto●   Se pueden usar ...
Traducciones en Launchpad●    Una de las funciones más potentes    ●        No requiere conocimientos de        programaci...
Traducciones en Launchpad
Traducciones en Launchpad
Traducciones en Launchpad●    Se puede reutilizar traducciones similares de otros proyectos
Alojamiento de código en LP●    Utiliza Bazaar (bazaar.canonical.com),    pero se puede importar código de    otras fuente...
Alojamiento y construcción de proyectos●    En Ubuntu (y en casi todas las distribuciones de    Linux), los programas se i...
Alojamiento y construcción de proyectos●    Los programas provienen    de los repositorios en CD,    DVD o de repositorios...
Alojamiento y construcción de proyectos●    Launchpad permite construir y distribuir programas que no    forman parte de l...
Alojamiento y construcción de proyectos●    Se obtiene el código del    proyecto y se prepara para que    sea instalable● ...
Alojamiento y construcción de proyectos●     Se obtiene el código del proyecto y se prepara     para que sea instalable   ...
Alojamiento y construcción de proyectos●    Se agregan metadatos para que se pueda convertir    en un paquete de software ...
Alojamiento y construcción de proyectos●     Se sube a LP para su construcción automática     y despliegue en nuestro repo...
Alojamiento y construcción de proyectos●    Se sube a LP para su construcción automática    y despliegue en nuestro reposi...
Alojamiento y construcción de proyectos●    Para que otros usuarios instalen los    programas de nuestro PPA:●    Centro d...
Quickly●    Nueva herramienta para el desarrollo rápido de aplicaciones    de escritorio    ●        Python, GTK, Gedit, G...
Sitio de desarrolladores de Ubuntu●    Recién estrenado: developer.ubuntu.com●    Tutoriales sobre las tecnologías disponi...
FinMuchas gracias!
Upcoming SlideShare
Loading in …5
×

Introduccion al desarrollo con Launchpad

954 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
954
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Introduccion al desarrollo con Launchpad

  1. 1. Introducción al desarrollo con Denis Fuenzalida<denis.fuenzalida@gmail.com / @dfuenzal> 01 de Octubre 2011
  2. 2. Acerca de mí● Casi 10 años desarrollando aplicaciones [web]● Primero programando en Perl, luego Java, Python … ultimamente Groovy y Ruby● Usuario de Ubuntu desde 2005, colaborador esporádico (traducciones, foros, blog)● Varios pequeños proyectos liberados en la web● Actualmente, colaboro como editor en www.ManzanaMecanica.org
  3. 3. Acerca de la audiencia ¿Conoces acerca del software libre? ¿Usuario de software libre?¿Alguna experiencia en programación?¿Usuario de Linux? ¿Debian? ¿Ubuntu?
  4. 4. ¿Qué es Launchpad?● Plataforma web para colaborar y alojar proyectos de Software Libre*● Desarrollada para Ubuntu, pero funciona con todo tipo de proyectos● www.launchpad.net* También hay suscripciones para proyectos de software cerrado desde 250 dólares/año
  5. 5. Launchpad para colaboradores● Por mi interés en mejorar un proyecto ● Averiguar cómo se realiza una tarea ● Reportar un bug para que sea corregido ● Solicitar que se agregue una funcionalidad a un programa ● Para que un proyecto esté disponible en mi idioma o en uno que yo conozco● Ninguna de estas actividades requiere conocimientos de programación
  6. 6. Launchpad para desarrolladores● Por mi interés en crear o ayudar a completar un proyecto ● Desarrollar un programa nuevo ● Ayudar a programar a los desarrolladores de un proyecto ya existente ● Enviar una mejora a un proyecto que corrige un bug ● Para que un programa nuevo esté disponible para instalarse en Ubuntu con facilidad (desde el Centro de Software de Ubuntu)
  7. 7. Servicios disponibles en LP● Bugs ● Reporte y seguimiento de errores● Answers ● Servicio de asistencia en línea ● Base de Conocimiento● Blueprints ● Propuestas y especificación de nuevas funciones● Translations ● Traducciones del software a docenas de idiomas● Code ● Alojamiento de código ● Repositorios PPA
  8. 8. Reporte y seguimiento de errores● Los errores se pueden reportar desde la misma aplicación en la mayoría de los casos
  9. 9. Reporte y seguimiento de errores
  10. 10. Reporte y seguimiento de errores
  11. 11. Reporte y seguimiento de errores● Suscribirse por mail a los cambios en un bug● Marcar bugs como duplicados de otros● Adjuntar archivos (videos, capturas de pantalla, logs) ● Adjuntar un parche que soluciona el problema● Definir atributos ● Urgencia (desde “muy importante” → “bajo” y “no decidido”) ● Error o nueva funcionalidad (wishlist) ● Error ya está confirmado (triage)● Se puede integrar con otros sistemas de otros equipos de desarrollo: Bugzilla, Trac, Sourceforge, Google Code ...
  12. 12. Launchpad Answers
  13. 13. Launchpad Answers
  14. 14. Launchpad Blueprints● Permite especificar ideas y tareas que se quieren implementar en un proyecto● Se pueden usar para definir la orientación del proyecto, para ver en que etapa o hito se quiere completar una idea o funcionalidad
  15. 15. Traducciones en Launchpad● Una de las funciones más potentes ● No requiere conocimientos de programación (sólo inglés) ● Interfaz web ● Reutiliza traducciones desde otros proyectos ● Se puede configurar de forma completamente abierta o más restringida (equipos de traducción) ● Las traducciones se pueden descargar o integrar a una rama (branch) de código de forma automática
  16. 16. Traducciones en Launchpad
  17. 17. Traducciones en Launchpad
  18. 18. Traducciones en Launchpad● Se puede reutilizar traducciones similares de otros proyectos
  19. 19. Alojamiento de código en LP● Utiliza Bazaar (bazaar.canonical.com), pero se puede importar código de otras fuentes (Google Code, Sourceforge, SVN...)● Desarollo distribuido (similar a Git, Mercurial, etc.)● Se puede tener código personal/experimental y ramas de desarrollo oficiales de un proyecto● Se puede operar con línea de comandos o con herramientas de escritorio (a-la TortoiseSVN...)
  20. 20. Alojamiento y construcción de proyectos● En Ubuntu (y en casi todas las distribuciones de Linux), los programas se instalan en forma de paquetes de software● Paquete de software = Archivos + Metadatos● Los metadatos indican: ● Sección del catálogo al que pertenece este programa o paquete (utilidades, oficina, web, juegos...) ● Dependencia en otros paquetes (y versiones) ● Pasos a seguir en la instalación (y desinstalación) ● Otros: Autor(es), licencia, página web, etc.
  21. 21. Alojamiento y construcción de proyectos● Los programas provienen de los repositorios en CD, DVD o de repositorios en línea● Se pueden agregar repositorios llamados PPA (Personal Package Archive) que están alojados en Launchpad ● Centro de software → Editar → Orígenes del Software ● $ sudo add-apt-repository ppa:usuario/repositorio
  22. 22. Alojamiento y construcción de proyectos● Launchpad permite construir y distribuir programas que no forman parte de la distribución oficial de Ubuntu ● Sin problemas de hosting, ni de ancho de banda ● Permite generar paquetes de software firmados digitalmente y para diferentes procesadores (32 y 64 bits) ● Puedo crear versiones optimizadas de programas ya existentes, o empaquetar versiones más nuevas que las que están disponibles ahora o de programas ya no soportados
  23. 23. Alojamiento y construcción de proyectos● Se obtiene el código del proyecto y se prepara para que sea instalable● Se agregan metadatos para que se pueda convertir en un paquete de software (debianización)● Se sube a Launchpad para su construcción automática y despliegue en nuestro repositorio PPA
  24. 24. Alojamiento y construcción de proyectos● Se obtiene el código del proyecto y se prepara para que sea instalable $ git clone https://github.com/dfuenzalida/gedit-git-branch-statusbar $ mv gedit-git-branch-statusbar gedit-git-branch-statusbar-1.0 $ cd gedit-git-branch-statusbar-1.0 # Generar archivos para paquete .deb $ dh_make -c gpl -e denis.fuenzalida@gmail.com -s --createorig
  25. 25. Alojamiento y construcción de proyectos● Se agregan metadatos para que se pueda convertir en un paquete de software (debianización)
  26. 26. Alojamiento y construcción de proyectos● Se sube a LP para su construcción automática y despliegue en nuestro repositorio PPA # Creo un paquete de código fuente con mi firma digital $ debuild -S -sa -kADF0F1AD . . . Successfully signed dsc and changes files $ cd .. $ dput ppa:denis-fuenzalida/ppa gedit*.changes . . . Uploading to ppa (via ftp to ppa.launchpad.net): Uploading gedit-git-branch-statusbar_1.0-1.dsc: done. Uploading gedit-git-branch-statusbar_1.0.orig.tar.gz: done. Uploading gedit-git-branch-statusbar_1.0-1.debian.tar.gz: done. Uploading gedit-git-branch-statusbar_1.0-1_source.changes: done. Successfully uploaded packages.
  27. 27. Alojamiento y construcción de proyectos● Se sube a LP para su construcción automática y despliegue en nuestro repositorio PPA
  28. 28. Alojamiento y construcción de proyectos● Para que otros usuarios instalen los programas de nuestro PPA:● Centro de Software de Ubuntu → Orígenes del software → Otro software
  29. 29. Quickly● Nueva herramienta para el desarrollo rápido de aplicaciones de escritorio ● Python, GTK, Gedit, Glade, Bazaar y Launchpad en un paquete más integrado ● Ver más en developer.ubuntu.com/get-started/
  30. 30. Sitio de desarrolladores de Ubuntu● Recién estrenado: developer.ubuntu.com● Tutoriales sobre las tecnologías disponibles para desarrollo de aplicaciones ● Cómo crear un reproductor multimedia con Python y GTK
  31. 31. FinMuchas gracias!

×