slide1

Alt1040. Noticias acerca de Internet, diseño, música, cine, opiniones, weblogs y medios

Es uno de los weblogs de tecnología más seguidos de la blogosfera hispana.

slide2

Bitelia. Blog de software, internet y servicios web

Software y aplicaciones para mejorar tu vida, guías de uso, trucos, listas, noticias y todo sobre tecnología.

slide3

Xataka. Publicación de noticias sobre gadgets y tecnología.

Últimas tecnologías en electrónica de consumo y novedades tecnológicas en móviles, tablets, informática, etc.

slide4

Wwwhatsnew. Aplicaciones, marketing y noticias en la web.

Servicios que os pueden ser útiles para dibujar, gestionar tareas, hacer amigos, encontrar restaurantes...

slide5

Fayerwayer. Discusiones y opiniones de lo ultimo en tecnología y gadgets

Con secciones dedicadas a Internet, Software o Redes Sociales es un referente a nivel de tecnología en español.

Mostrando entradas con la etiqueta programación. Mostrar todas las entradas
Mostrando entradas con la etiqueta programación. Mostrar todas las entradas

11 de octubre de 2014

Como generar barcodes lineales y QR barcodes con jQuery en pocas líneas de código

En el artículo anterior Quick Response Barcode o «código de respuesta rápida» perfilamos las dimensiones que tiene y puede alcanzar este tipo de software. También hablamos de la infinidad de servicios que nos permiten generar el código de forma sencilla y transparente ya sea a través de la instalación de un programa o directamente desde la barra de direcciones de nuestro navegador.

Ahora bien, ¿estamos dispuestos a crear códigos qr dependientes de servicios de terceros?

Con jQuery.qrcode generar códigos QR de forma dinámica en nuestro sitio web será muy fácil y tendremos la posibilidad de codificar alrededor de 2900 caracteres (8 bits).

Este plugin permite la creación de códigos QR de dos formas diferentes:

  • Dibujándolo sobre un objeto canvas: genera en el elemento que deseemos una etiqueta canvas de HTML5, y luego pinta el código sobre su superficie.

    Funcionará en los navegadores más modernos que soporten el objeto canvas de forma nativa:

    • Internet Explorer 9+
    • Firefox 31+
    • Chrome 31+
    • Safari 5.1+
    • Opera 24+
    • iOS Safari 7.1+
    • Opera Mini 7+
    • Android Browser 2.3+
    • Chrome for Android 37+

    Toda la información en http://caniuse.com/#feat=canvas

  • Generándolo a partir de capas o divs: crea el código dibujando cada punto a partir de un elemento div de HTML, por lo que funcionará en cualquier navegador.
Podemos ver una demostración que ilustra estos dos métodos en la dirección https://larsjung.de/jquery-qrcode/latest/demo/

Su uso es simple: seleccionamos con jQuery el elemento en el que queremos albergar el código y llamamos al método qrcode con el parámetro text y la información que queremos mostrar.

Obtenemos el código QR:



También podemos pasar parámetros al método para definir el aspecto del código QR: tamaño, color, fuente, bordes, etc.

Código QR resultante:



jQuery también nos proporciona otro plugin para generar barcodes o códigos de barras lineales, cuya concepción se basa en en la 'representación mediante un conjunto de líneas paralelas verticales de distinto grosor y espaciado que en su conjunto contienen una determinada información, es decir, las barras y espacios del código representan pequeñas cadenas de caracteres'.
Fuente: http://es.wikipedia.org/wiki/Código_de_barras

También resulta extraordinariamente fácil su uso, tan sólo tenemos que importar en nuestro web site la librería jquery-barcode.min.js que podemos bajarnos del sitio oficial http://barcode-coder.com/download/jquery-barcode-2.0.3.zip.

En este caso seleccionamos el elemento en el que queremos insertar el código y llamamos al método barcode con la cadena numérica a codificar y el tipo de codificación.




