Thursday, March 6, 2014

ABP Saturdays: Juguete


El sábado pasado (como ya va siendo habitual), nos reunimos en el Android Best Practices Saturdays con el objetivo de finalizar el script de Gradle para Juguete y empezar a programa la aplicación. Sin embargo, al final del día aprendimos que IntelliJ, Android Studio y Gradle no son tan fáciles de combinar, y fue todo un reto que todo el mundo tuviera su proyecto funcionando.

El primer problema fueron las configuraciones que hace se serie Android Studio pero que obvia IntelliJ. Por ejemplo, IntelliJ crea un fichero local.properties en la raíz del proyecto, con la propiedad sdk.dir apuntando al directorio del sistema donde se encuentra el SDK de Android. También se puede utilizar la variable de sistema ANDROID_HOME, pero a alguno de nosotros nos daba problemas. Otras cosas que no configuró de serie IntelliJ fueron el SDK específico con el que se compila cada modulo, y los directorios de código y de recursos.

En cualquier caso, una vez hecho el primer script funcional de Gradle, se puede hacer una task Wrapper, e invocarla, de forma que empaquete la distribución de este y su configuración, y la importación en IntelliJ posteriormente sea muy sencilla diciendo que utilizaremos la distribución de Gradle customizada.

En cuanto a las dependencias, fue bastante directo añadirlas al encontrarse prácticamente todas en el repositorio central de maven. La única que nos dio un poco más de guerra fue la de Appsly Android REST, precisamente al estar en su propio repositorio.

Fuera de tiempo nos quedaron los flavors, que por otra parte, todavía no tiene mucho sentido que los apliquemos (pues dependen del código que vayamos haciendo), aunque en las imágenes del post podéis ver los que pensamos que podían ser interesantes.

Como al menos ya podemos importar el proyecto, aunque ahora mismo solo sea un HelloWorld, ya está subido a GitHub y lo podéis encontrar aquí. El repositorio está cerrado sólo a colaboradores, y no hay colaboradores directos, por lo que la forma de trabajar con él es hacer un fork y luego enviar los pull request. Nos queda pendiente establecer el sistema de revisión y aprobación de pull request, pero ya lo iremos haciendo sobre la marcha.


Para la próxima reunión del grupo (¡este sábado!), abordaremos el tema de que arquitectura debemos seguir para poder trabajar todos a la vez (idealmente) en el proyecto, y comenzaremos a darle forma a Juguete. ¡Os esperamos!

Sunday, March 2, 2014

ABP Saturdays: Gradle II

Hace 2 sábados volvimos a reunirnos para continuar con los objetivos de aprendizaje de Gradle que nos habíamos marcado. Al final la sesión sirvió para otro propósito muy diferente, aunque con la misma intención de profundizar en Gradle y en aspectos avanzados del desarrollo Android.

Para empezar, nos dimos cuenta de que si queríamos un script de Gradle complejo, necesitábamos un proyecto complejo para poder jugar con él. Con esa idea en mente, nos pusimos a determinar los requisitos de Juguete, el proyecto de Android Best Practices para ir haciendo trastadas realizando nuestro objetivos de aprendizaje.

Dado que Juguete también nos va a servir más adelante para probar diferentes librerías y arquitecturas, decidimos que haríamos un aplicación que mostrase imágenes de una fuente remota en un staggered grid como el de Etsy. De hecho, las dependencias que decidimos incorporar fueron:

Sin embargo, cuando nos dispusimos a crear un proyecto de base para trabajar, quisimos hacerlo directamente desde IntelliJ IDEA 13, que deja muchas cosas por configurar que si hace Android Studio. Resolver estos problemas nos llevó gran parte de la sesión, pero nos proporcionó un conocimiento importante que se puede utilizar a la hora de crear/importar/configurar proyectos Android en Gradle, y cuyo resumen publicaremos más adelante.

Uno de los momentos más interesantes de la sesión fue cuando Santi nos explico la estructura de herencias de Activities que utilizan en Wallapop, mostrando el código fuente de la aplicación para ello. Esto nos llevó al debate de herencia vs. composición, que, habiendo defensores de ambas partes, prometimos abordar más adelante con el desarrollo de Juguete.


En la próxima sesión (que como vamos con retraso en la publicación de estos posts, ya ha pasado :p), la idea es centrarse en acabar el script de Gradle y empezar a programar las funcionalidades descritas.



Saturday, February 15, 2014

Android Best Practices Saturdays: Gradle I

