Después de varios años impartiendo cursos de diseño web y programación me di cuenta que había unas preguntas que se repetían al finalizar el curso. ¿Y ahora que estudio?, ¿Por dónde sigo?, ¿Que me recomiendas que aprenda ahora?
Bien, en este articulo me gustaría explicar que tecnologías tendría que manejar un desarrollador web.
En primer lugar quiero destacar que según se van dominando tecnologías vas adquiriendo un perfil determinado que irá cambiando conforme aumentes conocimientos.
Primeros pasos las artes gráficas.
Si pretendes ser un diseñador web completo, creo que lo primero que tienes que aprender a dominar son los programas de diseño gráfico. No hace falta conocerlos todos, tal vez con un par de ellos sea suficiente, pero habrá que manejarlos muy bien, la herramienta nunca debe de ser un obstáculo, cuando esto no es así habrá ocasiones en las que se nos ocurra una idea y luego resulte que no sabemos plasmarla a nivel gráfico, no podemos dibujarla porque no dominamos la herramienta y esto nos limitara nuestra creatividad.
Los programas que recomiendo son Photoshop y Fireworks, si dominas Illustrator o Freehand mucho mejor pero no son imprescindibles.
Una vez dominamos la herramienta el siguiente paso es desarrollar la creatividad, realmente este paso debe de estar latente durante toda nuestra carrera, siempre hay que estar pendientes de las nuevas tendencias, de coger ideas de otros sitios (Ojo, no copiarlas), con el tiempo nuestros diseños ganaran en gusto, no debéis desanimaros por que los primeros diseños no sean lo mejor del mundo, tendríais que ver mi primera pagina web.
Después de aprender y practicar estas herramientas más una desarrollada creatividad te podrías considerar un diseñador grafico para web. No confundir con un diseñador grafico que domina multitud de herramientas de diseño y que normalmente ha estudiado artes graficas y sabe y aplica perfectamente todas las reglas del diseño, pero esto ya es otra película.
Maquetación
El siguiente paso es aprender a maquetar, la maquetación consiste en coger un diseño grafico y por medio de código xHTML y CSS convertirlo en una página web. Por lo tanto aquí donde hay que hacer hincapié es en aprender estas dos tecnologías.
Aquí nos empezamos a adentrar en el mundo del código y la programación con dos lenguajes que son fáciles y que nos servirán para iniciarnos poco a poco.
Aquí me gustaría aclara una cosa, si queremos ser unos buenos desarrolladores web tenemos que evitar utilizar únicamente las herramientas de diseño de Dreamwever que nos escribe automáticamente el código xHtml y Css, yo recomiendo hacerlo nosotros, apoyándonos en esta herramienta para casos puntuales. Como dice el refrán esto es pan para hoy y hambre para mañana.
En este paso tenemos que aprender también cómo subir una web a internet, que es y cómo se contrata un dominio y un alojamiento o familiarizarnos con el panel de control del servidor.
Respecto al software que debemos conocer para maquetar recomendaría Dreamweaver pero en realidad se podría programar con el block de notas. Luego para tratar con el servidor nos podría valer Filezilla que es bueno, bonito y barato(es gratis).
A partir de este punto podemos considerarnos diseñadores web aunque hasta ahora solo sabemos hacer páginas webs estáticas, que muestran imágenes y textos con un mejor o peor diseño pero que no interactúan con el usuario.
JavaScript y sus Frameworks
Para dotar a las páginas estáticas de interacción una de las soluciones que tenemos es JavaScript, es un lenguaje del lado cliente no muy complejo y que además no es muy estricto.
Este lenguaje nos ayudara a entender los fundamentos de la programación (Variables, condicionales, bucles, arrays, etc…), esto es muy importante aprenderlo ya que será la base en la que nos apoyemos para programar en cualquier lenguaje, si dominas las técnicas de programación te será más fácil aprender a programar en cualquier lenguaje.
Hoy día existen multitud de frameworks o librerías para JavaScript, esto no es más que un conjunto de funciones que facilitan el trabajo con este lenguaje dotándolo además de nuevas funcionalidades. En la actualidad casi no utilizo JavaScript nativo, todo lo que hago es con jQuery uno de los frameworks mas utilizados.
Al conocer estas nuevas tecnologías puedes considerarte un diseñador web avanzado.
Lenguajes del lado del servidor
Este paso puede ser al que más tiempo le dediques, hay mucho trabajo por delante y debes de dominar perfectamente la maquetación para continuar.
Un lenguaje del lado servidor es aquel que se ejecuta en el servidor y no en el cliente (máquina del usuario) como ocurría con JavaScript, tenemos varios lenguajes a elegir poco a poco podemos ir aprendiendo cada uno, pero yo me intentaría especializar en uno y conocer los demás.
Tal vez el más difundido y el más demandado sea PHP, aunque las grandes empresas suelen trabajar con ASP.NET o Java.
Conocer alguno de estos lenguajes es lo que nos va a permitir dotar a nuestras páginas webs de mucha más funcionalidad, pudiendo crear tiendas virtuales, gestores de contenido, Redes sociales o cualquier otra cosa que se nos ocurra. En realidad ya no serian páginas web sino aplicaciones web.
El problema es que en este punto no vale con conocer solo PHP o ASP.NET, también tenemos que saber cómo funciona una base de datos, como crearlas y como relacionarlas, tenemos que conocer SQL que es el lenguaje para comunicarnos con la base de datos. Al igual que hay varios tipos de lenguaje de lado servidor también hay varios tipos de Bases de datos, MySQL, SQL Server, Oracle, etc. Y tenemos que saber cómo trabajar con ellas, por supuesto no hay que conocerlas todas, yo normalmente suelo trabajar con PHP y MySQL.
Si has dominado JavaScript o JQuery ahora podrás trabajar con la tecnología Ajax pudiendo realizar de esta manera comunicaciones asíncronas con el servidor (Sin refrescar la pantalla cada vez que muestres nuevos datos)
Llegados a este punto seguro que has ido aprendiendo muchas más cosas de las que cuento en este articulo, como XML o Json, ya que muchos libros o cursos lo incluyen como complemento. Sabrás crear servidores virtuales locales (WAMP) y diferenciaras que lenguajes funcionan en Linux o en Windows.
Tu perfil pasa de ser un diseñador web avanzado a un desarrollador/programador web.
Flash y ActionScript
Aunque no es imprescindible conocer flash si es sumamente recomendable. En flash tienes dos niveles, puedes ser un diseñador flash o un programador flash, el primero solo utiliza gráficos e imágenes que va moviendo en una línea de tiempo formando con ello presentaciones, banners o incluso páginas webs realizadas íntegramente en flash con un poco de código.
El programador en flash domina a la perfección ActionScript, actualmente en su versión 3.0 aunque todavía hay muchos que utilizan la versión anterior 2.0. Con esto se pueden realizar aplicaciones mucho más complejas y espectaculares.
El momento de formarse en flash puede variar según los gustos o necesidades, no tiene por qué seguir este orden, aunque para el nivel programador es imprescindible conocer lenguajes de lado servidor (php, asp.NET, etc) para comunicarte con bases de datos.
Gestores de contenidos Open Source.
Hoy en día tenemos una serie de plataformas que nos ayudaran a crear una página web en cuestión de minutos, conocer como instalarlas, configurarlas y personalizarlas, puede hacer que nuestro trabajo sea mucho más cómodo y fácil.
Os dejo una relación de plataformas y sus aplicaciones.
Gestores de contenido.
Blog’s
Tiendas Online.
- Oscommerce
- Prestashop
- Magento
Aulas Virtuales
Hay muchas más pero estas son de las más famosas. Estas plataformas están programadas en PHP por lo que es necesario conocer dicho lenguaje para poderlas modificar y personalizar en profundidad, lo que sí es imprescindible es saber maquetar (xHtml y CSS) para crear nuevas plantillas o realizar cambios en el diseño.
Por otro lado si no necesitamos cambiar el diseño ni ninguna funcionalidad, nos vale seguir el manual de instalación de la plataforma para poder trabajar con ella, suele haber muchas plantillas con diseños muy logrados para todas ellas.
Posicionamiento en buscadores (SEO)
Para complementar nuestra formación sería muy recomendable aprender las distintas técnicas de posicionamiento en buscadores que existen, esto nos proporcionara un nuevo campo de trabajo y nuevos ingresos.
Conocer como optimizar una página web para que sea amigable para los buscadores, que acciones favorecen que una página este mejor posicionada, implantar estadísticas y saber interpretarlas o dar de alta en google u otros directorios una web son algunas de las muchas cosas de deberías aprender.
El futuro que ya está aquí.
La demanda de programadores para aplicaciones iPhone o Android es ya una realidad, las aplicaciones RIA (Rich Internet Applications) están en auge o el novedoso HTML5 y CSS3 que prometen maravillas, son algunas de las tecnologías a tener en cuenta.
Reflexiones
Para cualquiera que lea este articulo puede pensar que son muchas y variadas las tecnologías que hay que aprender para dedicarse a esto. Pero no tiene por qué ser así, puedes ser programador y no tener idea de diseño grafico, ten en cuenta que en muchas empresas te encontraras con un equipo de desarrollo en el que cada uno puede interpretar un perfil de los expuestos aquí.
Tienes que saber que esto es una carrera de largo recorrido, que cuando aprendes algo hay que practicarlo hasta dominarlo por completo, recuerdo cómo iba cambiando mi pagina web personal, creándola de nuevo con cada una de las tecnologías que iba aprendiendo. Cada tecnología ira complementándose con otras y cada vez será más sencillo aprender, pero debes de ser constante y paciente, no te adelantes asienta tus conocimientos y solo entonces da un paso más, no aprendas en paralelo varias tecnologías, ve una a una.
Espero que este articulo te ayude a seguir tu camino teniendo en cuenta que este nunca debe de terminar, el aprendizaje debe de ser constante y tu curiosidad por las nuevas tecnologías nunca debe decaer, sigue los blogs que marcan tendencias y que la fuerza te acompañe…