Mostrando entradas con la etiqueta javascript. Mostrar todas las entradas
Mostrando entradas con la etiqueta javascript. Mostrar todas las entradas

viernes, diciembre 02, 2011

KendoUI: Mas Allá de jQuery

"Página principal del proyecto (Porqué esa tendencia de mezclar programación con artes marciales?)"

El día de hoy me entero del lanzamiento del framework denominado KendoUI el cual sale del beta privado para estar disponible al público con su doble licencia tanto comercial con soporte incluído y GPLv3.

Tal como menciono en el título de este post, KendoUI está construído sobre la base de jQuery pero lo extiende de tal manera que me recuerda mucho al framework Dojo con una sintaxis muy ordenada y complejos controles enriquecidos para la interfaz de usuario facilitando (o mas bien dicho, automatizando) las tareas de vincular estos controles con eventos y asociándoles repositorios de datos haciendo uso de HTML5 pero manteniendo la compatibilidad con los navegadores que aun no soportan esta versión del lenguaje de marcado.

"Showcase con los controles incluídos en el framework"


El día de hoy además fue presentado de manera extensiva mediante un webinar (link al vídeo en youtube) en el que el programador Todd Anglin explica en detalle las características de este nuevo framework.

"ThemeBuilder para colorear los controles en base a nuestra propia paleta de colores"

Como todo framework decente, posee su propio Showcase listando cada uno de los controles que posee este framework junto con la descripción de sus propiedades, eventos y código de ejemplo, además de un ThemeBuilder con el cual adecuar una paleta de colores como tema para dichos controles.

En mi opinión es un framework que desde que estaba en su beta cerrado me ha llamado la atención y espero poder utilizarlo en mi próximo proyecto que se me ocurra, media vez este cumpla con la licencia GPLv3 bajo la cual ha sido liberado el framework.

jueves, noviembre 10, 2011

Bootstrap: Tus Aplicaciones Web con la UI de Twitter

"Portada del Toolkit en Github"

Luego que twitter actualizara por fin su interfaz web, unos se dedicaron a hablar maravillas de la misma mientras que otros se dedicaron a acabársela con cuanto bug le encontraban. En lo personal, a pesar de la tradanza en su carga y falta de una que otra verbosidad, me parece muy bien diseñada y elaborada.

Recientemente buscaba un sitio para validar en línea expresiones regulares y me topé con este sitio en RegExPlanet, cuya interfaz me pareció muy similar pero no fue sino hasta que hurgué en su CSS y Javascript y busqué sus referencias que me topé con Bootstrap y fue cuando recordé la familiaridad del sitio, estaba basado en la UI de twitter haciendo uso del toolkit denominado Bootstrap.

Tal como lo mencionan en su portal de Github, Bootstrap es un conjunto de archivos CSS (Y sus respectivos LESS), HTML y Javascript con los cuales te ahorras mucho trabajo armando layouts, estilizando inputs y utilizando componentes un poco más complejos ya construidos a base de HTML como son el caso de la barra de menú (o barra de navegación, como quieran llamarle) en la parte superior con posición Fixed, tabs, formularios modales, tooltips, etc.

Pueden descargar este toolkit en su página de Github junto con la documentación la cual te explica lo fácil que es integrar esta UI en tus sitios web.

Basada completamente en la Apache License versión 2.0 lo cual significa que no tendrás que preocuparte por que alguien te quiera demandar por utilizar los mismos componentes UI con los que está hecha la interfaz actual de twitter.

Les adjunto además un ejemplo editable elaborado en JsBin mostrando cómo con solamente agregar el CSS de Bootstrap automáticamente estiliza los input y con algunos divs con clases específicas es posible construir el resto de la estructura básica de un formulario web.

miércoles, mayo 18, 2011

NinjaUI - Componentes UI Prefabricados con jQuery

"Página principal de Ninja UI. Un muy prometedor proyecto basado en jQuery"

Recientemente me doy cuenta del lanzamiento de este pequeño set de componentes javascript basados en jQuery que prometen ahorrarnos trabajo al momento de construir interfaces de usuario html/css/javascript. Para aquellos que ya han trabajado con anterioridad con el framework jQuery, este les parecerá muy similar a como lo hacemos hoy en día con jquery-ui.

En la página de ejemplos podrán notar todo lo que podemos construir haciendo uso de estos componentes. En lo personal los he estado probando un rato y me han parecido bastante buenos dado que a penas se encuentran en su primer fase beta. Hasta el momento no he observado en el sitio ningún tutorial pero podemos apreciar su uso examinando el código fuente de la página de ejemplos utilizando, por ejemplo, firebug desde firefox y según mis observaciones nada más consiste en crear un par de divs/spans y asignarle las respectivas clases css según el componente que querramos construir, lo cual me parece bastante bueno ya que están utilizando el javascript de manera no intrusiva.

"Examinando el código fuente de NinjaUI desde Firefox con Firebug"

Pueden descargar la versión Beta 1.0 (la ás reciente al momento de escribir este post) directamente desde la página principal o haciendo click aquí.

Mis expectativas para su próxima versión consisten en la posibilidad de venir con diferentes temas prefabricados y añadir aún más componentes como calendarios, popups modales y quizá explotar un poco mas los features de jQuery como draggable y animate.

Démosle una oportunidad y algo de tiempo y veamos hasta donde logra llegar este proyecto.

Visto en Kabytes.

jueves, marzo 17, 2011