De la misma forma que los códigos de dos dimensiones, podremos definir el aspecto del barcode: color de fondo, color de las barras verticales, ancho y algo de las barras, etc.


Obtenemos el siguiente código de barras lineal:



Los tipos de códigos de barras que nos proporciona la librería son:

  • EAN 8
  • EAN 13
  • UPC
  • standard 2 of 5 (industrial)
  • interleaved 2 of 5
  • code 11
  • code 39
  • code 93
  • code 128
  • codabar
  • MSI
  • Data Matrix

Toda la información en http://barcode-coder.com/en/barcode-jquery-plugin-201.html


16 de diciembre de 2013

Tarjeta de Navidad animada con jQuery

jQuery es una biblioteca de JavaScript, creada inicialmente por John Resig, que permite simplificar la manera de interactuar con los documentos HTML, manipular el árbol DOM, manejar eventos, desarrollar animaciones y agregar interacción con la técnica AJAX a páginas web. Fue presentada el 14 de enero de 2006 en el BarCamp NYC. jQuery es la biblioteca de JavaScript más utilizada. jQuery es software libre y de código abierto, posee un doble licenciamiento bajo la Licencia MIT y la Licencia Pública General de GNU v2, permitiendo su uso en proyectos libres y privativos.

La familia y los amigos son como las estrellas: no siempre las ves, pero siempre están ahí.

¡¡¡FELIZ NAVIDAD!!!



Tarjeta de Navidad animada con jQuery

 

Haz clic en el lazo azul para abrir la tarjeta

 
 
 
 
 


Si lo deseas, puedes descargar y modificar el ejemplo para añadirlo a tu página web en la siguiente dirección: navidad-jquery
(Fuente original: www.lewebmonster.com)

 



9 de octubre de 2013

Librerías javascript de gran utilidad para tu desarrollo web


JavaScript es un lenguaje de programación que a lo largo de los últimos años ha ido ganando popularidad y con la incursión de HTML5 ha dotado de mayor dinamismo e interactividad a la web, haciendo posible una navegación más agradable para el usuario.


Todos los navegadores llevan integrados sus propios motores JavaScript con objeto de aprovechar al máximo sus características y ofrecer al usuario un mayor rendimiento en aplicaciones web.

Algunas de las librerías más conocidas y que nos pueden ayudar en el desarrollo de nuestros proyectos web son:

  • jQuery: es la librería más utilizada por su fácil manejo en el tratamiento de los objetos del DOM ya que nos permite abstraernos completamente. Muy aconsejable para la integración de efectos y animaciones personalizadas.
    jQuery es software libre y de código abierto permitiendo su uso en proyectos libres y privativos. Además es compatible con los navegadores más comunes del mercado como Mozilla Firefox 2.0+, Internet Explorer 6+, Safari 3+, Opera 10.6+ y Google Chrome 8+
    Recomiendo el siguiente libro gratuito en español sobre Fundamentos de jQuery: http://librojquery.com/
  • Mootools: este framework está enfocado a la orientación de objetos como sus siglas indican (My object oriented tools).
    Cuenta con un componente avanzado de efectos y con transiciones optimizadas y utilizadas por multitud de desarrolladores Flash.
    Es de código abierto y compatible y probado en Safari 3+, Internet Explorer 6+, Mozilla Firefox 2+, Opera 9+, Google Chrome 4+
  • Prototype: es un framework escrito en JavaScript para el desarrollo sencillo y dinámico de aplicaciones web. Su potencial es aprovechado al máximo cuando se desarrolla con Ruby On Rails.
  • Yahoo! UI Library: bibliotecas utilizadas para la construcción de aplicaciones enriquecidas RIA (rich Internet applications) o aplicaciones web que tienen la mayoría de las características de las aplicaciones de escritorio tradicionales.
    Liberadas bajo licencia BSD por parte de la compañía Yahoo.
  • Modernizr: esta librería proporciona la misma experiencia de usurio a todos los visitantes del sitio web independientemente de su navegador.
    Modernizr no añade ninguna funcionalidad al navegador. En cambio, sólo averigua si la funcionalidad que estás intentando implementar responde en dicho navegador. Esto nos permite experimentar con las nuevas características de HTML5 y CSS3 sin preocuparnos por restar experiencia de usuario o que la página no se renderice adecuadamente.
  • Dojo: es un framework que contiene APIs y widgets para facilitar el desarrollo de aplicaciones Web que utilicen tecnología AJAX.
    Es de código abierto y se puede descargar de forma gratuita en su página oficial. Cuenta con el patrocinio de IBM, Google, AOL y Nexaweb.
