Saltar al contenido

10 cosas que todo buen desarrollador web debe saber (una lista de verificación) | Blog de Jon Raasch

Lo que más me gusta del desarrollo web es la amplia variedad de habilidades que utiliza. Ser un buen desarrollador significa mantenerse alerta y siempre aprendiendo, porque hay muchas habilidades importantes que cambian constantemente.

Aquí hay una lista de verificación de 10 habilidades que son algunas de las más importantes que deben tener los buenos desarrolladores web. Estos se centran un poco en las habilidades de front-end, pero se aplican a todos los desarrolladores:

1. Expresiones regulares

Las expresiones regulares se utilizan para analizar cadenas, básicamente para buscar y reemplazar fragmentos de texto. Si bien esto puede parecer trivial, la versatilidad de regex lo hace bastante poderoso. Existe una amplia variedad de métodos para optimizar una cadena de expresiones regulares, lo que puede significar grandes diferencias de rendimiento para su aplicación.

Las expresiones regulares se pueden usar con casi cualquier lenguaje, funcionan muy bien con Javascript y PHP, por nombrar algunos. También son excelentes para las reescrituras de Apache.

Es sorprendente cómo pocos desarrolladores web usan expresiones regulares considerando lo útil que es. Entonces, si aún no lo ha hecho, asegúrese de aprender las expresiones regulares.

2. SEO básico

Un conocimiento básico de SEO es esencial para cualquier buen desarrollador web. Si bien puede dejar la investigación de palabras clave a sus clientes, un desarrollador debe tener estrategias sólidas para orientar esas palabras clave en la página. Esto significa un marcado limpio y un buen uso de <title>, <meta>, <h1> y <h2> etiquetas en el front-end, así como una sólida organización de enlaces y estructuras de directorios en el back-end.

Los mejores recursos que he encontrado para aprender SEO son la Guía para principiantes de optimización de motores de búsqueda y Factores de clasificación de motores de búsqueda v2, ambos de SEOmoz.

3. Una buena biblioteca de JavaScript

Incluso si no escribe mucho Javascript, saber un buen lenguaje Javascript puede hacer que sea mucho más fácil. Ya sea jQuery (mi favorito personal), Mootools o lo que sea, aprender una biblioteca de Javascript reducirá su tiempo de desarrollo de Javascript a la mitad. Primero, estas bibliotecas eliminan las conjeturas entre navegadores de la programación de Javascript para que pueda detener la verificación de funciones y comenzar a animar. Además, proporcionan un montón de opciones de animación fáciles y hacen que la selección de nodos en el DOM sea pan comido.

Los Javascripters más aventureros pueden incluso querer abordar un lenguaje de interfaz de usuario de Javascript. Hay complementos para las bibliotecas anteriores, pero recomendaría Dojo con Dijit.

4. Depuración en varios navegadores

Para llegar a la mayor cantidad de espectadores posible, sus sitios web deben funcionar en todos los navegadores principales (IE6, IE7, IE8, FF2, FF3, Safari 4, Opera 9). Todo el mundo odia la depuración entre navegadores, pero cuanto mejor consigas, menos tendrás que hacerlo.

La mejor depuración entre navegadores es preventiva, comenzando con HTML válido y una buena hoja de estilo de restablecimiento. Para mi CSS restablecido, solo uso * { margin: 0; padding: 0 } pero también puede utilizar una opción más sólida.

Más allá de esto, ayuda a comprender las diversas peculiaridades específicas de ciertos navegadores. La parte superior de esta lista suele ser Internet Explorer y, en particular, IE6 (sí, todavía). Y aunque la mayoría de los problemas de IE se reducen al infame error de diseño de haslayout, no debes confiar en algo torpe como * { zoom: 1 } para resolver estos.

5. Procesamiento y optimización de imágenes

Aunque la mayoría de los desarrolladores confían en diseñadores profesionales para los activos de diseño, es igualmente importante que los desarrolladores conozcan Photoshop. Un gran conocimiento del procesamiento de imágenes no solo le permite realizar cambios rápidos en las composiciones sin devolverlas al diseñador, sino que también lo ayuda a comprender lo que es posible al solicitar cambios de diseño.

Una habilidad de Photoshop que es particularmente importante para los desarrolladores web es la optimización de imágenes. Los tamaños de los archivos de imagen son probablemente la mayor amenaza para el ancho de banda y la optimización de las imágenes puede hacer o deshacer el tiempo de carga de un sitio. La opción “Guardar para Web” de Photoshop e Illustrator hace que la optimización de la imagen sea mucho más fácil: simplemente presione Ctrl-Alt-Shift-S en la PC o Comando-Alt-Shift-S en Mac para acceder a este asistente.

6. Creación de diseños con HTML / CSS válido (y sin tablas)

