martes, 2 de diciembre de 2014

Retro Codemotion 2014

Fuimos a Codemotion con la idea de huir de las charlas comerciales y de las vendedores de humo aunque alguna he de reconocer que nos colaron. Esas charlas en las que te meten con calzador un producto sin tener en cuenta sus debilidades, sin contar las buenas prácticas, etc. Es mas, en una de estas charlas huimos al comenzar ya que nos recibieron con un formulario de papel donde había tropecientos campos obligatorios con no se que fin y para conseguir unas palomitas que por supuesto no saboreamos.

No comenzó bien la mañana con una charla que me pareció carente de información, realidad, todo era humo y filosofía de la nada así que salto a las siguientes charlas que sí que cumplí al final el planning que llevaba pensado.

10:45 - 11:30 - Arquitectura hexagonal en Android - Rubén Serrano Núñez, José Manuel Pereira García
Varios trabajadores de Redbooth  hablaron de la evolución de su app Android comentando Model/View/Presenter, los módulos de Java puro y otros de nativos de Android, el módulo de sincronización con la base de datos local u online. Hablaron también de RxJava y que la gente esta tendiendo a esto.

Me gustó mucho también cuando hablaron sobre su estrategia de refactorización a espaldas de los jefes y como se plantaron frente a ellos para decirles hasta aquí hemos llegado y hay que hacer un cambio grande en la app.


12:15 - 13:00 - Opinionated Android - Javier Gamarra
La charla de Javier me pareció muy práctica y apta para todos los niveles, desde recomendar Android Studio, pasando por recomendaciones como ignorar los field naming conventions del core de Android, no usar fragments o hablar de arquitectura MVP.

Comentó las 2 variantes que hay hoy en día sobre arquitectura:
  • Clean Architecture
  • Arquitectura Hexagonal
Recomendó las guías de Android de Codepath para desarrolladores de todos los niveles.


Respecto a librerías imprescindibles enumeró varias con sus pros y contras:
  • Librería de inyección de dependencias: Dagger y antes Roboguice
  • Usad Proguard
  • Async Tasks: Retrofit o menos recomendada Volley
  • Carga de Imágenes: Picasso
Revisando su blog di con este artículo Arreglando chapuzas en Android de cómo se puede refactorizar algo llegando a conseguir una mejora tan importante en el rendimiento.


13:15 - 14:00 - De 0 a 100 con Firefox OS. Aplicaciones y publicación - Guillermo López
Guillermo nos abrió los ojos al comentarnos que cualquier web que sea mas o menos responsive es posible empaquetarla y subirla al Store de Firefox.

Un ejemplo que hizo el fue reproducir la app de Twitter para Firefox OS

Aquí está la presentación.


15:30 - 16:15 - 10 Tips for a reusable architecture (iOS) - Jorge Ortiz
Estuvo muy interesante y nos hizo ver que ya no somos tan amateurs en esto del desarrollo para iOS. Nos acercaron las NSCoder Night Madrid donde quedan para comentar temas de iOS, apps, etc.

Sobre todo me quedé con mueve todo lo que puedas al modelo y no intentes mergear cambios en un fichero .storyboard.

Nos recomendaron el blog de Miguel Díaz Rubio sobre temas de Swift y Objetive C.



16:30 - 17:15 - Técnicas de guerrilla front-end - Xavi Julián Olmos
Xavi nos acercó infinidad de herramientas para hacer más fácil la vida en el front-end.

Por cierto, un ejemplo de cómo se debe preparar una presentación, hasta compartió los recursos que utilizó para crearla.


17:30 - 18:15 - Sincronizando sin internet - Jorge Maroto
Nos acercó el Multipeer con MCPeerId y MCSession. Fui también muy interesante y nos hizo reflexionar sobre las aplicaciones y utilidades que podían tener.

martes, 25 de noviembre de 2014

De Android a Swift y viceversa

Hace varias semanas que no hago un resumen de lo que voy haciendo. Hace semanas que me cambié a iOS y la verdad es que después de empezar el curso Complete iOS developer course, cada vez estoy cogiendo más soltura y en unas semanas creo que sacaré alguna de las versiones de la web de piscinas naturales o de la de lotería nacional.

Hace unas semanas que me he cambiado a iOS y la verdad que el cambio ha sido grande desde Android. Lo que más he notado ha sido:
  • La velocidad a la que responde el teclado 
  • Los menús y navegación por defecto son muy distintos 
  • Me parecen mas sucias las vistas por defecto de algunas aplicaciones como contactos 
  • Las apps que realizan llamadas a internet me da la sensación de que van más lentas, aún estando con el mismo operador de móvil y teniendo 4G en el nuevo. 
Estuvimos en Codemotion y la realmente le saqué bastante partido y cargamos pilas para ver que realmente no sabemos nada ni somos nadie comparado con los monstruos que hay de startups y programadores de los que pudimos escuchar en la mayoría de los casos lecciones magistrales. A ver si en los próximos días subo mis impresiones y comentarios.