Si buscamos librerías que atiendan a propósitos específicos:

  • Visualización y efectos de imagenes: JS charts (gráficos de barras, circulares y de líneas simples), Gráfico (10 tipos de gráficos, de barras, de area, de línea y barras horizontales...), Canvas 3D JS Library (objetos 3D), CanvasXpress (gráficos tridimensionales), Raphaël (gráficos vectoriales con SVG y VML), ImageFX (efectos sobre imágenes con CANVAS), Reflection.js (efectos de reflexión), PaintbrushJS (efectos sobre imágenes similares a los que podemos encontrar en aplicaciones como Instagram o picplz)
  • Manejo de cadenas y funciones matemáticas: Date.js (funciones complejas de fechas), Sylvester (vectores y arrays en varias dimensiones), XRegEx (expresiones regulares), JavaScript Url Library (manipulación de direcciones o url).

Como punto final, os reto a que resolváis el siguiente puzzle realizado con JQuery Puzzle:

jqPuzzle


22 de enero de 2013

Cross Domain: comunicación entre distintos dominios


Cuando desarrollamos orientados a tecnologías webs se establece un mecanismo de seguridad de comunicaciones en navegadores webs con el fin de evitar acceder a información alojada en otros servidores.


Lo que se pretende es que ningún script ejecutado desde el navegador de una página web pueda acceder a otro servidor de páginas diferente al suyo.

No obstante hay alternativas para acceder al contenido de otro servidor web desde el browser desde dónde se ejecuta nuestra aplicación:

  •  podemos usar un proxy como web service de tal forma que la comuniación no se establece entre mi browser y el servidor web deseado sino que llamo al servicio web alojado en mi servidor y éste hace la llamada.

  • con jsonp o lo que es lo mismo Json con Padding: en lugar de realizar una petición Ajax (Asynchronous Javascript And Xml no funciona entre dominios distintos), generamos un archivo jsonp dinámicamente en el que definimos una variable que va a actuar como callback de la petición.

Como soy fiel seguidor de "maestros del web", voy a hacerle un guiño y voy a traerme sus diez últimos post publicados:



14 de enero de 2013

CSS3 = Presente y Futuro


El acrónimo CSS (Cascading Style Sheet en inglés) se traduce al castellano como Hojas de Estilo en Cascada y es una tecnología diseñada para la presentación de los documentos que forman una página web.


El organismo que regula sus especificaciones es el W3C (World Wide Web Consortium) de la misma forma que lo hace con el lenguaje Html.

Las novedades que ha introducido la nueva versión de CSS (en el post "html5, el cambio que esperabamos" menciono algunas de sus propiedades más importantes) hacen posible una mayor dinamización e interactividad de la web utilizando tecnologías abiertas. En este sentido, los nuevos estándares web permiten el desarrollo de sitios mucho más accesibles.

Tan sólo debemos disponer de un navegador actualizado para poner en práctica algunos ejemplos asombrosos como los que vemos a continuación:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris pulvinar rhoncus risus, vel ornare lacus sagittis sit amet. Duis vel sem magna. Proin pulvinar velit eleifend ligula ultrices vestibulum. Nunc posuere dolor eu mauris feugiat dignissim.



Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris pulvinar rhoncus risus, vel ornare lacus sagittis sit amet. Duis vel sem magna. Proin pulvinar velit eleifend ligula ultrices vestibulum. Nunc posuere dolor eu mauris feugiat dignissim.