Seamos realistas: no es 1996 e incluso los desarrolladores de back-end necesitan saber cómo escribir un buen código de front-end, es decir, HTML y CSS válidos, no un montón de tablas. El marcado debe estar limpio y validado de acuerdo con su tipo de documento y el CSS debe estar separado del HTML, lo que significa que no hay estilos en línea y especialmente no etiquetas.

Para empezar, aprenda las diversas etiquetas CSS y el modelo de caja CSS. A partir de ahí, debe aprender las especificaciones del W3C sobre cómo escribir código válido.

Siempre que escriba HTML, naturalmente debería ser xHTML válido; lo que significa nodos correctamente anidados, etiquetas de imagen cerradas con atributos alt especificados y otros conceptos básicos. Luego, puede continuar para aprender qué nodos se pueden anidar dentro de qué y otros problemas de validación más complejos. Al final, encontrará que el validador HTML de w3c casi nunca arroja un error, lo cual es una sensación realmente buena.

7. Conceptos básicos sobre derechos de autor / derecho cibernético

No necesita un título en derecho, pero es mejor que todos los desarrolladores tengan al menos un conocimiento básico de derechos de autor y derecho cibernético dondequiera que hagan negocios.

Dado que los sitios web son esencialmente publicaciones, los problemas de derechos de autor tienden a ser el problema legal más común para los sitios. Desde contenido generado por el usuario con fotos robadas de Flickr hasta citas de párrafos del New York Times, es importante saber cuándo lo demandarán, cuándo recibirá una carta enojada y cuándo estará bien. También es bueno saber cuándo demandar y cuándo enviar una carta enojada :).

Más allá de las leyes de derechos de autor, es bueno comprender las regulaciones de privacidad y COPPA, así como leer detenidamente cualquier acuerdo que tenga con registradores / empresas de alojamiento (¡y clientes!).

8. Apache reescribe

Las reescrituras de Apache facilitan la toma de URL desordenadas y las hacen limpias y fáciles de escribir (si conoce las expresiones regulares). Puedes tomar algo feo como index.php?section=about&page=bio y reescribirlo para lo mucho más bonito: about/bio.

Pero más allá de simplemente limpiar las URL, mod_rewrite de Apache se puede usar para convertir rápidamente una página simple en una aplicación completa con una estructura de directorio. Simplemente vuelva a escribir las diversas variables de cadena de consulta para que sean directorios y estará listo.

Sin embargo, tenga cuidado: los problemas de reescritura de Apache son notoriamente difíciles de depurar. Las reescrituras no pueden proporcionar ninguna información de depuración por sí mismas y, a menudo, omitirán la información que incluya a través de otros métodos. Así que tenga en cuenta que las reescrituras pueden causar una pesadilla que no puede rastrear.

9. Software de depuración

Un buen depurador hará que su programación web sea mucho más rápida.

Cuando se trata de la interfaz, me gusta Firebug, que le permite hacer clic en elementos de la página y analizar qué estilos se están aplicando y desde qué hoja de estilo. Además, puede agregar o eliminar estilos sobre la marcha, así como editar el marcado de la página.

Firebug también ayuda con la depuración de Javascript, proporcionando un mejor análisis de los errores de Javascript, así como una consola para ejecutar Javascript sobre la marcha y mostrar la salida de console.log(). Finalmente, proporciona información NET, mostrándole el tiempo de carga de varios activos de front-end, así como cualquier cosa que se esté cargando o que no se esté cargando.

No uso un depurador de back-end, pero escuché que xDebug es bueno para PHP.

10. Control de versiones

Por último, pero definitivamente no menos importante, todo buen desarrollador debe conocer y usar el control de versiones. El control de versiones no solo es la mejor manera de realizar copias de seguridad de los archivos mientras trabaja en ellos, sino que es realmente la única forma de colaborar eficazmente con otros desarrolladores.

El control de versiones funciona manteniendo un registro de los cambios en el contenido de un directorio. A medida que trabaja, puede realizar cualquier cambio en este registro o volver a cualquier versión anterior.

Personalmente, me gusta el control de versiones distribuido en lugar del centralizado, ya que proporciona dos niveles de VC: puede confirmar cambios en su repositorio local y luego enviar estos conjuntos de cambios a un servidor centralizado. Esto le permite realizar una serie de cambios pequeños o potencialmente inestables a nivel local y luego enviar un conjunto de cambios finales a su equipo.

Cuando se trata de VC distribuido me gusta Mercurial, y para centralizado me gusta Subversion.

Ahora que piensas

¿Dejé algo fuera de la lista de verificación anterior? ¿Qué opinas de los elementos allí? No están en ningún orden, pero ¿hay algún elemento más o menos importante? Por favor, publique sus pensamientos en los comentarios a continuación.

Jon Raasch es un nerd de UX y un diseñador / desarrollador web autónomo que ama jQuery, Javascript y CSS.

Este contenido se publicó originalmente aquí.