Como curiosidad, indagando en Google Analytics vi que tenía visitas de Semalt (página para investigar posibles webs que son de la competencia, ver enlaces que tienen, que acciones de SEO están haciendo)... grrrr... ¿Qué quiere decir esto? Pues que hay algunas webs de la competencia que como diría el Cholo parece que estamos molestando y la verdad es que esto me motiva todavía más para darle un empujón a estos proyectillos que están aparcados y que los tengo como distracción y como laboratorio de experimentos.

Por otro lado volví a recordar la lección de "No despliegues sábados por la mañana". Actualicé a ruby 2.1 Chapuzones y hice un par de experimentos de SEO.

Respecto al Proyecto Secreto con swift avancé:
  • Leyendo contactos 
  • App persistent 
  • Refactorizando el código 
Con Android también avancé
  • Login 
  • Conecte con la api 
  • Leí contactos 

viernes, 21 de noviembre de 2014

Mi Planning para Codemotion

Mañana 21 de Noviembre comienza Codemotion y la verdad es que llevo la idea de intentar ir a Talks relacionadas con:

  1. Swift / iOS
  2. Android
  3. Analítica / Big Data
  4. Metodologías ágiles


  9:45 - 10:30
Para primera hora empezaré con una charla suave:

  1. Desarrollo Ágil de Producto para Emprendedores - Jose Manuel Beas
  2. Escalando sin atajos - Luis Bosque


10:45 - 11:30
Es para una de las horas que más dudas tengo sobre que charla asistir aunque irían en este orden:

  1. Arquitectura hexagonal en Android - Rubén Serrano Núñez, José Manuel Pereira García
  2. FIWARE - Juanjo Hierro, Fermín Galán
  3. iBeacons, proximidad con el usuario - Juan Antonio Martín
  4. Big Data de andar por casa - Jorge Lería, William Viana


12:15 - 13:00
Para esta hora lo tengo más claro:
  1. Opinionated Android - Javier Gamarra
  2. Cream Code with Objetive-C - Enrique Fau de Casa Juana Martín, Javier Aznar de los Ríos

13:15 - 14:00
Para esta hora creo que optaré por algo diferente que no conozco
  1. De 0 a 100 con Firefox OS. Aplicaciones y publicación - Guillermo López
  2. Juegos Dependientes de Contexto. Un caso práctico - Jorge Ruiz Magaña
  3. Accesibility of Mobile Apps - Javier Muñoz Muñoz
  4. Effective Android UI - Pedro Vicente Gómez Sánchez


15:30 - 16:15
Para esta hora lo tengo claro: 10 Tips for a reusable architecture (iOS) - Jorge Ortiz


16:30 - 17:15
  1. Técnicas de guerrilla front-end - Xavi Julián Olmos
  2. Braintree v.zero: a modern foundation for accepting payments - Alberto López Martín


17:30 - 18:15
  1. Sincronizando sin internet - Jorge Maroto
  2. 20 lenguajes en 40 minutos - Alonso Torres
  3. 10 cosas de Rails que deberías saber - Gabriel Ortuño, Carlos Sánchez Pérez


Para el sábado

  9:30 - 10:15
  1. Big Data desde el punto de vista del analista de datos by Fernando Calle
  2. Monitoriza tus aplicaciones en la nube con APM. New Relic vs Appinsights - Luis Fraile, Quique Martínez


10:30 - 11:15
Para esta hora iré a Analizando y debugeando tu plataforma - Luis Bosque


12:00 - 12:45
Para esta hora yo creo que si puedo intentaré ir al taller Creación de Juegos Móviles Multiplataforma en Unity - Jorge Ruiz Magaña, Miguel Ángel Taramón y si no hay sitio iré al Talk Travel with your mock server - Jorge Ortiz Fuentes


13:00 - 13:45
  1. From iOS to Android(or reverse) - Jose Manuel Ortega
  2. the Google Glass Revolution - Alain Regnier


15:15 - 16:00
Iré a En busca de la arquitectura perfecta: VIPER (iOS) - Pedro Piñera Buendía para la que tengo bastantes espectativas.

16:15 - 17:00
  1. Arte y ciencia de un despliegue coordinado - Jose Plana
  2. Niveles de calidad: el agujero en las metodologías de software - Abraham Otero, Francisco Morero Peyrona


17:15 - 18:00
Políticamente Incorrecto - David Bonilla

lunes, 3 de noviembre de 2014

La app va cogiendo forma

Esta semana le hemos dado un buen apretado a la app con Swift

Funcionalidad es tan básicas como
  • Login
  • Registro
  • Envío de invitaciones
  • Olvido de contraseña
  • Subir objetos
  • Listar objetos
  • Poner imágenes a un tab bar controller 
Por otro lado he "sufrido" la actualización del Google Penguin 6 y parece que le he molado para buscar lotería. Por lo que parece hemos hecho las cosas bien
Por otro lado actualice frikiloto a ruby 2.1.0 y rails 4. No se por que pero son actualizarlo no podía hacer despliegues en Heroku.