Contact Us.....

Name:
Email:
Message:
Pass The Paper



Top cube face

The top face is nested in an extra div tag to give correct rotation of skewed rectangle.

This face is also scaled, so the font size has been reduced to accommodate.

Left cube face

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt.

Right cube face

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco.


10 de enero de 2013

Html5 + Javascript = Presente y Futuro


La animación es un proceso utilizado para dar la sensación de movimiento a imágenes o dibujos o a otro tipo de objetos inanimados (figuras de plastilina, por ejemplo). Fuente: wikiepedia (http://es.wikipedia.org/wiki/Animación).


A continuación voy a mostrar un ejemplo muy simple de una animación en dos dimensiones usando el objeto Canvas de Html5.

Si quieres puedes crear tu propia historia editando las cajas de texto:

Marian (texto1)
Billy (texto1)
Billy (texto2)
Marian (texto2)
Marian (texto3)


Este navegador no soporta CANVAS



Podemos ver un ejemplo de animación en tres dimensiones en la dirección http://www.benjoffe.com/code/demos/canvascape.
Se trata de un juego de aventuras en 3D (disparos en primera persona).

En el post anterior (html5 ¿el cambio que esperábamos?) planteaba la posibilidad de creación de juegos con html5.

Sin duda, html5 es una alternativa para juegos de navegador que presenta ventajas importantes:
  • se trata de una herramienta estándar abierta y gratuíta al alcance de cualquier persona interesada en desarrollo web.
  • no requiere de software adicional o instalación de complementos.
  • es sopotado por los navegadores más actuales con independencia del sistema operativo lo que lo convierte en multiplataforma.
En contra, se está trabajando para mejorar el rendimiento debido al elevado consumo de memoria y cpu.

También os dejo un enlace que os va a sonar: Angry Birds.
Uno de los juegos más populares para dispositivos móviles, también está disponible en HTML5 para disfrutar desde el navegador.
http://chrome.angrybirds.com

3 de enero de 2013

HTML5 ¿el cambio que esperábamos?

HTML5 es el Lenguaje de Marcado de Hipertexto (HyperText Markup Language) en su quinta revisión, regulado y recomendado por el W3C (World Wide Web Consortium), consorcio encargado de la mayoría de las especifiaciones tecnológicas para la web.

Está en fase borrador pero cuenta con el apoyo de las grandes compañías como Google, Apple o Microsoft cuya apuesta supone el lanzamiento definitivo en la web.

Se estima que la versión final de esta recomendación se aprobará en el año 2014. No obstante, se puede usar html5 sin ningún temor ya que la mayoría de sus características se encuentran en una situación muy estable.

Html5 hace referencia al conjunto de nuevas tecnologías que proporcionan una navegación mucho más ágil y flexible y suponen una experiencia de usuario mejorada sin el uso de software adicional.

El objetivo fundamental de html5 es facilitar el desarrollo de aplicaciones web enriquecidas (ahorro de costes en el desarrollo de páginas webs) y mejorar el rendimiento ante las nuevas necesidades tecnológicas y de gestión de la información.
No olvidemos que cada vez más terminales móviles soportan html5 y para el presente año se espera la venta de mil millones de terminales compatibles con esta tecnología. Véase el artículo: http://jmacuna73.blogspot.com.es/2012/12/smartphone-utilidades-reales-y-evolucion.html

Algunas de las aportaciones del lenguaje son:

Etiquetas nuevas:

  • <canvas> para representación de elementos gráficos en 2D y 3D
  • elementos multimedia como <audio>, <video>, <source>, <embed>. Los formatos de audio soportados son AAC, mp3, ogg, PCM, WebM y los de vídeo ogg, H.264, WebM, H.264.
  • elemento <track> para alojamiento de una pista de texto asociada a un contenido multimedia, por ejemplo un vídeo.
  • tags para manejar la web semántica. Algunos elementos que definen secciones del documento son <article>, <aside>, <bdi>, <command>, <details>, <summary>, <figure>, <figcaption>, <footer>, <header>, <hgroup>, <mark>, <meter>, <nav>, <progress>, <ruby>, <rt>, <rp>, <section>, <time>, <wbr>.
  • elementos de forma: <datalist>, <keygen>, <output>.

Formularios enriquecidos:

  • se añaden nuevos tipos de datos cómo direcciones de e-mail <input type=email>, números de teléfono <input type=tel>, url absoluto <input type=url>, búsqueda <input type=search>, fecha y hora global <input type=datetime>, fecha y hora local <input type=datetimelocal>, fecha <input type=date>, mes <input type=month>, semana <input type=week>, hora <input type=time>, número <input type=number>, número en rango <input type=range>, color <input type=color>
  • nuevos tipo de controles de entrada: barras de progreso, generadores de claves, interfaces de salida, listas de datos, selectores de colores, calendarios, cuadros de búsqueda, etc.
  • comportamientos como autofocus, autocompletar, redirigir el valor.
  • y posibilidad de validación de los campos sin el uso complejo de scripting.

CSS3:

  • permite dibujar gráficos vectoriales
  • rotar y escalar imágenes: transform, -webkit-transform, -moz-transform, -o-transform
  • texto sombreado: text-shadow
  • cajas sombreadas:  box-shadow
  • redondear bordes o esquinas de elementos o imágenes: border-radius.
  • bordes con imágenes: border-image y border-corner-image.
  • múltiples imágenes de fondo: background-image: url('fondo1.png'), url('fondo2.png')
  • tooltip usando pseudo-elementos :before (or :after) combinados con pseudo-clases :hover.
  • opacidad: opacity
  • múltiples columnas: -moz-column-count and -moz-column-width
  • soporta una gama más amplia de las definiciones del color: HSL (hue, saturation, lightness), CMYK (cyan, magenta, yellow, black), HSLA (hue, saturation, lightness, alpha) y RGBA (red, green, blue, alpha)

Modelo de procesamiento de errores:

  • el manejo de errores queda claramente definido y es mucho más sencillo para el programador.

Javascript:

  • los nuevos APIs para gestionar la interacción con el usuario permiten dibujar gráficos 3D con WebGL, trabajar off-line, geoposicionamiento, drag and drop, etc.
  • APIs para el acceso a sistema de ficheros, almacenamiento de sesión, base de datos local, etc.

Otros módulos:

  • MathML (Mathematical Markup Language): lenguaje extendido que nos permite expresar notaciones matemáticas .
  • SVG (Scalable Vector Graphics) hace posible dibujar gráficos vectoriales nativamente.

Para poder disfrutar de todo su potencial hay que contar con las últimas versiones de los navegadores más importantes del mercado  (Mozilla, Chrome, Opera, Safari e IE).
Internet Explorer interpreta código html5 a partir de la versión 8. Para versiones anteriores y con el objetivo de no excluir a ningún usuario, recomiendo utilizar la detención de capacidades. La librería más completa para ello es Modernizr: the feature detection library for HTML5/CSS3.

Os dejo un buen vídeo sobre Qué es HTML5 y qué no es, mitos y leyendas de los estándares abiertos, pasado, presente y futuro de HTML5 de Sandra Guerrero Sanmarti que no os podéis perder.



Reflexiones que planteo:

¿es el momento de realizar un cambio tecnológico con tanto impacto en nuestra empresa y nuestros clientes?
¿es html5 una apuesta de futuro para aplicaciones web y videojuegos?

Me interesa tu opinión, ¿qué piensas al respecto?