Después de un tiempo dándole vueltas a la idea, hoy hemos hecho el "primer" evento del grupo de estudio Android Best Practices (ABP) del GDG Barcelona. El entrecomillado es porqué en realidad es el tercer evento del grupo, pero es el primero en el cual nos hemos puesto a trabajar en una materia concreta: Gradle.

En ABP queremos que los eventos se conviertan en un punto de encuentro, aprendizaje, debate y práctica de técnicas y tecnologías avanzadas del desarrollo Android (aunque muchas son extrapolables a otro ámbitos). Por eso, la idea es que nos reunamos semanalmente los sábados por la mañana, con tiempo suficiente para poder atacar las materias o problemas que decidamos. En esta ocasión, gracias a la generosidad de nuestro sponsor Redbooth que nos ha cedido sus oficinas como punto de encuentro, nos hemos juntado de 10:00 a 13:00 para iniciarnos en Gradle en 3 actos.


Primero, hemos visualizado la conferencia que dio Hans Dockter, fundador de Gradleware, para la Twitter University. Es muy recomendable si queréis ver algunas de las funcionalidades que aporta Gradle, como los flavors o los build types; y también porque enseña varios ejemplos de código que se ven muy bien en el video.

Después del video, hemos comentado experiencias nuestras y de terceros con Gradle, que problemas tiene (adiós a los tests con Roboelectric, o tiempos exagerados de compilación por mala configuración), y en general la falta de tutoriales y de información de como utilizar Gradle y el plugin de Android para proyectos Android.

En el tercer y último acto, hemos visto un ejemplo de configuración ficticio que traía José Manuel Pereira, y los scripts y configuraciones que se están utilizando actualmente para el desarrollo de la versión Android de Redbooth. Y para finalizar el evento, un poco de swag de otro sponsor que amenaza con convertirse en frecuente: Google.



Para la próxima sesión (¡que será el próximo viernes sábado 22 de Febrero!) hemos acordado empezar a trabajar en un proyecto de pruebas, en el que intentaremos hacer una configuración de Gradle con varias dependencias, e intentaremos sacarle el jugo al máximo. El código lo publicaremos en GitHub, y será el punto de partida para los próximos desarrollos que hagamos en futuras sesiones.

Si estáis interesados en los ABP Saturdays y queréis saber más acerca del grupo, podéis digiros al Google group que hemos montado, o directamente a asistir a cualquiera de los eventos que regularmente vamos a hacer y que publicaremos en Google+ como siempre.

Saludos!!

Wednesday, January 29, 2014

GDG Barcelona + WIPJam at Mobile World Congress


Hi guys!!! We have good news!

WIPJam @ MWC14 is comming!
We are happy to announce that we will be part of this years's WIPJam event presented by WIP and GSMA :).


This will bring you 4 days of the best and biggest DEVCON and HACKTHON during Mobile World Congress.  
This means:  More developers.  More tshirts.  More code.  More swag! 



The GDG Barcelona will be collaborating to have the most amazing developers event at the Mobile World Congress.

All will happen Monday to Wednesday in the Fira Montjiuc, Hall M5, back in the heart of the Barcelona.  Developers get a whole building this year!!!  On Thursday, we'll head up to the Gran Via Fira for all of the awards and final wrap. 

Date and location: 
Monday, February 24, 2014 to Thursday, February 27, 2014
Hall M5, Fira Montjuic, Barcelona, Spain (M-W)
Hall 8, Theater District, Fira Gran Via, Barcelona Spain (TH)

Website:

Registration:

Twitter:
@WIPJam
#WIPJam
#MWC14

Facebook:

Looking forward for meeting all of you guys.
Cheers,

Wednesday, January 23, 2013

2012 recap and 2013 roadmap

2012 has been our third year as a GDG/GTUG. If the first one was the foundation, and the second one the consolidation, this 2012 has been the expansion one. But also this year has been the first time we have experienced two renovations.

The best way to understand why we call this year the expansion one is to show some numbers: 26 events in the whole year (8 on 2011), 18 of them taking place in the last 6 months; 176 members in developers.google.com and 116 new members in our Google Group (about 500 by the end of the year); after creating our Google+ page in August and our Google+ community in December, we have 420 followers and 247 members in Google's social network, and 754 have "+1-ed" us. And 1582 participants in our events, which means about 61 per event on average!

But we didn't increased only in numbers, but also in diversity of events. We mainly did conferences in 2010 and 2012, and though most of those 26 continue to be the same, we started doing codelabs, beerworkings (beer + networking), parties, Live conferences (using Hangouts on Air), and a DevFest. The DevFest. Because it's been a milestone for the GDG Barcelona.

