Cómo insertar un video de YouTube en WPF o UWP

Cómo insertar un video de YouTube en WPF o UWP

YouTube actualmente se ha convertido en el lugar por excelencia para albergar vídeos, por lo que es bastante común que tengamos que reproducir algún video hosteado en este servicio en nuestras aplicaciones.

Utilizando el control MediaElement

Tanto WPF como UWP tienen el control MediaElement, que no es más que un reproductor nativo de elementos multimedia (video, audio), como se puede ver en la siguiente imagen:

Demostración del control Media Element en UWP

Leer más

Aprende CSS de manera visual

Aprende CSS de manera visual

Uno de lo mayores problemas que solemos tener al utilizar CSS es que hay multitud de características, que se aplican de manera distinta a los navegadores y que no solemos saber exactamente que efecto tienen.

CSS de manera visual

A la hora de aprender CSS normalmente encontramos páginas donde explican cada una de las características de manera textual. Algunas incluyen además imágenes o gifs para ayudar al entendimiento. Sin embargo quizás la mejor manera de conseguir entender cómo funcionan es mediante una comparación de las visualizaciones de los distintos valores de una propiedad. Esta idea es la que siguen en CSS Reference.

Leer más

El framework de desarrollo web más ligero

El framework de desarrollo web más ligero

Cuando vamos a desarrollar una web, una de las cosas más fundamentales y críticas que debemos hacer, es elegir el framework de desarrollo web que vamos a utilizar. Esto es debido a que desarrollar una web de cero suele ser algo bastante costoso.

Vanilla JS

Vanilla JS es un framework de desarrollo web ligero, rápido y multiplataforma que nos va a permitir construir aplicaciones increíbles. Algunas de las funcionalidades que soporta son:

  • El uso de objetos
  • Animaciones
  • Expresiones regulares
  • Manejo de Arrays y cadenas de caracteres
  • Gestion del DOM
  • Soporte para eventos

Leer más

Cómo crear una galería fotográfica con JavaScript

Como crear una galeria fotografica con JavaScript

Uno de los proyectos más comunes hoy en día es crear una galería fotográfica o cualquier otro sistema que muestre de una manera impactante nuestras imágenes. Hoy os vamos a enseñar a hacerlo, utilizando una conocida librería de JavaScript.

Creando la galería fotográfica con JavaScript

Para desarrollar nuestra galería vamos a utilizar la biblioteca de JavaScript Grade.js la cual nos va a permitir:

  • Extraer los dos colores dominantes principales de la imagen
  • Generar un degradado basado en ambos colores
  • Enmarcar una fotografía con nuestro degradado

Todo lo anterior lo crea con muy pocas líneas de código y de manera totalmente automática. Para mostraros cómo funciona, lo mejor es basarnos en el siguiente ejemplo que he creado.

Leer más

Extraer el texto de una imagen con JavaScript

Extraer el texto de una imagen con JavaScript

Una de las técnicas de inteligencia artificial más estudiadas es la denomiada OCR (Reconocimiento Óptico de Caracteres), la cual consiste en extraer el texto que hay en una imagen.

Por qué es útil el OCR

Hoy en día, encontramos multitud de situaciones donde parte de los documentos o medios en los que trabajos son digitales y otra parte analógicos. Como todos sabemos los ordenadores trabajan muy bien con la parte digital, ya que así están pensados, sin embargo se comportan bastante mal cuando tienen que tratar con datos que no son digitales, como por ejemplo:

  • Cantidades escritas a mano (facturas, contratos, cheques…)
  • Direcciones escritas a mano (envíos, paquetería, facturas…)
  • Indicaciones escritos a mano (comentarios, modos de uso…)

Para intentar salvar todos los problemas anteriores, se aplican técnicas de OCR, las cuales parten de una imagen donde está el texto a reconocer y, con un conjunto de algoritmos ya entrenados, son capaces de extraer en mayor o menor medida el texto que hay en esas imágenes.

Leer más

¿Qué son los punteros y cómo se usan?

Que son los punteros y como se usan

Uno de los problemas más comunes a los que se enfrentan los usuarios que empiezan a programar en C o C++, es el uso de los punteros.

¿Qué es un puntero?

Un puntero no es más que una variable, en la cual se almacena una dirección de memoria. Esto parece muy simple, pero luego da muchos quebraderos de cabeza. Al ser una dirección de memoria, le podemos decir a un puntero que en ese lugar donde apunta queremos almacenar un valor, por ejemplo un número.

Para realizar una explicación muy sencilla, vamos a decir que un puntero es como un buzón de correos y nuestra memoria RAM, es similar a una comunidad de vecinos donde hay muchos buzones. Además en esta comunidad en lugar de tener el nombre puesto en el buzón, cada uno va a tener un identificador único.

Explicación simple de los punteros

Como se puede ver en la imagen, hay muchos buzones (zonas de memoria), pero no todas las podemos usar, ya que hay buzones que son nuestros y otros que son de otros vecinos (otros programas).

Leer más

La CDN de tus recursos de programación web

La CDN de tus recursos de programación web

