miércoles, 25 de mayo de 2016

Que es SVG y como usarlo en paginas web

SVG es un formato de imagen para dibujos vectoriales, el mismo tipos de archivos que usan los diseñadores gráficos con Adobe Illustrador.  Gracias a los nuevos estandares web podemos usar este tipo de formatos de imagen y aprovechar todos los beneficios.

Beneficios

  • Tamaño de archivo muy pequeño y comprimido
  • La image se puede ver perfectamente en cualquier resolución de pantalla ya que puede ser escalado sin problemas, pudiendo verse perfecto en resoluciones retina display.
  • Tamaño del archivo reducido.


Normalmente ese tipo de archivos son creados con alguna herramienta de dibujos vectoriales como Adobe Illustrador. Ahora mismo existen muchos editores online de SVG donde puedes crearlos y editarlos.

Independientemente de la herramientas uses, tu puedes usar un SVG de 2 maneras:


  1. Con un archivo físico con la extensión .svg
  2. O con el codigo SVG que es similar a este:
Con cualquiera de los 2 puedes trabajar.  Para usar el SVG solo tienes que usar la etiqueta img como con cualquier imagen normal y con CSS puedes controlar el tamaño. Ejemplo:


Tambien puedes usar un SVG como fondo de un elemento con CSS.

.container {
    width: 100px;
    height: 82px;
    background: url(yourFile.svg);
}

También otra opciones es usar la etiqueta “object”. Ejemplo:


<object type="image/svg+xml" data="namefile.svg">Your browser does not support SVGs</object>

Usando el código SVG


Descarga el Siguiente archivo:


Después abre el archivo con tu editor de texto, por ejemplo yo estoy usando sublime text, cuando abras el archivo verás el código SVG que crea la imagen. Este código lo puedes copiar y pegar directamente en un archivo HTML y verás como el SVG aparece, El navegador lo cargara automáticamente.

Los archivos SVG pueden ser optimizados ya que como puedes ver en el código del archivo del “Che.svg” hay muchas etiquetas adicionales. Puedes usar la siguiente herramienta para esto.


También puedes dar estilo individualmente a cada elemento del SVG, tan solo tienes que asignar clases para poder dar tus estilos. Ten en cuenta que para dar estilo a los SVG tienes que usar propiedades CSS especiales para ellos, los cuales tienes que buscar en google por ejemplo.



Si quieres conocer un poco más en detalle cada elemento dentro del SVG tag , te sugiero que visites este link:



Adicionalmente esta tabla te ayudará a entender lo que puedes hacer con los SVG dependiendo la manera en como lo insertes en tu página web.



Lo que puedes hacer
Object
Inline
Img
Background-image
CSS Manipulation
Yes
Yes
Some inline
Some inline
JS Manipulation
Yes
Yes
No
No
SVG Animation
Yes
Yes
Yes
Yes
Interactive SVG Animation
Yes
Yes
No
No

Usando Javascript con SVG


También podemos manipular los SVG con javascript como lo haríamos con un objeto normal HTML, podemos usar javascript puro o jquery para esto. En el siguiente ejemplo que encontre internet puedes ver cómo se selecciona el elemento y después se cambia su propiedad “fill”.



Si quieres una manipulación más avanzada con los SVG te recomienzo las siguientes librarias:



Habiendo escrito todo lo anterior, Deberías de ir considerando de usar svg en todos tus iconos y logos de tus proyectos web. Si por alguna razon aun no estas convencido visita este link :

http://talks.brennaobrien.com/svg/#/


links






domingo, 1 de mayo de 2016

¿ Por qué como programador web debes saber que son las metodologías ágiles ?

Como desarrollador web debes de saber lo que significa : “Desarrollo de proyectos ágiles”,  Por que construir software no es como construir carros o casas.

El “Desarrollo de proyectos ágiles” es básicamente un conjunto de técnicas  que te ayudarán a crear  software de manera rápida y ordenada, evitando muchos problemas como por ejemplo entregar un producto que tu cliente no quiere.

Normalmente si no utilizas ninguna metodología ágil en tus proyectos lo que estás haciendo en un ciclo de vida en “cascada”.  El ciclo de vida en cascada se componente por lo general de : Requisitos , análisis , diseño , evaluación, ect.  se realizan (en teoría) de manera lineal, una única vez, y el inicio de una fase no comienza hasta que termina la fase anterior.

Su principal problema viene de que no deja claro cómo responder cuando el resultado de una fase no es el esperado. Por ejemplo ya llevas 4 meses programando y después viene el cliente y te dice que ahora los requisitos han cambiado por el mercado lo demanda. ¿ Que harias ? Seguramente comenzar todo el proceso de nuevo.



Para evitar esto las metodologías ágiles recomienzan dividir este proceso en pequeños ciclos.  Para que tengas una mejor idea mira el siguiente video.




Después de ver el siguiente video seguramente ya tienes una idea sobre lo que se puede lograr con las metodologías ágiles.  No esta demas decirte que todas las grandes compañías del mundo ya implementan estas metodologías y tu debes saber por lo menos que son.

Si siguiente video es un resumen muy bueno sobre todo esto de agilidad de proyectos, el cual te dara una vision general sobre todo este mundo. El video es una presentacion de Javier Garzás un tipo realmente muy buen en este tema.




Si despues de ver este video quieres aprender sobre este tema yo te recomiendo un curso muy bueno en https://miriadax.net/ , aunque este sitio no es el único en donde puedes aprender, una rápida búsqueda en google te dara multiples opciones.

El link del curso : Agilidad y Lean. Gestionando los proyectos y negocios


Te aseguro que aprender esto te ayudara muchísimo en tu vida laboral.