The Letter-heads (Mozilla Demo)


The Letter-heads es una demostración de animación para Firefox 4 realizado por el diseñador "@Simurai". The Letter-heads te muestra una variedad de personajes que resultan de las animaciones con CSS3 y JavaScript de letras presentes en el demo. Este es un genial ejemplo con el que es su obligación interactuar, y sirve de ejemplo perfecto de las capacidades de la nueva versión de Firefox 4, que probablemente sale para el 22 de Marzo de 2011 (en Chrome corre igual de bien).

Vínculo para ver The Letter-heads:
https://mozillademos.org/demos/shadows/demo.html
Y el código fuente en GitHub:
https://github.com/simurai/shadows/
Espero que les guste, ¡saludos!

sábado, enero 08, 2011

Propósito de Año Nuevo: Un Nuevo Lenguaje de Programación.


Llegó el año nuevo y muchos suelen establecer propósitos que intentarán cumplir durante el nuevo año. Unos pueden proponerse hacer más ejercicio, conseguir un nuevo trabajo, procrastinar menos, etc. En esta ocasión les propongo como propósito aprender un nuevo lenguaje de programación.

Posiblemente seas ya un master en .Net, ya conozcas todo lo que se debe saber sobre los foundation y hasta tengas tu certificación. Quizá tengas años de experiencia trabajando con java y sus stacks, quizá spring, faces, ejbs. Quizá seas uno de los mejores con Python o Ruby o quizá tengas un enorme portafolio de sitios elaborados con PHP en tu currículum. Es muy importante escoger un lenguaje de programación, aferrarnos a el y conocerlo a fondo pero no debemos quedarnos hasta ahí. Es importante seguir avanzando y no necesariamente en la misma rama que ya dominamos porque llegará un momento en el que nuestro lenguaje ya no sea el más popular o el mejor pagado en el mercado y sea hora de migrar a uno nuevo.

Lenguajes de programación hay muchos allá afuera, unos más populares que otros, unos más fáciles que otros, con mayor o menor soporte, con su única manera de abstraer el mundo real y expresarlo mediante su sintaxis y frameworks. Cada lenguaje tiene su especialidad y principal enfoque y pueda que nos sea una ventaja conocerlo en algún momento.

Para todo aquel programador Java que a veces siente que le hace falta un poco de scripting language pero no quiere soltar las bondades del JDK es un buen momento para animarse a aprender Groovy. Un lenguaje que te permite experimentar esa agilidad del "write less, do more" haciendo uso de las ya conocidas bondades del JDK de java.

Posiblemente seas un programador de backends y siempre te ha impresionado la calidad de las interfaces gráficas que se pueden desarrollar hoy en día mediante CSS y Javascript. Puede ser un buen momento de pasarse al lado de los frontends y aprender un poco de jQuery, Scriptaculous o Motools y sacarle provecho a lo que estos frameworks pueden hacer con el DOM y el CSS de tus sitios.

En lo personal, siempre me he sentido esa apatía por el SQL y he sufrido mucho cuando he tenido que realizar grandes consultas
con SELECT anidados, JOINs y CASEs pero a la vez he podido comprobar la ventaja de utilizar procedimientos almacenados escritos con PL/SQL por lo que espero poder aprender y poner en práctica este lenguaje en este año.

En conclusión, un nuevo lenguaje de programación te abre la mente a una nueva forma de abstraer el mundo, resolver tus problemas/necesidades de información y escribir su lógica mediante una sintaxis diferente. Además, agregas una nueva habilidad a tu currículum por lo que te vuelves un profesional más valioso y con un horizonte más amplio de oportunidades de empleo. Documentación existe de sobra en la red por lo que esto nunca será una excusa mucho menos un obstáculo para aprender. Además, los programadores tendemos a tomar esa buena costumbre de volvernos autodidactas por lo que en la mayoía de las veces no es necesario pagar por cursos presenciales para aprender.

Qué nuevo lenguaje de programación les interesaría aprender este año?

miércoles, noviembre 17, 2010

Aplicaciones web de 10K

"10K Apart Challenge" es un concurso con una premisa sencilla: ¿Se puede construir una aplicación web completa en tan solo 10 Kilobytes? ¡Claro que si!

Mini aplicaciones Web

Quizás una de las cosas que mas impactan al revisar las entradas participantes, es como muchas de ellas no se ven como sitios web. Usando tecnologías web "recientes" (para IE al menos) como Canvas, SVG, CSS3 y muuuuucho JavaScript, los concursantes fueron capaces de crear aplicaciones web que bien pueden pasar por aplicaciones nativas, flash o de iPhone.

La creatividad y la energía demostrada en este concurso, recuerda al DemoScene, cuando habilidosos programadores competían para hacer los mejores "demos" para Amiga y Commodore 64. Solo que en este caso, en vez de apuntar a una sola plataforma, estas pequeñas obras de arte web, se ejecutan en cualquier SO y navegador (decente). Algunas de las entradas mas relevantes son:

Sinuous



Sinious fue el gran ganador, un pequeño juego casual y entretenido.

Graph10k


Gráfica ecuaciones de ejemplo o digita las tuyas.

Racer 10K


¿No te recuerda V.R. o Mario Kart (SNES)?

The Smallest 3D Maker


No será la competencia de Blender, pero esta pequeña aplicación te permite dibujar curvas de Bézier y convertirlas a objetos 3D que podes "explorar".

