La importancia de JavaScript


Tengo algunos años desarrollando páginas y aplicaciones web y debo reconocer que he al día de hoy he aprendido bastante. No porque sepa mucho, sino porque antes ignoraba más. Mis primeros pasos con JavaScript fueron para verificar si un campo estaba vacío o no, o para bloquear un campo, pero ignoraba todo el poder que existe detrás de ese “pequeño” lenguaje.

Hoy en día cualquier sitio en internet tiene que hacer uso de este lenguaje para crear entornos dinámicos y llamativos, lo cual me llevó a intentar como por tercera vez aprender más sobre el lenguaje y un buen framework que me facilitara la vida (la programación pues).

Recientemente me ha entusiasmado jQuery… que para los que no saben, es un framework de JavaScript para hacer más, con menos código. Sé que hay muchos otros (como MooTools), pero este me ha parecido más sencillo, al menos eso creo. Después de engancharme con jQuery, decidí conocer más a fondo el lenguaje JavaScript porque veo que BIEN PROGRAMADO, se convierte en un lenguaje muy potente.

Yo soy algo limitado con respecto al inglés, por lo cual me ha costado avanzar a pasos agigantados, pero hace meses encontré un sitio bastante útil de una persona que considero UN MASTER en el conocimiento de este lenguaje, y lo mejor, su sitio está totalmente en español.

Estoy hablando de Carlos Benítez, del sitio EtnasSoft. Te invito a leer su sitio que está lleno de muchos recursos grandiosos a disposición de quienes quieran mejorar sus conocimientos de JavaScript, MySQL y PHP entre otros. También puedes seguirlo en su cuenta de twitter @EtnasSoft….

Espero que esta información pueda serte útil en tu formación como programador. Saludos.

Anuncios

Plugin jQuery: Super Validación


No sé si alguno recordará que hace tiempo trabaje en una función javascript para validar formularios… su código era un total desastre, pero eso sí, funcionaba bien. Tanto es así, que en su repositorio de google code habían alrededor de 120 descargas.

Sucede que ahora la he portado a un plugin de jQuery, y le he hecho mejoras. Es muy común (e indispensable) hoy en día utilizar jQuery en cualquier proyecto web para ampliar las capacidades de la interfaz de usuario, por lo cual se hace conveniente este cambio que permite obtener un código más limpio y flexible gracias a la cantidad y potencia de los selectores que permite este maravilloso framework.

La nueva versión tiene un peso hasta los momentos de 8kb, claro, hay que agregar los 92kb que pesa jQuery, y que van aproximadamente más de 100 líneas con respecto al código original. Sin embargo, el plugin posee una estructura más organizada y limpia, y posee nuevas características como el manejo del input-checkbox y la regla obligatorio-condicional que permiten requerir un campo basado en el valor de otro campo.

Próximamente estaré actualizando este post con la intención de publicar el plugin, pero antes debo hacerle algunas pruebas más y elaborar un archivo pdf con la documentación básica para el funcionamiento. Espero que sea de utilidad para alguna persona. Yo lo acabo de utilizar en un proyecto.

Actualización (24/02/2012): Agrego una captura de cómo implementar el plugin, donde se puede apreciar que acepta el parámetro trim para especificar que se eliminarán los espacios en blanco al inicio y al final de cada campo. También se puede observar que tenemos callback para cuando un campo no pasa la validación (onError) o cuando se va a enviar el form porque los campos son correctos (onSuccess). En el caso del primero (onError) podríamos aplicarle algún efecto al elemento en cuestión, y en el caso del segundo (onSuccess) podríamos detener el submit para hacer el envío por AJAX.

supervalidacion

Solucionando problema de instalación del SDK Android en Win 7 64Bits


Al ejecutar el instalador del SDK de Android sobre Windows 7 64 Bits nos aparece un error indicando que no se puede determinar la ruta del JDK (Java Development Kit). A continuación una imagen del error:

jdk_not_found

Se me ocurrió descargar el SDK de Android en .zip para evitarme el inconveniente con el instalador, pero no logré que iniciaran las utilidades que trae el paquete. Asumiendo que verdaderamente el problema estaba en la ruta al JDK (y no en el instalador), me dediqué a explorar en la red si alguien había dado con la solución pero la que encontré no me resultaba, que simplemente consistía en darle al botón Back y luego Next nuevamente, ya que la segunda vez el instalador si detectaría la ubicación de JAVA.

Como se puede apreciar en la imagen, al final de la ventana se sugiere establecer una variable JAVA_HOME con la ruta correcta del JDK. La solución es simple… Haciendo click derecho sobre Equipo y seleccionando Propiedades, se abre una ventana con información sobre el sistema, donde seleccionaremos la opción Configuración avanzada del sistema, que se encuentra del lado izquierdo, tal como se muestra en la imagen.

propiedades

Se abrirá otra ventana de opciones avanzadas, donde haremos click en Variables de entorno.

