< gus-tavo> Comienza la sesion :9 < gus-tavo> Michael Terry, es quien mantiene los paquetes de Quickly < gus-tavo> Usualmente da charlas durante la Semana del Desarrollador, como esta, quiere saber si les gustaria hablar de algo mas tecnico o no < gus-tavo> Comienza con una rapida intro a Quikly y los planes para 12.10 y 13.04 < gus-tavo> Quicly es un forma de comenzar a desarrollar muy rapida < gus-tavo> Y no tener que preocuparse mucho acerca del empaquetado o como enviar la app a Ubuntu < gus-tavo> Hay algunas opiniones sobre la eleccion (como Python, GTK+) que Ubuntu hace, para ofrecer una mejor experiencia < gus-tavo> Hay muchas "plantillas" que Quickly ofrece para otras cosas (como HTML5 o Flash) < gus-tavo> Por que usar Quicly o integrarse al desarrollo ? < gus-tavo> La razon es que si queres comenzar a desarrollar sin importar mucho acerca del empaquetamiento < mwallacesd> =) < gus-tavo> Siempre hay muchas cosas para hacer, y hay planeado mucho trabajo < gus-tavo> en 12.04 hay tres plantillas, la nomal Python+GTK, una interfaz de linea de comandos y otra de juegos flash < gus-tavo> Tambien estan HTML5, Qt, Qt Quick, y una Unity Lens mantenida por la comunidad < chilicuil> bienvenido mwallacesd , en este canal se hace la interpretacion en tiempo real de #ubuntu-classroom, si tienes alguna pregunta para la sesion, y no estas seguro de como hacerlo, tambien podemos ayudarte, si no tienes problemas con Ingles, igual podemos darnos apoyo uno al otro, todos aqui estamos de una forma u otra interesados en el desarrollo de Ubuntu < gus-tavo> eklok pregunta: se puede trabajar con Quickly via teminal e interfaz grafica? < gus-tavo> Ahora, esta diseñado para ser usado solamente via terminal < gus-tavo> Michael Hall trabaja en un interfaz grafika < gus-tavo> https://launchpad.net/quickly-gtk < gus-tavo> skizobass pregunta: puede usar Eclipse, PyDev para escribir una App Python con quickly y luego publicarla en el Software Center? < gus-tavo> Si y no < gus-tavo> No tenemos una integracion con Eclipse o PyDev < gus-tavo> Pero puedes escribir una app y pegarte dentro de un proyecto Quickly con un pequeña suma de trabajo < gus-tavo> Lo que da Quicly es un proyecto esqueleto < jossed> que nos ofrece Quicly en desarrollo < jossed> que nos ofrece Quickly en desarrollo < gus-tavo> Y si tiras algo del codigo, y te adhieres al tuyo, tenes las mayorias de las ventajas que ofrece Quicky < joshua1983> pregunta: esa estructura creada por Quickly es el estandar para desarrollar aplicaciones en ubuntu? < gus-tavo> ben72 pregunta: in 12.04 quickly es el paquete a obtener? < gus-tavo> sSi < jossed> se conecta contoda las base de datos o hay q utilizar librerias_ < gus-tavo> FlowRiser pregunta: Como es el actual flujo de trabajo de Quickly? < gus-tavo> Digamos que comienzas un proyecto < gus-tavo> Abres la Terminal < gus-tavo> corres "quickly create ubuntu-application test-project" < jossed> pero es orientada a la web o son para aplicaciones de escritorio < gus-tavo> La app Ubuntu es elegida en ese paso y elijes una plantilla < gus-tavo> En nuestro caso, queremos la default-ubuntu-recommendation, que es Python+GTK < chilicuil> jossed: acabo de hacer tu pregunta sobre base de datos en #ubuntu-classroom-chat < jossed> ok < gus-tavo> Ahora, crea el esqueleto y y lo lanza < gus-tavo> Cierra este proyecto, "cd test-project" y estas sobre el nuevo proyecto < gus-tavo> Ahora puedes editar el codigo con "quickly edit" o empaquetarlo con "quickly package". Vamos a esos comandos mas tarde < gus-tavo> skizobass pregunta: Puedo escribir y organizar el codigo (clases, paquetes, et,) como en Eclipse? < chilicuil> jossed: acabo de hacer tu segunda pregunta sobre aplicaciones web vs aplicaciones de escritorio =) < gus-tavo> No estoy seguro como hace Eclipse, espera. < jossed> ok >( < jossed> si me responde me madas las respuesta a mi correo que tengo q salir ok es jsdrnt@gmail.com gracias < gus-tavo> El esqueleto por defecto te da un directorio/modulo-Python para tu codigo < chilicuil> jossed: las respuestas estaran accesibles como parte del log, te lo mandare todo junto, que te diviertas < gus-tavo> y tambien un modulo Python que tiene su propio codigo boilerplate < gus-tavo> Colocas todo tu codigo en tu modulo y Quickly lo envuelve < jossed> ok < gus-tavo> Si quieres importar codigo existente en Quickly, tienes que reemplazar un modulo con tu codigo < gus-tavo> Pero asi como van clases, Python y Quickly recomiendan una-clase-por-archivo < gus-tavo> puedes hacer como quieras. no es estricto, como Java < gus-tavo> nja pregunta: estaras cubriendo algo de Python en esta sesion? < gus-tavo> No lo tengo planeado, hay mejores recursos para eso < SergioMeneses> gus-tavo, puse un tuto bastante bueno de python en el canal de chat < gus-tavo> No hay mas preguntasm comencemos a usar Quickly * SergioMeneses is still working < gus-tavo> Antes que lo olvide, Quickly tiene un tutorial embebido < SergioMeneses> gus-tavo, el fin de semana sera q miro lo de la semana xD < gus-tavo> Si no me quieren escuchar repetido < gus-tavo> corre "quickly tutorial" en tu directorio < SergioMeneses> :O < SergioMeneses> exelente aporte < gus-tavo> FlowRiser pregunta: Veo que la mayoria de los lenguajes que usa no requiere compilar el codigo, hay alguna chance de usar Cpp y una plantilla GTK? < gus-tavo> Es una posibilidad < gus-tavo> pero no lo hemos hecho aun < chilicuil> oh si, creo que muchos de nosotros tendremos de sobra con eso: $ quickly tutorial < gus-tavo> El sistema de plantillas le permite a alguien eschibir algo como una plantilla facilmente < gus-tavo> Tenemos un progreso con la plantill Vala, que esta compilada < gus-tavo> Pero en general, usuarios nuevos prefieren lenguajes no compilados, como HTML o Python < mwallacesd> SergioMeneses, nos puede pasar el tuto aqui? < gus-tavo> peaceisid pregunta; para usar quickly, debo saber programar en python? < gus-tavo> Si, al menos para la plantilla recomendada por defecto < gus-tavo> pero, nuevamente, no va a ser necesario en el futuro < gus-tavo> estamos hora < SergioMeneses> gus-tavo, mwallacesd http://mundogeek.net/tutorial-python/ < mwallacesd> Gracias SergioMeneses < gus-tavo> coalitians pregunta: Quickly esta en python? < gus-tavo> Si, el proyecto esqueleto y Quickly en si < gus-tavo> BebopSteve pregunta: con "quickly edit", que hay de especial? o puedes usar tu editor preferido? < gus-tavo> Puedes usar el editor de tu eleccion, puedes asignar EDITOR o QUICKLY_EDITOR variables de entorno para cambiarlo < gus-tavo> NickE pregunta: Quickly tiene soporte para Python 3? < gus-tavo> Aun no < gus-tavo> Queremos soportarlo, pero eso no pasara hasta 13.04 < gus-tavo> chilicuil pregunta: quickly soporta el acceso a bases de datos? o necesito usar librerias? < gus-tavo> Para eso, no se necesita nada especial, Quickly las soporta < gus-tavo> Solo impota el modulo apropiado Python < gus-tavo> No limita tu eleccion en como escribes tus app. Es solo un envoltorio, para proveer integracion dentro de Ubuntu < gus-tavo> Otro comando util para cambiar tus app, es "quickly design" < gus-tavo> que traera el editor Glade, una interfaz grafica < gus-tavo> Como usar Glade es enteramente otra charla, trata de ser un constructor interfaces con apunta y clika < gus-tavo> Te ayuda a entender GTK un poco cuando lo usas < gus-tavo> Pero la idea basica es que puede crear nuevas widgets un el panel a la izquierda, colocrlos en el medio y ajustar las propiedades del widget en la zona inferior derecha < gus-tavo> chilicuil pregunta: Quickly esta planeado para producir app de escritorio o app web? < gus-tavo> Ahora, app de escritorio < gus-tavo> Tenemos una plantilla HTML5 en el conjunto de la comunidad < gus-tavo> Pero aun esta diseñado para el escritorio (corre Python por debajo) < gus-tavo> green7 pregunt: Necesitamos conocer GTK para usar Quickly? < gus-tavo> Si, para la plantilla estandar < gus-tavo> como para Glade < gus-tavo> nja pregunta: Donde recomendarias aprender Python? < gus-tavo> Dive into Python es muy bueno < gus-tavo> http://www.diveintopython.net/ < gus-tavo> Digamos que te sientes a gusto con Glade, y has hecho algunos cambios (y podemos volver a ellos) < gus-tavo> Si quieres ver como se ve tu proyecto, corre "quickly run" < gus-tavo> lo que cargara todos los archivos editados y te mostrara el estado actual del proyecto < gus-tavo> un lindo truco Quickly hace es que cuando agregas un eidget, respondes frecuentemente a eventos de usuario que hay en el < gus-tavo> como clicks < gus-tavo> Quickly lo hace facil < gus-tavo> Si agregas un widget llamado boton1 < gus-tavo> puedes escribir un metodo en la clase ventana llamada on_boton1_clicked (self, widget, data=None) < gus-tavo> y es todo lo que necesitas alli < hephisto> buen dia alguno conoce algun tutorial de AS3 < gus-tavo> Quicky lo notificara y ancla el widget a tu metodo < gus-tavo> Necesitas usar el formato on_WIDGETNAME_SIGNALNAME < gus-tavo> y la señal cambiara de acuardo al tipo de señal < gus-tavo> Vean la documentacion GTK para detalles en una señal dada < gus-tavo> green7 pregunta: hay una diferencia entre packaging y quickly run? < gus-tavo> si < chilicuil> hephisto: hola, este canal es sobre las sesiones de la semana del desarrollador, https://wiki.ubuntu.com/SemanaDesarrollador, ahora mismo estamos hablando de quickly, una herramienta para crear aplicaciones en python en Ubuntu, para soporte general, usa #ubuntu-es =) < hephisto> si estaba mirando eso gracias esta interesante y me interesa < gus-tavo> cuando haces quickly run hace solo quick spot-check < gus-tavo> corre todos los archivos desde done estan en el directorio de tu proyecto < gus-tavo> pero quickly package crea archivo paquete Debian < gus-tavo> que puedes instalar en tu sistema si eres root < gus-tavo> Digamos que cuando corremos 'quickly package' en nuesto test-project < gus-tavo> nos dara un archivo como ../test-project_0.1_all.deb < gus-tavo> y la queremos distribuir a amigos < gus-tavo> primero, debemos correrla localmente con 'quickly package' < gus-tavo> asegurarnos que instala bien < gus-tavo> pero si queremos distribuirla a una comunidad amplia, deberias asignarle un PPA < chilicuil> Launchpad les permite tener sus propios repositorios ppa, ahi pueden subir sus programas, y sus usuarios pueden agregarlo a su sistema para instalar su programa < chilicuil> supongamos que ya han hecho eso (puedo detallarlo si quieren) < chilicuil> necesitaran una llave gpg y ssh para hacer esto, deberan leer la documentacion para conocer los por menores < chilicuil> https://help.launchpad.net/YourAccount/ImportingYourPGPKey < chilicuil> https://help.launchpad.net/YourAccount/CreatingAnSSHKeyPair < chilicuil> sin embargo, de nuevo, supongamos que ya lo han hecho, y que tienen su repositorio PPA < chilicuil> $ quickly share --ppa mterry/testing < chilicuil> empaquetara su programa y lo subira a su repositorio de pruebas < chilicuil> 'quickly share' le pondra un nombre como 0.1public1 al paquete de prueba < chilicuil> no es un bonito nombre, pero esto es asi, porque 'quickly share' se supone que se usa para compartir varias versiones previas de los programas < chilicuil> cuando su programa este listo para produccion, pueden utilizar $ quickly release < chilicuil> lo que subira su paquete, y le asignara una version mas elegante, como 12.08 < chilicuil> nja pregunta que editor recomendaria para programar en python < chilicuil> mterry responde que como es ludita, es decir, que no le agradan mucho las maquinas, prefiere usar un editor simple como gedit < chilicuil> y aclara que tal vez el no sea la mejor personas para responder esa pregunta < chilicuil> recomienda que escuche las respuestas que el resto de las personas le sugieran en el canal de discusion < chilicuil> regresando a la charla < chilicuil> una vez que he hablado un poco de 'share' y de 'release' < chilicuil> hablare de 'submitubuntu' < chilicuil> supongan que han seguido mejorando su aplicacion, y ahora consideran que es perfecta < chilicuil> tal vez querran enviarla al centro de software de Ubuntu < chilicuil> en ese caso pueden utilizar el comando < chilicuil> $ quickly submitubuntu < chilicuil> lo que tambien subiera esa version a su ppa < chilicuil> pero que ademas hara algunos cambios en el empaquetamiento que son necesarios para los programas que quieren ser parte del repositorio -extra < chilicuil> si quieren probar el paquete que se genera con el comando 'submitubuntu', pueden correr quickly de esta forma: < chilicuil> $ quickly package --extras < chilicuil> lo que hace basicamente quickly es poner los datos de su programa en /opt, en lugar de mezclarlos con el resto del sistema (/usr/bin, /usr/share, etc) < chilicuil> green7 pregunta si el recomendaria usar quickly en lugar de pygtk < chilicuil> mterry responde que si la aplicacion que esta haciendo la esta haciendo para compartirla en ubuntu, si < chilicuil> agrega que quickly solo es una interfaz alrededor de pygtk < chilicuil> que ayuda con el empaquetamiento y la integracion, ademas de tener cierta cantidad de magia como la que existe entre Glade y su codigo < chilicuil> ironhalik pregunta sobre la compatibilidad de quickly con las versiones anteriores de Ubuntu < chilicuil> mterry responde que no deberian existir muchos problemas < chilicuil> quickly agrega cierta cantidad de codigo en las aplicaciones (por ejemplo, el directorio test_project_lib) < chilicuil> que bien podrian quedar iguales en caso de que se quisiera migrar alguna aplicacion hecha con quickly para versiones anteriores < chilicuil> el unico que problema que podria haber, seria con las dependencias < chilicuil> por ejemplo, si su programa dependiera de otros que no existen, o que son mas nuevos de los que existen en la version de la distribucion a la cual se quiere migrar < chilicuil> sin embargo quickly por si mismo deberia funcionar bien, la version del 12.04 usa introspeccion de gobjetos para los bindings en GTK/python < chilicuil> no se que tan estable sea eso, supongo que es muy probable que no funcione en 10.4 < chilicuil> aunque deberia en Ubuntu 11.10 al menos < chilicuil> gigix pregunta si quickly hace dependiente un programa de Ubuntu < chilicuil> mterry responde que no < chilicuil> que quickly solo ofrece atajos para hacer el proceso de desarrollo en Ubuntu mas facil < chilicuil> por ejemplo, ayudando a crear paquetes .deb de los programas, o ayudando a distribuirlos (subiendolos a un ppa) < chilicuil> sin embargo, el propio codigo de la aplicacion no depende de alguna caracteristica de Ubuntu < chilicuil> FlowRiser pregunta por tutoriales de GTK < chilicuil> mterry recomienda http://developer.gnome.org/ < chilicuil> http://developer.gnome.org/gtk3/stable/ (resumen del api) < chilicuil> y http://developer.ubuntu.com/resources/ < chilicuil> marcosb pregunta si hay planes para agregar plantillas para Ruby < chilicuil> mterry responde que no < chilicuil> ben72 pregunta si hay alguna forma de forzar a quickly para que funcione con python 3, y agrega que en la sesion de ayer les enseñaron que debe usarlo en lugar de python2 < chilicuil> mterry felicita a ben72 por la excelente pregunta < chilicuil> y admite que quickly tiene una importante falla en esto < chilicuil> esta de acuerdo en que las nuevas aplicaciones deberian crearse con python 3 < chilicuil> sin embargo, aun no hay podido migrar quickly para que use python 3 < chilicuil> especialmente con el empaquetado < chilicuil> asi que lo que recomienda es utilizar quickly para hacer una aplicacion < chilicuil> y que posteriormente se migre a python 3 < chilicuil> (lo cual deberia ser muy facil) < chilicuil> sin embargo, sin hacen esto, ya no podran correr 'quickly package', 'share', 'release' o 'submitubuntu' < chilicuil> =( < chilicuil> sin embargo pueden tomar el paquete en python 2 que genera quickly, modificar el directorio /debian, migrar sus programa a python 3, y hacer que vuelva a funcionar el empaquetamiento < chilicuil> al menos no tendran que comenzar de 0 < chilicuil> quickly tiene otras caracteristicas < chilicuil> por ejemplo 'quickly save' < chilicuil> este comando guardara sus cambios en un sistema de control de versiones llamado bzr (bazaar) < chilicuil> sera como guardar su avance cada vez que hagan cambios que se relacionen entre si < chilicuil> tambien pueden usar bzr directamente (por ejemplo $ bzr diff) para ver los cambios que han estado haciendo, etc < chilicuil> bzr es muy bueno, y esta integrado con Launchpad, por ejemplo, podrian hacer $ bzr push lp:~mterry/+junk/test-project < chilicuil> y eso enviaria su codigo al sitio (en mi cuenta, claro, para su caso, sera otra diferente) < chilicuil> +junk es un truco de launchpad, de esta manera pueden subir archivos sin tener que definir un proyecto < chilicuil> si ya han definido un nombre de proyecto en launchpad, entonces pueden usarlo < chilicuil> en fin, todo eso, son cosas de launchpad y no quickly < chilicuil> solo queria mencionar el comando $ quickly save < chilicuil> otro buen truco es $ quickly add dialog new-dialog < chilicuil> supongamos que quieren agregar un dialogo para guardar, o una ventana de error. En ese caso, quickly les ayuda un poco < chilicuil> creara el codigo y lo agregara a glade (aunque tendran que cerrar Glade y volverlo a abrir con $ quickly design < chilicuil> tambien tendran que correr de nuevo $ quickly edit para abrir los archivos recien creados < chilicuil> despues de esto, veran el codigo generado, y la nueva interfaz en glade < chilicuil> por lo que solo tendran que importarlo en su ventana principal con "from nombre_proyecto.DialogName import DialogName" < chilicuil> e instanciarlo con "d = DialogName()" < chilicuil> pueden correr $ quickly help para ver todos los comandos disponibles, y la ayuda particular de cada uno, como con $ quickly help save < chilicuil> skizobass pregunta, cuando se crea un nuevo dialogo con Quickly, como se separa ese archivo del script principal? < chilicuil> mterry responde que quickly creara un nuevo archivo en python (en test_project/ por ejemplo) < chilicuil> asi que si se utiliza $ quickly add dialog hello < chilicuil> se creara un archivo en test_project/HelloDialog.py < chilicuil> (espero que le haya atinado al nombre) < chilicuil> nja pregunta si hay algo parecido a .toString() en python < chilicuil> mterry responde que si, str() < chilicuil> y que se usa de la siguiente manera, si se tiene un objeto 'o' < chilicuil> se puede hacer str(o) para obtener una cadena < chilicuil> skizobass pregunta si quickly separa el codigo de cada nuevo dialogo < chilicuil> mterry responde que si, siempre y cuando se use el comando $ quickly add dialog para generarlo < chilicuil> y agrega que los programadores no tienen porque seguir esa forma de trabajo < chilicuil> que pueden organizar el codigo como mejor les parezca < chilicuil> pero cuando quickly tenga que generar codigo, lo hara asi < chilicuil> vale, parece que casi se me ha acabado el tiempo < chilicuil> se que esta introduccion fue muy simple, pero espero que ahora tengan una mejor idea de lo que es quickly < chilicuil> y por que querrian usarlo < chilicuil> de nuevo, recomiendo que utilicen los comandos "quickly help" y "quickly tutorial" para aprender a usarlo por su cuenta < chilicuil> http://developer.ubuntu.com/resources/app-developer-cookbook/all-recipes/ tambien les puede ser de ayuda < chilicuil> al igual que http://developer.ubuntu.com/resources < chilicuil> nja pregunta si en python es posible usar un constructor con diferentes argumentos < chilicuil> mterry responde que si y no < chilicuil> es decir, siempre se usa el mismo metodo < chilicuil> pero puedes tener argumentos que sean opcionales, por ejemplo __init__(option1=None, option2=None) < chilicuil> mterry agradece a todos por sus preguntas, y finaliza su sesion