Como ven, son cosas "sencillas", pero con gran potencial y ejecutandoce en 10 miserables Kilobytes. Bien dicen que la necesidad hace al artista. El concurso "10K Apart" esta para quedarse, visitenlo y a ver quien se anima para participar en la proxima:
http://10k.aneventapart.com

Aplicaciones web de 10K

"10K Apart Challenge" es un concurso con una premisa sencilla: ¿Se puede construir una aplicación web completa en tan solo 10 Kilobytes? ¡Claro que si!

Mini aplicaciones Web

Quizás una de las cosas que mas impactan al revisar las entradas participantes, es como muchas de ellas no se ven como sitios web. Usando tecnologías web "recientes" (para IE al menos) como Canvas, SVG, CSS3 y muuuuucho JavaScript, los concursantes fueron capaces de crear aplicaciones web que bien pueden pasar por aplicaciones nativas, flash o de iPhone.

La creatividad y la energía demostrada en este concurso, recuerda al DemoScene, cuando habilidosos programadores competían para hacer los mejores "demos" para Amiga y Commodore 64. Solo que en este caso, en vez de apuntar a una sola plataforma, estas pequeñas obras de arte web, se ejecutan en cualquier SO y navegador (decente). Algunas de las entradas mas relevantes son:

Sinuous



Sinious fue el gran ganador, un pequeño juego casual y entretenido.

Graph10k


Gráfica ecuaciones de ejemplo o digita las tuyas.

Racer 10K


¿No te recuerda V.R. o Mario Kart (SNES)?

The Smallest 3D Maker


No será la competencia de Blender, pero esta pequeña aplicación te permite dibujar curvas de Bézier y convertirlas a objetos 3D que podes "explorar".

Como ven, son cosas "sencillas", pero con gran potencial y ejecutandoce en 10 miserables Kilobytes. Bien dicen que la necesidad hace al artista. El concurso "10K Apart" esta para quedarse, visitenlo y a ver quien se anima para participar en la proxima:
http://10k.aneventapart.com

lunes, octubre 25, 2010

¡¡¡Destruye el Sr. Byte!!!

¿Estas aburrido de ver etiquetas div, p, a, y center regados en este dominio? ¿Detestas el todo ese asqueroso HTML que esta "por todos lados"? ¡Pues estas de suerte, esta es tu oportunidad de destruir el HTML del Sr. Byte! (sin causar ningun daño real claro). Da click en el siguiente vinculo:
¡¡¡Destruir!!!
Y veras como aparece la pequeña nave vectorizada de Asteroids, solo que en vez de destruir asteroides para salvar la tierra, puedes destruir el codigo HTML de este blog, para matar tu aburrimiento.


Esta genial idea es Erik Rothoff Andersson, un programador de 18 años, con bastante creatividad y tiempo en sus manos, su "pagina" web, y el codigo javascript empleado y las instrucciones para el jueguito la pueden encontrar en:
http://erkie.github.com/
Y por si eso no les basta, tambien existe una excelente extension para Google Chrome, con la que pueden "destruir la web":
Asteroids Everywhere
Los dejo con el video de la extensión, y los invito a que si tienen Google Chrome, la instalen inmediatamente :)


Que se diviertan, ¡saludos!

¡¡¡Destruye el Sr. Byte!!!

¿Estas aburrido de ver etiquetas div, p, a, y center regados en este dominio? ¿Detestas el todo ese asqueroso HTML que esta "por todos lados"? ¡Pues estas de suerte, esta es tu oportunidad de destruir el HTML del Sr. Byte! (sin causar ningun daño real claro). Da click en el siguiente vinculo:
¡¡¡Destruir!!!
Y veras como aparece la pequeña nave vectorizada de Asteroids, solo que en vez de destruir asteroides para salvar la tierra, puedes destruir el codigo HTML de este blog, para matar tu aburrimiento.


Esta genial idea es Erik Rothoff Andersson, un programador de 18 años, con bastante creatividad y tiempo en sus manos, su "pagina" web, y el codigo javascript empleado y las instrucciones para el jueguito la pueden encontrar en:
http://erkie.github.com/
Y por si eso no les basta, tambien existe una excelente extension para Google Chrome, con la que pueden "destruir la web":
Asteroids Everywhere
Los dejo con el video de la extensión, y los invito a que si tienen Google Chrome, la instalen inmediatamente :)


Que se diviertan, ¡saludos!

martes, octubre 19, 2010

jQuery Mobile Al Fin!

"jQuery Mobile desde mi iPod Touch"


Llegó el momento de la verdad con el tan esperado release de jQuery para Móviles.


Por el momento aún se encuentra en versión Alpha1 por lo que no es nada más para que los interesados puedan empezar a jugar con el y mediante el feedback brindado, logren reparar los bugs, agregar features deseados y luego lanzar el release estable.

En la web existen actualmente varias librerías para desarrollar aplicaciones basadas en móviles, la mayoría emulando la bien elaborada interfaz del iOS pero sin lograrlo completamente. El que mas convencía era jQtouch, un plugin para jQuery que transforma elementos HTML en componentes de UI para móviles, pero este plugin aún se queda corto en cuanto a features y documentación por lo que este proyecto de jQuery Mobile ha sido esperado con ansias por muchos de nosotros.

En este link podemos encontrar un demo navegable desde un dispositivo móvil y en este otro link podemos contribuir en forma de donaciones, feedback o aportes al código fuente. Recuerden que esa es la ventaja de los proyectos open source, que es elaborado de forma libre por comunidades, para comunidades.