jueves, 23 de octubre de 2014

Me cambio a Swift, resumen del comienzo de Octubre

La primera semana de Octubre ha sido la transición de RubyMotion a Swift principalmente debido a:
  • Es una comunidad más grande la de Swift y hay cursos y tutoriales muy buenos.
  • Cualquier ejemplo o problema que tengas en los primeros 3 resultados de Google te ahorra mucho tiempo
  • Por cierto, el blog.rubymotion.com lleva casi un mes sin actualizar.

En RubyMotion lo que veía que los usuarios si que comparten los típicos ejemplos fáciles pero en Swift siempre es más facil encontrar un plus más y eso que está en mitad de la transición desde Objetive C.

La verdad es que la transición al pasar por RubyMotion me ha sido más sencilla como comentaba en el post anterior de Creciendo con RubyMotion.

Para Octubre/Noviembre he reservado entradas para acudir a:
Por otro lado, para Frikiloto, estoy pensando en una nueva funcionalidad con algo de web scraping. Llega el sorteo de Navidad y habrá que darle un buen meneo.

En los próximos post os contaré que tal han ido las charlas y ya pronto el próximo resumen que al final se me han juntado 2 semanas.

lunes, 6 de octubre de 2014

Creciendo con RubyMotion, el resumen de la última semana de Septiembre

La semana pasada fue muy productiva, la verdad es que le fui cogiendo más el tranquillo a desarrollar para iOS con RubyMotion.

Entre los avances que estuve viendo:

  • Motion i18n para la internacionalización de las aplicaciones, es muy sencillo de integrar.
  • Logré añadir Google Analytics SDK v3 para RubyMotion a mi proyecto y lo colgué en GitHub por si hay alguien del que le pueda resultar de ayuda. La verdad es que me costó lo suyo, primero porque las últimas referencias que encontraba de Google Analytics y RubyMotion databan de 2012, algo que me decepcionó un poco porque vale que para iOS tengamos otras opciones de hacer tracking para las aplicaciones pero que nadie colgara ningún ejemplo con Google Analytics me dejó un poco helado y me hizo replantearme si ver algo de Swift como alternativa. Por cierto, al final la forma de integrarlo fue vendorizar la última versión de Google Analytics como veréis en el repositorio
  • Miré las tablas y los TableViewController
  • Por otro lado intenté crear módulos y trabajar con APIs externas a la aplicación.
Quería destacar los 3 repositorios que más me han sido de utilidad para aprender RubyMotion:

Si vienes del mundo de Ruby on Rails y quieres pasar a Swift y Objective C, quizás te sea más sencillo hacer un paso por RubyMotion, por lo menos a mí también me lo ha parecido

La próxima semana contaré mis comienzos con Swift que la verdad es que estoy bastante contento de los avances.

Los otros proyectillos los he tenido esta semana un poco aparcados, pero espero dentro de poco volver a dedicarles algo de tiempo o no

lunes, 29 de septiembre de 2014

Baruco, un día de excursión al Workshop de RubyMotion


Comenzó el día con un madrugón a las 4:30 para poder coger el AVE a Barcelona a las 5:55. Por delante nos esperaba un workshop de RubyMotion y estábamos emocionados. Parecía que nos íbamos de excursión en el cole +Gerardo Barcia y yo.



A las 9 llegamos a Barcelona y después de darnos un paseo a pie por Barcelona hasta el AXA Auditori, llegamos con 10 minutos de antelación.



El curso se las prometía muy interesante en sus inicios pero conforme llegaba el final del mismo nos sentimos que no le habíamos sacado el partido que esperábamos. A veces cuando vas a un workshop esperas que te enseñen los problemas con los que uno se encuentra a la hora de aprender un nuevo lenguaje de aplicaciones móviles. Por ejemplo,
  • Transiciones entre pantallas
  • Persistencia de datos
  • Notificaciones
  • Llamadas a APIs
  • Alguna buena práctica
  • Algún repositorio bueno de ejemplos o libros recomendables de documentación. Al final, la documentación de RubyMotion es muy limitada y conoces casi toda a no ser que exista algún blogger que comparta sus conocimientos.

Lo mejor que nos hemos llevado del workshop:

  • El contacto de un par de colegas de Holanda con los que hemos recorrido Barcelona en bicicleta en mitad de la Diada mientras comentábamos anécdotas de desarrollo y los monumentos que íbamos viendo. La verdad es que nos hemos quedado admirados de ver a unos chavales de 26 años tan emprendedores y con ganas de hacer y mimar sus desarrollos.
  • Hemos valorado lo recomendable y sano que es por lo menos una vez al mes, salir del entorno de trabajo que tiene un diariamente para conversar con otros compañeros, trabajar en otro ambiente, etc.



PD: Por cierto, no entiendo como todavía no hay Wifi en el AVE Madrid-Barcelona cuando ya en los aviones (a muy baja velocidad y muy caro) pero lo hay.