Kotlin: lenguaje oficial para el desarrollo en Android

¡BOOM! Sí, ha pasado, gracias al esfuerzo de la comunidad, Google ha dado un paso al frente y ha tomado, en mi opinión, una de las mejores decisiones que podía tomar. Kotlin se convierte en lenguaje oficial para el desarrollo en Android El anuncio se ha hecho hace muy poco en la Keynote de Google I/O 2017. Stephanie Saad Cuthbertson fue quién hizo los honores. Aquí puedes ver el momento exacto del anuncio ¿Qué significa ésto? Mucho. Muchísimo más de lo que en este momento se pueda pensar. Para empezar, la excusa (la principal excusa) de no dar el...

Infix functions en Kotlin

Imagina que tienes el siguiente modelo para representar una carta de Póker: enum class Suit { HEARTS, SPADES, CLUBS, DIAMONDS } enum class Rank { TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, TEN, JACK, QUEEN, KING, ACE } data class Card(val rank: Rank, val suit: Suit) Es un modelo muy sencillo, se compone de tres partes diferenciadas: Suit. Representa el palo de la carta (corazones, diamantes, tréboles o picas). Rank. Indica el valor de la carta (dos, tres, rey, as, etc.). Card. Una clase que contiene tanto el rank cómo el palo de la carta. Para componer una carta simplemente hay que...

Freakend Mobile 2017

El fin de semana pasado se celebró el evento Freakend Mobile 2017. Es más una reunión de amigos que un evento dónde se juntan una muestra importante de la comunidad española desarrolladores Android e iOS. ¿Qué es el Freakend? El Freakend es un evento informal organizado por Jorge Barroso dónde profesionales del sector para quedan para conocerse, charlar y, sobre todo, compartir experiencias y conocimiento. Normalmente nos juntamos en una casa rural pero este año se ha subido de nivel (debido a la alta demanda de asistencia) y la localización ha sido un pequeño hotel rural de la sierra de...

Extensiones en Kotlin

Como te hablé en mi post sobre por qué empecé a usar Kotlin, una de las funcionalidades más útiles que nos provee Kotlin es la habilidad de crear extensiones a clases de las cuáles no necesitamos tener acceso a su código. Lo vas a entender mejor con un ejemplo. Imagina el siguiente helper escrito en Java public static boolean isWeekend(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK); return dayOfWeek == Calendar.SATURDAY || dayOfWeek == Calendar.SUNDAY } Es una función estática pura que recibe como parámetro la fecha en la que queremos comprobar...

Mi mudanza a Kotlin

Antes de nada, quiero que sepas que llevo desarrollando en Java desde hace más de 10 años por lo que he seguido su evolución muy de cerca. Java, aunque muy lentamente, va evolucionando añadiendo características que poseen lenguajes más modernos como puede ser opcionales, lambdas o streams. El problema está en que su ritmo de evolución es demasiado lento y, además, están obligados a preservar su verbosidad intrínseca haciendo que muchas de las nuevas características no sean tan agradables de usar como debieran. Kotlin Kotlin es un nuevo lenguaje desarrollado por JetBrains. Por si no los conoces son los creadores...