jQuery Mobile Al Fin!

"jQuery Mobile desde mi iPod Touch"


Llegó el momento de la verdad con el tan esperado release de jQuery para Móviles.


Por el momento aún se encuentra en versión Alpha1 por lo que no es nada más para que los interesados puedan empezar a jugar con el y mediante el feedback brindado, logren reparar los bugs, agregar features deseados y luego lanzar el release estable.

En la web existen actualmente varias librerías para desarrollar aplicaciones basadas en móviles, la mayoría emulando la bien elaborada interfaz del iOS pero sin lograrlo completamente. El que mas convencía era jQtouch, un plugin para jQuery que transforma elementos HTML en componentes de UI para móviles, pero este plugin aún se queda corto en cuanto a features y documentación por lo que este proyecto de jQuery Mobile ha sido esperado con ansias por muchos de nosotros.

En este link podemos encontrar un demo navegable desde un dispositivo móvil y en este otro link podemos contribuir en forma de donaciones, feedback o aportes al código fuente. Recuerden que esa es la ventaja de los proyectos open source, que es elaborado de forma libre por comunidades, para comunidades.

lunes, septiembre 27, 2010

PromoteJS: Mejorando las Búsquedas de Documentación Sobre Javascript

Si estás empezando en el mundo de la programación web, te diste cuenta del potencial que tiene Javascript y no puedes esperar para aprenderlo, mi recomendación en primer lugar es invertir en la compra de un buen libro y te dediques uno o dos meses a leerlo a conciencia. En segundo lugar les recomendaría aventurarse a construir un proyecto serio para poner en práctica lo aprendido con el libro.

Muchas veces no tenemos la capacidad de adquirir un buen libro o el tiempo suficiente para aprender detalladamente todo acerca de Javascript. Muchas veces nada más necesitamos un pequeño refuerzo en algún tema o recordar la sintaxis de alguna palabra clave y nos resumimos a buscar algún tutorial en Google. Lo que encontraremos en Google será algo como esto:


"Resultados de Búsqueda de Google Asociados a los Términos Javascript y Tutorial"

Como pueden ver en la captura de pantalla, Google no nos es muy útil ya que los primeros resultados de búsqueda no contienen la calidad o cantidad de información que necesitamos acerca de Javascript.

Es por ello que el equipo de JSConf creó el sitio promotejs.com. Dentro de este sitio se han dado a la tarea de promocionar el muy útil y bien elaborado tutorial de Javascript del Mozilla Developer Center y nos propone que colaboremos con la causa haciendo mención en blogs y twitter. Entre más enlaces posea, mas probabilidades hay en que aparezca en los primeros resultados de búsqueda para términos relacionados con Javascript.

"Página Principal de la Guía de Javascript de Mozilla"

Si quieres contribuir a la causa, dentro del sitio promotejs.com encontrarás el código HTML que puedes incrustar en tu blog para linkear el tutorial mediante una imagen como la de abajo. Cabe mencionar que cada vez que recargas el sitio, el código a incrustar toma aleatoriamente un tópico del tutorial, por lo que ayudas a todos los tópicos a subir en el ranking de búsquedas de Google.


JS Tutorial, JavaScript Tutorial, JavaScript Guide, Learn JavaScript JS, How To Learn JS, Learning JavaScript


Les recomiendo además agregar este tutorial de Mozilla Developer Center a sus bookmarks ya que a mi parecer está muy bien elaborado, ya sea para uso de referencia o aprendizaje Javascript desde cero.

PromoteJS: Mejorando las Búsquedas de Documentación Sobre Javascript

Si estás empezando en el mundo de la programación web, te diste cuenta del potencial que tiene Javascript y no puedes esperar para aprenderlo, mi recomendación en primer lugar es invertir en la compra de un buen libro y te dediques uno o dos meses a leerlo a conciencia. En segundo lugar les recomendaría aventurarse a construir un proyecto serio para poner en práctica lo aprendido con el libro.

Muchas veces no tenemos la capacidad de adquirir un buen libro o el tiempo suficiente para aprender detalladamente todo acerca de Javascript. Muchas veces nada más necesitamos un pequeño refuerzo en algún tema o recordar la sintaxis de alguna palabra clave y nos resumimos a buscar algún tutorial en Google. Lo que encontraremos en Google será algo como esto:


"Resultados de Búsqueda de Google Asociados a los Términos Javascript y Tutorial"

Como pueden ver en la captura de pantalla, Google no nos es muy útil ya que los primeros resultados de búsqueda no contienen la calidad o cantidad de información que necesitamos acerca de Javascript.

Es por ello que el equipo de JSConf creó el sitio promotejs.com. Dentro de este sitio se han dado a la tarea de promocionar el muy útil y bien elaborado tutorial de Javascript del Mozilla Developer Center y nos propone que colaboremos con la causa haciendo mención en blogs y twitter. Entre más enlaces posea, mas probabilidades hay en que aparezca en los primeros resultados de búsqueda para términos relacionados con Javascript.

"Página Principal de la Guía de Javascript de Mozilla"

Si quieres contribuir a la causa, dentro del sitio promotejs.com encontrarás el código HTML que puedes incrustar en tu blog para linkear el tutorial mediante una imagen como la de abajo. Cabe mencionar que cada vez que recargas el sitio, el código a incrustar toma aleatoriamente un tópico del tutorial, por lo que ayudas a todos los tópicos a subir en el ranking de búsquedas de Google.


