Mi nuevo blog
jueves, 29 de octubre de 2015
Este post es para informar que me he creado un blog nuevo, la url es www.xurxodev.com, como se puede apreciar en el nombre, es muy parecido a este blog. En mi nuevo blog no pretendo escribir sobre nada diferente de lo que vengo escribiendo aquí, la idea ha sido dar el salto de blogger a un blog con dominio y hosting propio.
Código legible
jueves, 8 de octubre de 2015
Este blog no esta mantenido, suscribite a la newsletter del nuevo
Según la Wikipedia la legibilidad del código es:
In computer programming, readability refers to the ease with which a human reader can comprehend the purpose, control flow, and operation of source code. It affects the aspects of quality above, including portability, usability and most importantly maintainability.
Explicado con mis palabras, un código legible es un código que puede ser leido fácilmente por una persona que no lo ha escrito, que pueda seguir el flujo aunque no comprenda todo lo que se hace en él.
Según la Wikipedia la legibilidad del código es:
In computer programming, readability refers to the ease with which a human reader can comprehend the purpose, control flow, and operation of source code. It affects the aspects of quality above, including portability, usability and most importantly maintainability.
Explicado con mis palabras, un código legible es un código que puede ser leido fácilmente por una persona que no lo ha escrito, que pueda seguir el flujo aunque no comprenda todo lo que se hace en él.
Code Tip: Mi experiencia con la marca de orden de bytes (BOM)
jueves, 24 de septiembre de 2015
En este artículo no voy a contar nada muy puntero ni novedoso, además seguramente mucho de vosotros ya conocéis, pero yo no conocía hasta hace unos días. El objetivo es compartir mi experiencia con la marca de orden de bytes y poder ayudar a alguién que se encuentre en la misma situación que yo hace unos días.
Por unas cosas o por otras, pocas veces desde que llevo programando, y van ya 13 años, he tenido la necesidad de tener que enfrentarme a creación de ficheros manualmente utilizando c#. Esta semana ha tocado y me he encontrado con algo que desconocia hasta ahora, la marca de orden de bytes.
En este artículo voy a contar los problemas que me he encontrado y lo que he aprendido en el camino.
Code Tip: test parametrizados con xUnit
viernes, 18 de septiembre de 2015
Este blog no esta mantenido, suscribite a la newsletter del nuevo
Hay veces que cuando estamos haciedo test, nos encontramos duplicando test simplemente cambiando los valores a probar. Existe un concepto que se llama test parametrizados que ayuda a reducir el volumen de test a crear porque elimina la duplicación de test donde solo cambian los valores.
No todos los frameworks de test para .Net tienen esta carácteristica. Por ejemplo MSTest no lo tiene, se puede llegar a hacer algo parecido con un componente externo como un excel o algo así pero demasiado complejo para mi gusto. NUnit y xUnit si trae esta carácteristica, vamos a ver como se hace con xUnit.
Hay veces que cuando estamos haciedo test, nos encontramos duplicando test simplemente cambiando los valores a probar. Existe un concepto que se llama test parametrizados que ayuda a reducir el volumen de test a crear porque elimina la duplicación de test donde solo cambian los valores.
No todos los frameworks de test para .Net tienen esta carácteristica. Por ejemplo MSTest no lo tiene, se puede llegar a hacer algo parecido con un componente externo como un excel o algo así pero demasiado complejo para mi gusto. NUnit y xUnit si trae esta carácteristica, vamos a ver como se hace con xUnit.
Page Object Pattern en Android
jueves, 10 de septiembre de 2015
Este blog no esta mantenido, suscribite a la newsletter del nuevo
Parge Object Pattern es una patrón de diseño que se utiliza en los test automatizados end-to-end, surgió como un patrón para testear aplicaciones web, de ahí el nombre. Pero en realidad puede aplicar a cualquier tipo de interfaz de usuario como puede ser aplicaciones móviles nativas como Android. Cuando lo utilizo en Android o iOS me gusta llamarlo Screen Object Pattern porque me parece un nombre más apropiado, pero la esencia es la misma.
En este artículo vamos a ver como aplicar este patrón en una aplicación Android.
Parge Object Pattern es una patrón de diseño que se utiliza en los test automatizados end-to-end, surgió como un patrón para testear aplicaciones web, de ahí el nombre. Pero en realidad puede aplicar a cualquier tipo de interfaz de usuario como puede ser aplicaciones móviles nativas como Android. Cuando lo utilizo en Android o iOS me gusta llamarlo Screen Object Pattern porque me parece un nombre más apropiado, pero la esencia es la misma.
En este artículo vamos a ver como aplicar este patrón en una aplicación Android.
Code Tip: No devolver null
jueves, 3 de septiembre de 2015
Este blog no esta mantenido, suscribite a la newsletter del nuevo
Devolver null en una función es una mala práctica, vamos a ver en este artículo porque es una mala práctica y como podemos evitarlo.
Devolver null en una función es una mala práctica, vamos a ver en este artículo porque es una mala práctica y como podemos evitarlo.
Soporte para test unitarios con JUnit 4 en Android Studio
jueves, 13 de agosto de 2015
Desde la versión 1.1 de Android Studio existe, lo que han llamado desde google, soporte para test unitarios. Esto quiere decir que podemos ejecutar test unitarios sin necesidad de desplegar en un dispositivo o emulador, se van a ejecutar en la maquina virtual de java.
Estos test untarios se conocen también como test locales o test de jvm (java virtual machine).
Cuando creamos un proyecto mediante una de las plantillas de Android Studio, por defecto los test unitarios que vienen son de JUnit 3, vamos a ver que pasos debemos seguir para ejecutar test de JUnit 4.
Developer: El despertar de la fuerza
jueves, 25 de junio de 2015
Este blog no esta mantenido, suscribite a la newsletter del nuevo
A estas alturas todos conocemos la película de Star Wars y sabemos que existe el poder de la fuerza y el poder del lado oscuro, bueno pues yo creo que estos conceptos encajan muy bien en la profesión de developer, en este artículo voy a hacer unas reflexiones haciendo un símil con la película.
A estas alturas todos conocemos la película de Star Wars y sabemos que existe el poder de la fuerza y el poder del lado oscuro, bueno pues yo creo que estos conceptos encajan muy bien en la profesión de developer, en este artículo voy a hacer unas reflexiones haciendo un símil con la película.
Code Tip: Extrae los bloques Try/Catch en su propia función
jueves, 18 de junio de 2015
Los bloques Try/Catch son utilizados en lenguajes como Java y C# para manejar excepciones, el problema que suelen tener es que ensucian el código no pudiendo ver claramente el código real del que controla la excepción, vamos a ver como podemos extraer la gestión de errorres en una función dejando el código mucho mas limpio y legible.
Lollipop new features: Floating Action Button
jueves, 4 de junio de 2015
Vamos a continuar con las nuevas características que aparecieron en Lollipop con la aparición de Matrial Design, ya van unos cuantos artículos. En este artículo vamos a ver el Float Action Button, al que llamaremos FAB a partir de ahora.
Lollipop new features: extrayendo colores de una imagen con Palette
jueves, 28 de mayo de 2015
En este artículo vamos a continuar con las novedades de Lollipop, seguimos ampliando la aplicación que empezamos en anteriores artículos. En este artículo vamos a ver como extraer los colores de una imagen utilizando la librería Palette y que uso podemos darle.
Lollipop new features: transiciones de elementos compartidos
jueves, 21 de mayo de 2015
En este artículo vamos a continuar con las novedades de Lollipop, seguimos ampliando la aplicación que empezamos en anteriores artículos. En este artículo vamos a ver transiciones de Lollipop y concretamente transiciones de elementos compartidos.
Lollipop new features: manejando el click en los elementos del RecyclerView
jueves, 14 de mayo de 2015
En este artículo vamos a continuar con las novedades de Lollipop, vamos a continuar con la aplicación que empezamos en el anterior artículo sobre RecyclerView. El control RecyclerView a diferencia de ListView no tiene un OnClickListener y vamos a tener que implementarlo nosotros.
Lollipop new features: RecyclerView
jueves, 7 de mayo de 2015
Con la llegada de Android 5 Lollipop llegaron una serie de novedades a la plataforma que voy a intentar repasar en este y próximos artículos. En vamos a empezar viendo el nuevo widget ReciclerView.
Droidcon Spain 2015 - Madrid
domingo, 26 de abril de 2015
Durante los dias 23, 24 y 25 de abril se ha celebrado el evento Droidcon Spain 2015 en la Universidad Autónoma de Madrid. He asistido por primera vez a este evento y en este artículo quiero compartir con vosotros mis impresiones.
WinRT Tip: Cómo crear imágenes circulares
jueves, 23 de abril de 2015
En el anterior artículo vimos cómo crear imagenes circulares en Android, que esta bastante de moda en el diseño de aplicaciones web y móbiles, ahora vamos a ver como podemos realizar lo mismo en WinRT, la solución que vamos a ver aplica tanto para aplicaciones Windows Phone 8.1 como a Windows 8.1 .
Android Tip: Cómo crear imágenes circulares
jueves, 16 de abril de 2015
En el diseño de aplicaciones web y móbiles esta bastante del moda mostrar imágenes circulares, en Android antes era bastante tedioso poder realizar esta tarea, incluso éxisten librerías de terceros que básicamente suelen consistir en un control que hereda de ImageView, con un nombre tipo CircularImageView o RoundedImageView. Esto supone tener que arrastrar el control de una librería externa por todas los layouts que requieran una imagen circular y tener una dependencia tan fuerte de algo externo no es una de mis opciones favoritas.
En este artículo vamos a ver como podemos hacer esta tarea en Android ahora de una forma más sencilla y que viene soportado por el propio framework.
Enlaces interesantes sobre programación para iOS
jueves, 9 de abril de 2015
En este artículo quiero cerrar la serie de artículos que han acompañado mi iniciación en el mundo iOS con una serie de recursos como libros y artículos de otros blogs en los que me he apoyado desde que inicie una aplicación en mi empresa sobre esta plataforma.
Pruebas funcionales en iOS con Kif
jueves, 26 de marzo de 2015
Un tipo de test que podemos realizar a una aplicación iOS son pruebas de interfaz de usuario, al igual que en Android en iOS disponemos de librerías de terceros que nos ayudan en esta tarea. En este artículo vamos a ver cómo podemos realizar pruebas funcionales o de interfaz de usuario utilizando Kif.
Menú de navegación lateral en iOS utilizando SWRevealViewController
jueves, 19 de marzo de 2015
Una característica habitual en la aplicaciones móviles es tener un menú de navegación lateral. La aplicación de Facebook fue la primera que mostró este tipo de menú. Vamos a ver en este artículo un ejemplo de cómo crear un menú lateral utilizando la librería SWRevealViewController.
Errores y excepciones en iOS
jueves, 5 de marzo de 2015
Las excepciones es el método común en C# y Java para gestionar los errores, sin emargo en iOS existen además del concepto de excepción (NSException) el concepto de error (NSError) y cada uno tiene un proposito y una utilidad diferente. En este artículo vamos a ver cuando recomienda Apple utilizar cada tipo de error.
Pruebas unitarias en iOS con OCMock
jueves, 26 de febrero de 2015
Ya había escrito un artículo sobre pruebas unitarias con moq para .Net y pruebas unitarias con Mockito para Android, ahora vamos a ver como podemos hacer pruebas unitarias con mocks en iOS utilizando OCMock, que es una de las liberías que existen para iOS para crear mocks. Existen otras como la versión Mockito para iOS, pero OCMock lleva bastante más tiempo.
iOS para desarrolladores .NET: categorías y extensiones
jueves, 19 de febrero de 2015
Una vez que ya hemos visto como se definen las clases en Objetive-C en anteriores artículos, en este artículo vamos a ver de que forma podemos añadir o extender clases existentes y vamos a compararlo con C# donde también se pueden extender clases.
iOS para desarrolladores .NET: herencia y protocolos
jueves, 12 de febrero de 2015
Una vez que ya hemos visto como se definen las clases en Objetive-C en anteriores artículos, en este artículo vamos a ver de que forma podemos realizar herencia y abstraer clases mediante protocolos, que es un concepto similar a interfaces en C#.
iOS para desarrolladores .NET: Clases en Objetive-C parte 3
jueves, 5 de febrero de 2015
En el anterior artículo vimos como se definen los inicilizadores en una clase y los tipo de inicilizadores que existen.
En este artículo vamos a ver los métodos, como se definen y que tipo de métodos tenemos.
iOS para desarrolladores .NET: Clases en Objetive-C parte 2
jueves, 29 de enero de 2015
En el anterior artículo vimos como se deninen las clases y propiedades comparado con C#.
En este artículos vamos a ver de que forma definimos en una clase como se pueden construir las instancias de objeto.
iOS para desarrolladores .NET: Clases en Objetive-C parte 1
jueves, 22 de enero de 2015
En el anterior artículo empezó esta serie sobre iOS para desarrolladores .NET, donde veíamos una introducción a la historia y las herramientas o lenguaje que vamos a utilizar en la serie.
En esta primera parte sobre clases vamos ver como se definen las clases Objetive-C en comparación a C# y las propiedades dentro de la misma.
En la serie voy a ir comparando Objetive-C y C# pero muchas de las comparaciones se podrán aplicar también a Java porque se parece bastante a C#.
iOS para desarrolladores .NET: Introducción a la serie
jueves, 15 de enero de 2015
Cómo ya comente en la introducción en la anterior serie de artículos sobre programación en Android, en mi empresa me habían puesto en un proyecto de desarrollo de una app Android y fui compartiendo con vosotros los conocimientos que iba adquiriendo y que iba poniendo en práctica en el proyecto. Una vez terminada la aplicación y subida a Google play, me han notificado que el siguiente proyecto donde iba a participar era una aplicación mobile pero esta vez IOS, así que me toca de nuevo volver a reciclarme. No he abierto un Mac en mi vida, imaginaros la idea que tengo yo de programación con Objetive-C.
Así que ahora lo que viene es una serie de artículos de programación para IOS mediante Objetive-C para desarrolladores .Net. Ya que soy un desarrollador .Net el punto de vista y comparaciones apoyandome en C# serán constantes para ayudar a una mejor compresión del lenguaje Objetive-C. En esta ocasión los artículos empezarán desde un nivel más bajo que la serie de Android porque lo que necesito aprender es desde 0.
Suscribirse a:
Entradas (Atom)