Cuando estamos trabajando en el desarrollo de una web, normalmente nos enfrentamos al problema de que hay múltiples librerías y recursos para realizar una tarea concreta. Una vez que realizamos la elección de los distintos componentes que vamos a utilizar en nuestro proyecto, nos topamos con el problema de cómo integrarlos al mismo. En este momento encontramos distintas maneras de proceder:

Usando recursos locales

Una primera aproximación y quizás la más utilizada es descargar todos aquellos recursos que vamos a utilizar (bibliotecas de JavaScript, fuentes, estilos …), enlazarlos y subirlos a nuestro servidor. Esto no es bueno para las cachés, ya que si tu web usa jQuery y el usuario antes ha visitado una web que usa jQuery, su navegador va a volver a descargar ese fichero con la pérdida de tiempo y rendimiento que eso supone.

Usando recursos remotos

Para solventar el problema podemos hacer que nuestro recurso (por ejemplo jQuery) sea cargado desde un servidor conocido, esto hace que si el usuario ha visitado otra web que también usaba el mismo recurso en el mismo servidor, la caché funcione y no tenga que volver a obtenerlo.

Leer más

Cómo añadir resaltado de sintaxis a tu web

Cómo añadir resaltado de sintaxis a tu web

Uno de los mayores problemas que encontramos las personas que escribimos sobre programación es la necesidad de mostrar el código fuente de manera sencilla. Esto se hace normalmente mediante algún sistema de resaltado de sintaxis, el cual nos permite colorear cada conjunto de palabras claves.

 

Añadiendo resaltado de sintaxis a tu web

El resaltado de sintaxis está presente en todos los editores de código, pero también lo podemos usar en una web mediante Prism.

Este desarrollo nos va a permitir mediante el uso de un fichero JavaScript que contiene los patrones y otro CSS que cuenta con los colores, conseguir un resaltado de sintaxis profesional, que no tiene nada que envidiar al de tu entorno de desarrollo. Este desarrollo además es compatible con multitud de lenguajes (más de 100) y cuenta con temas y plugins para que podamos adaptar el aspecto final. Finalmente podemos decir que tal es la calidad, que algunas empresas como Mozilla lo usan en su documentación online.

Leer más

Las librerías más usadas en C

Te enseñamos cuales son las librerías más usadas de C

Uno de los problemas más comunes con los que se encuentra un usuario cuando empieza a codificar en C, es que necesita ciertas funciones que no forman parte de la sintaxis básica del lenguaje. Este problema es muy común tanto para los principiantes en programación, como para los que vienen de otro lenguaje como Java o C#, los cuales tienen más implementaciones.

La manera de añadir más funcionalidad en C es utilizar librerías o bibliotecas. Este término que viene del inglés library, agrupa un conjunto de funcionalidad creado por otras personas y que vamos a poder usar directamente en nuestro programa.

La librería de C para la gestión de tiempos

Uno de los problemas de gran complejidad que tenemos en todos los lenguajes es la gestión del tiempo, por ello para C tenemos la librería time.h

Creando números aleatorios

Algunos os preguntaréis, para que voy a necesitar el tiempo si quiero generar números aleatorios. Pues la respuesta es bastante simple, el generador de números aleatorios necesita una semilla (valor inicial), así que qué mejor que utilizar el tiempo actual como semilla del generador.

srand(time(NULL));
var=rand();

Con time(NULL) siempre será distinta la semilla ya que con ella obtenemos el tiempo en segundos del momento actual respecto al 1 de Enero de 1970.

Midiendo tiempos de ejecución

Otra de las cuestiones que nos podemos plantear, es la posibilidad de comprobar cuanto tiempo le lleva a nuestro ordenador ejecutar un fragmento de código.

clock_t inicio,fin; //variables para medir tiempo
inicio=fin=clock();
//sentencias que queramos saber su tiempo de ejecucion
fin=clock();
printf("El tiempo de ejecucion de esa parte es %lF",((fin-inicio)/(double)CLOCKS_PER_SEC));

clock_t  es el tipo de dato de las variables para medir tiempo.
clock(); devuelve el número de ciclos ejecutados.
CLOCKS_PER_SEC es una constante que indica el número de ciclos que ejecuta nuestra CPU en un segundo.

Leer más

Cómo subir una aplicación a la Windows Store

Cómo subir una aplicación a la Windows Store

En los últimos tiempos, las tiendas de aplicaciones se han convertido en la piedra angular de la distribución de las aplicaciones. En este artículo os vamos a enseñar todos los pasos que debéis realizar, desde que hacéis la aplicación, hasta que la subís a la tienda.

Reservando el nombre de nuestra aplicación

Lo primero que tenemos que hacer para distribuir nuestra aplicación en la tienda de Windows, es reservar el nombre de nuestra aplicación. Este proceso se realiza desde el panel de desarrolladores.

Panel de la Windows Store para la reserva de nombres y la visualizaición de los datos

Pulsaremos en crear una aplicación nueva, aquí nos saldrá un cuadro en el que podremos comprobar si el nombre que queremos usar está disponible y reservarlo para nosotros.

Leer más