JS Tutorial, JavaScript Tutorial, JavaScript Guide, Learn JavaScript JS, How To Learn JS, Learning JavaScript


Les recomiendo además agregar este tutorial de Mozilla Developer Center a sus bookmarks ya que a mi parecer está muy bien elaborado, ya sea para uso de referencia o aprendizaje Javascript desde cero.

viernes, agosto 27, 2010

jQuery para Móviles a la Vuelta de la Esquina

"jQuery ahora en nuestros smartphones y tablets. Yuju! :D"

Recientemente me entero que la comunidad de desarrolladores de jQuery trae entre manos un prometedor proyecto que pretende llevar este popular framework a los browsers de los dispositivos móviles y sus hermanos mayores, las tablets. Este proyecto es denominado jQuery Mobile.

En el web existen pocos frameworks de javascript capaces de considerarse cross-browser y cross-device, especialmente cuando hablamos de dispositivos móviles. El equipo de jQuery tiene un gran reto en sus manos si quiere llevar a cabo este objetivo especialmente si consideramos que jquery no sobresale por su performance pero sí por su popularidad, su robustez en sus widgets de jquery-ui y por la gran cantidad de plugins que existen para extenderlo.

En este sitio ellos han publicado la lista de los browsers que actualmente existen para dispositivos móviles, clasificados según sus capacidades de ejecutar javascript y su compatibilidad con los estándares del W3C. jQuery planea soportar los browsers clase A y B, conformados por los smartphones de alta gama como iPhone, Blackberry, Dispositivos con Android, La serie N de Nokia, entre otros.

Los diseños que están planeando para el nuevo tema de jquery-ui para móviles se me hace muy similar a la interfaz y los controles del iOS en smartphones y al look and feel del MacOS y no era de esperar, ya que estas son en lo que a mi respecta las interfaces de usuario más amigables que existen a la fecha.

"Así lucirán los widgets de jQuery UI adaptados para smartphones"

Lo que distinguirá a este framework de los demás es que desde ya va pensado no solamente para smartphones sino también para tablets. Actualmente no conozco ningún framework para desarrollo web o aplicaciones nativas pensadas exclusivamente en el diseño y las capacidades de una tablet por lo que jQuery sería el pionero y la base para el futuro mercado de tablets que en un futuro no muy lejano pasarán a competir con el iPad.

Por el momento este proyecto aún se encuentra en fase de desarrollo y prometen liberarlo a finales del presente año por lo que habrá que estar pendiente de los avances de este prometedor proyecto de jQuery. Pueden seguir todos los avances en el blog del proyecto, en la cuenta de twitter de jQuery y en la wiki de jQuery Mobile, donde además pueden aportar ideas al proyecto.

jQuery para Móviles a la Vuelta de la Esquina

"jQuery ahora en nuestros smartphones y tablets. Yuju! :D"

Recientemente me entero que la comunidad de desarrolladores de jQuery trae entre manos un prometedor proyecto que pretende llevar este popular framework a los browsers de los dispositivos móviles y sus hermanos mayores, las tablets. Este proyecto es denominado jQuery Mobile.

En el web existen pocos frameworks de javascript capaces de considerarse cross-browser y cross-device, especialmente cuando hablamos de dispositivos móviles. El equipo de jQuery tiene un gran reto en sus manos si quiere llevar a cabo este objetivo especialmente si consideramos que jquery no sobresale por su performance pero sí por su popularidad, su robustez en sus widgets de jquery-ui y por la gran cantidad de plugins que existen para extenderlo.

En este sitio ellos han publicado la lista de los browsers que actualmente existen para dispositivos móviles, clasificados según sus capacidades de ejecutar javascript y su compatibilidad con los estándares del W3C. jQuery planea soportar los browsers clase A y B, conformados por los smartphones de alta gama como iPhone, Blackberry, Dispositivos con Android, La serie N de Nokia, entre otros.

Los diseños que están planeando para el nuevo tema de jquery-ui para móviles se me hace muy similar a la interfaz y los controles del iOS en smartphones y al look and feel del MacOS y no era de esperar, ya que estas son en lo que a mi respecta las interfaces de usuario más amigables que existen a la fecha.

"Así lucirán los widgets de jQuery UI adaptados para smartphones"

Lo que distinguirá a este framework de los demás es que desde ya va pensado no solamente para smartphones sino también para tablets. Actualmente no conozco ningún framework para desarrollo web o aplicaciones nativas pensadas exclusivamente en el diseño y las capacidades de una tablet por lo que jQuery sería el pionero y la base para el futuro mercado de tablets que en un futuro no muy lejano pasarán a competir con el iPad.

Por el momento este proyecto aún se encuentra en fase de desarrollo y prometen liberarlo a finales del presente año por lo que habrá que estar pendiente de los avances de este prometedor proyecto de jQuery. Pueden seguir todos los avances en el blog del proyecto, en la cuenta de twitter de jQuery y en la wiki de jQuery Mobile, donde además pueden aportar ideas al proyecto.

miércoles, abril 21, 2010

Herramientas Online de Formato e Indentación de Código

Mas de alguna vez nos ha tocado revisar algún mensaje XML o JSON fuera de la oficina, donde no tenemos nuestras herramientas de desarrollo que tan agradablemente se encargan de formatear e indentar nuestros archivos para que podamos leerlos, analizarlos y encontrar posibles fallas en ellos. En estas ocasiones nos ha tocado manualmente estar partiendo el archivo en diferentes líneas y agregando sangrías para darle el formato adecuado y se nos vuelva más fácil su análisis

