Qué es Ionic

Ionic se define a sí mismo como un entorno de trabajo con el que puedes crear aplicaciones móviles y aplicaciones web progresivas de alto rendimiento. Su filosofía está muy basada en la web, pues entiende que es el entorno de ejecución más probado y estable que existe, de modo que cualquier desarrollador que tenga conocimientos de HTML, JavaScript y CSS pude desarrollar aplicaciones para distintas plataformas y dispositivos. Es más, Ionic puede ser usado con los entornos de trabajo de Javascript más utilizados, Angular, React y, recientemente, con Vue.js. La posibilidad de usar las capacidades nativas de un dispositivo, como podría ser la cámara del teléfono inteligente, se añaden gracias al uso de Apache Cordova o Capacitor.

El operador Elvis de Groovy

El operador Elvis es una abreviatura del operador ternario. Un caso en el que suele utilizarse de manera habitual es para devolver un valor que es sensible por defecto cuando una expresión se resuelve como false. Un sencillo ejemplo:

// Con el operador ternario, tienes que repetir el valor a asignar
mostrarNombre = usuario.nombre? usuario.nombre: 'Anónimo'

//Con el operador de Elvis, el valor que se prueba y se usa si no es falso
mostrarNombre = usuario.nombre?: 'Anónimo'

El uso del operador Elvis reduce la verbosidad de tu código y los riesgos de errores, en caso de refactorizaciones, al eliminar la necesidad de duplicar la expresión que se prueba, tanto en la condición, como en el valor de retorno positivo.

Qué es una imagen Docker

Una imagen Docker es una plantilla o esquema a partir del cual podemos generar un contenedor Docker, es decir, podemos generar un entorno aislado que está diseñado para ejecutar una o más apliaciones de forma óptima. La imágenes se crean a partir de un archivo, al que se denomina Dockerfile, usando el comando docker build. Una vez que has generado tu imagen puedes almacenarla en repositorio de imágenes Docker. En Docker Hub, por ejemplo, puedes almacenar tus imágenes de manera privada o pública. Si visitas Docker Hub verás que puedes usar muchísimas imágenes de forma gratuita sin tener que crear tus propias imágenes. Muchas de estas imágenes son oficiales, desarrolladas y distribuidas por equipos desarrolladores de una tecnología específica. Desde bases de datos a herramientas DevOps, pasando por servicios de mensajería e, incluso, sistemas operativos, tienen una imagen preparada para ser descargada y usada en Docker Hub. Puedes disponer rápidamente de una instancia de Jenkins descargando su imagen oficial…

La clase Expando de Groovy

¿Te imaginas una clase de Groovy a la que le puedes añadir, en tiempo de ejecución, propiedades y métodos? Pues eso es lo que te ofrece su clase Expando, cuyo uso es muy similar al modo en el que, en JavaScript, se usan objetos instanciando la variable Object.

// Define la classe Expando con dos propiedades:
def blog = new Expando(titulo : "metroSetenta", subtitulo : "Arquitectura y diseño de software")
// Añade una nueva propiedad a Expando:
blog.url="metrosetenta.es"
// Incluye un método con un cierre:
blog.toString={
  return """
    Título del blog:    ${titulo}
    Subtítulo del blog: ${subtitulo}
    URL del blog:       ${url}
  """
}
println (blog)

Observa en el pequeño ejemplo de arriba que el constructor usa una notación similar a los mapas Groovy y, que los métodos, son implementados usando cierres (closures). Puedes probar este pequeño ejemplo guardándolo en un archivo para ejecutarlo con el comando groovy.