variables

En la siguiente ventana iremos a la sección Variables del sistema, y haremos click en Nueva.

variables_detalle

En este último paso, colocaremos como nombre de la variable JAVA_HOME y como valor, la ruta de nuestro JDK, que en mi caso era: C:\Program Files\Java\jdk1.7.0_04

variable_nueva

Para finalizar, damos click en Aceptar de cada una de las ventanas que hemos abierto, y luego volvemos a iniciar el instalador del SDK de Android, o en caso de haber descargado el .zip, simplemente se ejecutan las utilidades que ya deberían funcionar sin ningún problema.

Extensión para Publicar en Diaspora


(30/03/2011) El día de hoy estuve programando una extensión de google chrome que permite publicar la página que estamos viendo en Diaspora.  Su funcionamiento es simple, hacemos click al ícono y se abre el formulario para publicar la información en Diaspora.

(01/04/2011) He creado una sección específicamente para colocar las actualizaciones de la extensión.  Accede con el siguiente enlace https://soycodigo.wordpress.com/diaspost/

Alternativas para las Estructuras If, For y While


PHP nos ofrece alternativas para eliminar las llaves de inicio y fin de bloque en las estructuras If, For y While.  El cambio consiste en colocar dos puntos al final de la línea donde se especifica la condición, y se finaliza el bloque con la misma palabra de la estructura en cuestión, pero antecededida por el prefijo “end”.

Estructura Alterna del if:

if alternativo en php

En este caso notamos que en la línea 3 (donde está la condición del if) se colocan los dos puntos al final.  La estructura finaliza con la palabra clave endif, y por supuesto, con un punto y coma.  También cambia la forma de implementar un else (caso contrario), al que también se le coloca un punto y coma al final de la línea.

 

Estructura Alterna del for:

estructura alterna del for en php

Aquí debemos fijarnos en las líneas 4 y 7.  Tal como se plantea arriba, se colocan los dos puntos al final de la línea donde configuramos el for, y luego de incluir las intrucciones que pertenecen a las iteraciones del for, se finaliza la estructura con la palabra clave endfor y un punto y coma.

 

Estructura Alterna del while:

estructura alternativa del while en php

Las líneas 3 y 13 son las de inicio y fin de while, por lo cual son las que manifiestan cambios.  Al igual que en las otras estructuras, la línea de inicio del while termina con dos puntos, y la del final con la palabra clave endwhile, con su respectivo punto y coma.

Si quieres descargar estos archivos, haz click aquí

Mi Propia Función para Validar Formularios con JavaScript


Me gusta programar muchísimo con PHP, XHTML, JavaScript y CSS, pero siempre lo repetitivo se hace fastidioso, debido a que el hecho de que sepamos cómo hacer algo no implica que se haga solo. Yo de JS sé lo básico y suficiente para validar un formulario, así que me dediqué al a tarea de crear una implementación que me ahorre el trabajo.

 

Aquí una vista del formulario desde Firefox 4

 

El código de la función y un archivo html que muestra como implementarlo se pueden descargar desde el sitio en Google Code… Luego que tenga tiempo arreglo la documentación para esta versión y la subo.

Sitio Oficial: https://code.google.com/p/supervalidacion/

 

Mi propia libería gráfica con PHP y GD


Recientemente estuve trabajando en el desarrollo de un sistema que requería gráficas de barras en los reportes. Fue un poco complicado mezclar las imágenes dinámicas con los PDFs generados con TCPDF. Tuvimos que recurrir a una especie de HACK para conseguir el objetivo. Después de acoplar la imagen, surgió el problema de que la gráfica no cumplía con las exigencias. Entre otras cosas, no permitía definir el intervalo de los valores del eje Y. Gran problema porque yo necesitaba que todos los valores del eje Y fueran enteros, y en todas me salían con decimales. También tenía problemas con las leyendas. En fin, probé muchísimos recursos por internet, pero ninguno estaba completo.

Revisé los códigos para refrescar un poco en mi mente las instrucciones de GD que hace mucho no utilizaba, y empecé a trabajar en mi propia clase. De momento solo trabaja con gráficos de barras, y es muy sencilla de implementar. Permite lo necesario: agregar los nombres y los valores de las categorías, el alto y el ancho del gráfico, el rango de valores del eje Y, y el intervalo en que se incrementarán esos valores. Si no se asigna el rango de valores del eje Y, la clase calcula los valores necesarios. La parte funcional ya está lista, ahora me toca mejorar el gráfico, y luego de hacerle varias pruebas completas compartirlo con la comunidad.

Dejo un captura para que vean como está quedando el trabajo. El aspecto gráfico todavía requiere más dedicación, pero considerando que solo me tomó algunas horas crear la clase, me parece aceptable. Hagan click en las imágenes para verlas en tamaño y colores reales.

Código necesario para generar el gráfico

Solo pocas líneas de código crean este gráfico