Si de casualidad nos encontramos en estas circunstancias pero tienen la bondad de contar con una conexión a Internet, pueden aprovechar algunas herramientas online que se encargan de formatear, colorear e indentar nuestros archivos de código fuente.

Hay muchos otros que no he listado acá por el hecho de que solamente colorean el código y considero mas útiles aquellos que además del syntax highlight también te agregan los respectivos espacios de tabulación.

XML:


"Captura de pantalla de xmlindent.com, formateando un xml de ejemplo (click para agrandar)"

JSON:


"Captura de pantalla de jsoneditor.net, quien te forma la estructura jerárquica de tu mensaje JSON"

Múltiples lenguajes de programación:


Cabe resaltar algunas características especiales que poseen algunas de estas herramientas como por ejemplo jsbeautifier además de formatear el código, también te lo desempaqueta cuando este ha sido generado mediante la herramienta packer, o la herramienta sqlformat que te genera un output de SQL no solamente formateado y con sintaxis coloreada sino que también te puede generar un output de SQL que generalmente colocamos en una variable String dentro de nuestro lenguaje de programación, así como lo ilustra la siguiente imagen:

"Sqlformat, indentando correctamente un procedimiento almacenado generando un output a manera de StringBuffer para ser utilizado en una clase Java (Click para agrandar)"

Algún otro que ustedes utilicen para formatear su código fuente en línea?

Herramientas Online de Formato e Indentación de Código

Mas de alguna vez nos ha tocado revisar algún mensaje XML o JSON fuera de la oficina, donde no tenemos nuestras herramientas de desarrollo que tan agradablemente se encargan de formatear e indentar nuestros archivos para que podamos leerlos, analizarlos y encontrar posibles fallas en ellos. En estas ocasiones nos ha tocado manualmente estar partiendo el archivo en diferentes líneas y agregando sangrías para darle el formato adecuado y se nos vuelva más fácil su análisis

Si de casualidad nos encontramos en estas circunstancias pero tienen la bondad de contar con una conexión a Internet, pueden aprovechar algunas herramientas online que se encargan de formatear, colorear e indentar nuestros archivos de código fuente.

Hay muchos otros que no he listado acá por el hecho de que solamente colorean el código y considero mas útiles aquellos que además del syntax highlight también te agregan los respectivos espacios de tabulación.

XML:


"Captura de pantalla de xmlindent.com, formateando un xml de ejemplo (click para agrandar)"

JSON:


"Captura de pantalla de jsoneditor.net, quien te forma la estructura jerárquica de tu mensaje JSON"

Múltiples lenguajes de programación:


Cabe resaltar algunas características especiales que poseen algunas de estas herramientas como por ejemplo jsbeautifier además de formatear el código, también te lo desempaqueta cuando este ha sido generado mediante la herramienta packer, o la herramienta sqlformat que te genera un output de SQL no solamente formateado y con sintaxis coloreada sino que también te puede generar un output de SQL que generalmente colocamos en una variable String dentro de nuestro lenguaje de programación, así como lo ilustra la siguiente imagen:

"Sqlformat, indentando correctamente un procedimiento almacenado generando un output a manera de StringBuffer para ser utilizado en una clase Java (Click para agrandar)"

Algún otro que ustedes utilicen para formatear su código fuente en línea?

miércoles, abril 07, 2010

Aprendiendo a usar Canvas en HTML5

HTML5, la nueva versión del lenguaje de marcado para crear páginas web está ya soportado por los últimos navegadores. Esta nueva versión trae muchas novedades a la web y características especiales que antes solo era posible llevarlas a cabo usando Flash. Entre los tags más mencionados son el tag Vídeo, para incrustar y reproducir vídeos nativamente sin necesidad de Flash y el tag Canvas que permite crear y animar gráficos 2D y hasta 3D de forma nativa.

En este artículo demostraremos el uso del tag Canvas, realizando dibujos y un mini paint utilizando CSS y Javascript.

Antes de empezar, cabe mencionar que por el momento no todos los navegadores soportan todas las características de HTML5. Por ejemplo, Internet Explorer es de los que aún no soportan el tag Canvas y por lo tanto no podrán apreciar el demo de canvas que hemos publicado en este post. A continuación una tabla comparativa mostrando las características de HTML5 que soporta cada navegador a la fecha:


"Tabla comparativa mostrando las características de HTML5 soportadas por cada navegador"

Primeramente, debemos crear nuestra página HTML con su respectivo body dentro del cual debemos ubicar nuestro tag Canvas. Este tag no requiere atributos especiales mas que su height y width. Entre la apertura y cierre del tag Canvas puedes incluir cualquier otro contenido HTML el cual le será mostrado al usuario si este utiliza un navegador que no soporte el tag. Esto puede servir como un espacio para mostrar un mensaje indicando la falta de soporte por falta del navegador. También es útil asignarle un ID a dicho tag, para luego poder identificarlo al momento de manipularlo desde Javascript:


"Código HTML mostrando el tag Canvas y algunos de sus atributos"

Una vez que tienes el tag, es hora de manipularlo desde Javascript! empecemos por obtener el Context, el cual es el objeto que posee los métodos para dibujar dentro del canvas. Entre estos métodos se encuentran fillFect(), arc(), moveTo(), stroke(), etc. Este objeto Context además tiene una propiedad llamada fillStyle con la cual puedes definirle el color en formato rgb o rgba con el cual se realizarán los trazos.