1 keynote, 14 conferences, 3 codelabs, 3 GDGs organizing (Vigo, Tarragona and Barcelona), and almost 320 attendees, made the GDG DevFest our most successful event so far. Besides being a great event, it also gave us a renovated vigor: potential speakers approached us, new ideas come, and in no time things went crazy! That was our second renovation, happier than the first one.

The year started under a different organization, and the first months were good ones, with 5 events between January and March. But in April, for a lot of different reasons, the previous organization had to left the Barcelona GTUG. It wasn't an easy task to form a new organization, and maintain the level established by the previous one, but with the help of the community everything is possible. So no events in April and May, but we returned after our first renovation with 3 events in June, 2 in July, 1 in August, another in September, and 2 more on October. And then it came the second renovation with the GDG DevFest Barcelona, and November got the amazing number of 6 events, and December was even more amazing with 7 events.

Now we are on January, and what could we do after the best year of the GDG Barcelona until now? Try to aim higher ;) We have 4 events confirmed for January, and 2 more being organized at this moment. We plan to make a Core Team to join the current organizers. And we asked to the community what were our interests, and the answer was so diverse, that we will have to do a lot of events: Android, HTML5, AppEngine, Chrome, GWT, games, security... And one of the most exciting moments of the year is very near.

As Barcelona is the Mobile Capital, and the Mobile World Congress takes place on the last week of February, we are planing to do the Mobile Month: a series of events related to mobile applications development, with conferences, codelabs, hackathon... 11 events are already in the agenda!

Sunday, November 18, 2012

EVENTAZO!!! Charla de AngularJS por el Googler Misko Hevery


Otra vez por aquí estamos! Esta vez para contarles el gran evento de calidad que tenemos el sábado 1 de diciembre de 2012.

En este ocasión contaremos con un Googler:

Misko Hevery:



… works as an Agile Coach at Google where he is responsible for coaching Googlers to maintain the high level of automated testing culture. This allows Google to do frequent releases of its web applications with consistent high quality. Previously he worked at Adobe, Sun Microsystems, Intel, and Xerox (to name a few), where he became an expert in building web applications in web related technologies such as Java, JavaScript, Flex and ActionScript. He is very involved in Open Source community and an author of several open source projects such as Angular (http://angularjs.org) and JsTestDriver (http://code.google.com/p/js-test-driver).

Pueden seguirlo aquí: https://plus.google.com/112540226618013533507/about

El tema a tratar será AngularJS, el cual es un framework JavaScript que mejora el vocabulario de HTML para poder crear vistas dinámicas facilmente, reduciendo el código de la aplicación. Misko Hevery, Googler y creador del framework, viene hasta Barcelona para presentárnoslo y enseñarnos a utilizarlo en nuestros dearrollos.



No les voy a volar mas la cabeza ;). Acá están los detalles del evento. No olviden apuntarse :).


Nos vemos por ahí!

Fernando

Monday, November 12, 2012

GDG Barcelona Beers - Post DevFest Era



Todavía padecemos la resaca del DevFest, y todo el mundo sabe que la resaca se la quita uno bebiendo :p Así que vamos a otra ronda de birras, aunque a diferencia de las dos veces anteriores, en esta ocasión no tenemos un tema concreto del que hablar, ni un motivo más allá que charlar, compartir una cerveza con los amigos... y si alguien quiere dar feedback de lo que le pareció el DevFest, comentar las charlas tan buenas que tuvimos, se ofrece para nuevos eventos, o quiere contar que eventos le gustaría ver en los próximos meses, pues nosotros encantados :D

Para los que no pudisteis venir al DevFest (y para los que vinisteis puede que también), todavía tenemos alguna gorra molona que podríamos regalar. Y puede que alguna cosilla más. Vamos, si queréis, claro :p ¡Y ni siquiera es necesario estar a primera hora! Los organizadores estaremos a partir de las 18:00, puede que incluso antes, y nos quedaremos hasta tarde, de forma que haya alguien siempre en el lugar porque nos sentimos responsables de que el evento salga perfecto (no tiene nada que ver con la cerveza, lo prometemos XD).

Así que, si te hemos convencido, estos son los datos: 
  • Cuando? El jueves 15 de Noviembre de 2012, a partir de las 18:00
  • Donde? Flaherty's Irish Pub (mapa)
  • Con quien? Con todos los que quieran ir (estaremos ahí).

Si queréis mas detalles y os interesa decir un "si quiero!!!", apuntaros en el evento en GDG Barcelona en Google plus.