"Código Javascript obteniendo el objeto Context asociado al objeto DOM Canvas para luego establecer un color vía RGB y pintar un rectángulo"


A continuación mostramos dos ejemplos un poco más elaborados. En el primero, mostramos cómo dibujar una cara feliz y en el segundo cómo asociar los eventos del ratón para pintar sobre el canvas por medio del click. Para ello utilizamos la aplicación web jsFiddle que te permite incrustar HTML, CSS y Javascript al mismo tiempo que se puede apreciar el resultado de dicho código. Además se hace uso de jQuery para simplificar el acceso al objeto DOM Canvas:



"Código HTML, CSS y Javascript para dibujar una cara feliz en el Canvas. Clic en el tab Result para ver el resultado"



"Código HTML, CSS y Javascript para crear una superficie de dibujo en la cual se pinta un cuadro negro por cada clic del ratón. Clic en el tab Result para ver e interactuar con el resultado"

En este link pueden probar Sketchpad, un ejemplo mucho más elaborado de una aplicación web simulando las características de paint.

También en el Mozilla Developer Center pueden encontrar más información y tutoriales sobre el tag canvas y el resto de características HTML5 actualmente soportadas por Mozilla Firefox.

En mi opinión personal, HTML5 permitirá sustituir Flash en un futuro no muy lejano por lo menos en las características que antes solían verse en páginas web como animaciones, reproducción de medios y videojuegos en línea. Es importante aprender desde ya lo que se puede hacer con él y así estar preparados para un futuro en el que este estándar sea utilizado por la mayoría de sitios y la crezca demanda de programadores con dichos conocimientos.

Aprendiendo a usar Canvas en HTML5

HTML5, la nueva versión del lenguaje de marcado para crear páginas web está ya soportado por los últimos navegadores. Esta nueva versión trae muchas novedades a la web y características especiales que antes solo era posible llevarlas a cabo usando Flash. Entre los tags más mencionados son el tag Vídeo, para incrustar y reproducir vídeos nativamente sin necesidad de Flash y el tag Canvas que permite crear y animar gráficos 2D y hasta 3D de forma nativa.

En este artículo demostraremos el uso del tag Canvas, realizando dibujos y un mini paint utilizando CSS y Javascript.

Antes de empezar, cabe mencionar que por el momento no todos los navegadores soportan todas las características de HTML5. Por ejemplo, Internet Explorer es de los que aún no soportan el tag Canvas y por lo tanto no podrán apreciar el demo de canvas que hemos publicado en este post. A continuación una tabla comparativa mostrando las características de HTML5 que soporta cada navegador a la fecha:


"Tabla comparativa mostrando las características de HTML5 soportadas por cada navegador"

Primeramente, debemos crear nuestra página HTML con su respectivo body dentro del cual debemos ubicar nuestro tag Canvas. Este tag no requiere atributos especiales mas que su height y width. Entre la apertura y cierre del tag Canvas puedes incluir cualquier otro contenido HTML el cual le será mostrado al usuario si este utiliza un navegador que no soporte el tag. Esto puede servir como un espacio para mostrar un mensaje indicando la falta de soporte por falta del navegador. También es útil asignarle un ID a dicho tag, para luego poder identificarlo al momento de manipularlo desde Javascript:


"Código HTML mostrando el tag Canvas y algunos de sus atributos"

Una vez que tienes el tag, es hora de manipularlo desde Javascript! empecemos por obtener el Context, el cual es el objeto que posee los métodos para dibujar dentro del canvas. Entre estos métodos se encuentran fillFect(), arc(), moveTo(), stroke(), etc. Este objeto Context además tiene una propiedad llamada fillStyle con la cual puedes definirle el color en formato rgb o rgba con el cual se realizarán los trazos.



"Código Javascript obteniendo el objeto Context asociado al objeto DOM Canvas para luego establecer un color vía RGB y pintar un rectángulo"


A continuación mostramos dos ejemplos un poco más elaborados. En el primero, mostramos cómo dibujar una cara feliz y en el segundo cómo asociar los eventos del ratón para pintar sobre el canvas por medio del click. Para ello utilizamos la aplicación web jsFiddle que te permite incrustar HTML, CSS y Javascript al mismo tiempo que se puede apreciar el resultado de dicho código. Además se hace uso de jQuery para simplificar el acceso al objeto DOM Canvas:



"Código HTML, CSS y Javascript para dibujar una cara feliz en el Canvas. Clic en el tab Result para ver el resultado"



"Código HTML, CSS y Javascript para crear una superficie de dibujo en la cual se pinta un cuadro negro por cada clic del ratón. Clic en el tab Result para ver e interactuar con el resultado"

En este link pueden probar Sketchpad, un ejemplo mucho más elaborado de una aplicación web simulando las características de paint.

También en el Mozilla Developer Center pueden encontrar más información y tutoriales sobre el tag canvas y el resto de características HTML5 actualmente soportadas por Mozilla Firefox.

En mi opinión personal, HTML5 permitirá sustituir Flash en un futuro no muy lejano por lo menos en las características que antes solían verse en páginas web como animaciones, reproducción de medios y videojuegos en línea. Es importante aprender desde ya lo que se puede hacer con él y así estar preparados para un futuro en el que este estándar sea utilizado por la mayoría de sitios y la crezca demanda de programadores con dichos conocimientos.

viernes, febrero 12, 2010

Porque no hay (y no habrá) Flash para el iPhone?

"Este es el mensaje que te aparece al navegar al sitio get.adobe.com/flashplayer informándote que no existe una plugin disponible para tu dispositivo"


Leyendo el articulo de GadgetLab me he dado cuenta de muchas razones sólidas por las cuales Apple no permite que se puedan ejecutar aplicaciones Flash en su navegador Safari para el iPhone ni mucho menos como aplicaciones nativas del iPhone/iPod Touch. En si, estas razones se pueden resumir de la siguiente manera:

  • Pérdida de la exclusividad, calidad en el diseño y usabilidad de las aplicaciones
  • No mas necesidad de una App Store centralizada y amarrada a iTunes
  • No mas restricciones ni espera por aprobacion de aplicaciones
  • Baja significativa en el rendimiento y duracion de la bateria
  • Posibles vulnerabilidades del player de Adobe que pudieran servir para hackear el aparato.


Esto demuestra que la falta de Flash no fue nada mas algo que Apple pasó por alto sino que fue una decisión premeditada. Ellos diseñaron el browser del aparato para que no fuera capaz de ejecutar este plugin y sus razones son sólidas. Esto y las
últimas declaraciones de Steve Jobs nos indican que no debemos esperar que Apple esté trabajando en un próximo lanzamiento de Flash para el iPhone.

Adobe Flash es actualmente utilizado en tres areas principales del web: reproductores de video, juegos online y sitios web con interfaces ricas. Estas caracteristicas se estan volviendo cada vez menos necesarias con el avance de otras tecnologias alternas que se estan volvieno un estandar en la web, por lo cual la necesidad de Flash decrece con el tiempo. Veamos algunos ejemplos:

Reproductores de Video: Con la llegada de HTML5 y sus implementaciones nativas de tags como [canvas] y [video], pueda que en un futuro ya no sea necesario utilizar Flash para realizar streamings de multimedia o para juegos online. Tanto la gente de Youtube como los de Vimeo han lanzado ya sus versiones de video players usando tags [video] para browsers que ya poseen soporte para este nuevo standard del HTML.

Asumo que Apple optará en un futuro cercano por agregar soporte completo a las features de HTML5 en el mobile Safari mientras que los sitios que actualmente poseen aplicaciones Flash, las portarán a este nuevo standard, dejándolo de lado.

"Código fuente de un vídeo de Youtube mostrando el tag [video]"

Juegos online: Aceptémoslo. El iPhone y el iPod Touch se estan convirtiendo en una plataforma de juegos capaz de competir con el PSP y el Nintendo DSi, quiza no tanto en calidad y complejidad pero sí en popularidad. De hecho, al momento de escribir este post, leo un artículo que indica que el iPhone se esta volviendo mas popular entre los desarrolladores de videojuegos por encima del Sony PSP y el Nintendo DSi. Es un fenómeno similar al que ocurrió entre el Nintendo Wii y el Sony PS3 en el cual, aunque el segundo tuviera mucho mejor hardware, el primero se volvió mas popular gracias a su simplicidad.



"NFS Undercover para iPhone. Uno de los juegos que mejor demuestra la capacidad que tiene este dispositivo como consola de videojuegos"


Sitios web con interfaces ricas: Antes Flash era la única alternativa para crear sitios web vistosos, con controles ricos y animaciones presentando una agradable experiencia de usuario con un framework bastante fácil de usar para los desarrolladores y diseñadores, permitiendo integrar la capacidad de Flash para crear animaciones basadas en fotogramas y lineas de tiempo, la galeria de controles ricos y el lenguaje de programación ActionScript. Hoy en día hoteles, restaurantes, sitios que promueven peliculas de cine y artistas musicales aun siguen usando Flash para darle vistosidad a sus sitios pero cada vez son mas los que prefieren optar por realizar estos mismos efectos usando nada mas que frameworks Javascript y todas las facilidades que ofrecen los web browsers modernos permitiendo una mejor integración de sus interfaces con servicios del lado del servidor y gastando mucho menos recursos en el cliente, ya que los sitios Flash tienen la caracteristica de consumir gran cantidad de ancho de banda y memoria además de no estar apegado a los estandares del W3C.

Hoy en día vemos que es mucho más conveniente hacer uso de librerías Javascript como Scriptaculous, jQuery o Dojo para interfaces ricas y animadas en lugar de Flash y aun más sabiendo lo que podremos hacer en un futuro cuando HTML5 sea un estandar popular en el web.

Debido a esto, la necesidad de un usuario por tener Flash en su navegador va desapareciendo segun va avanzando el desarrollo de las tecnologías alternas como HTML5 y las iPhone Apps, que como vimos, pueden reemplazar a Flash para las tareas en las cuales usualmente hacíamos uso de este. Por ello concluimos que esta es la razón por la cual los de Apple han decidido no incluir un plugin Flash en su navegador Safari y en su lugar, esperará que su App Store siga creciendo, ofreciendo una gran variedad de videojuegos a sus usuarios, así como también esperan que los desarrolladores se decidan de una vez por todas a reemplazar a Flash por animaciones e interfaces hechas con frameworks Javascript para así desaparecer casi por completo la necesidad de Flash.

Sunsetting Sr. Byte.

El Sr. Byte ha estado más de 5 años inactivo. Digamos que estaba en " code freeze ". Pero ahora es el último release. Quizas no...