Los 10 errores más comunes que comete un desarrollador web

Los 10 errores más comunes que comete un desarrollador web y que debe de evitar

Desde que el término la World Wide Web fue acuñado en 1990, el desarrollo de aplicaciones web ha evolucionado desde el servicio de páginas HTML estáticas a aplicaciones de negocios complejas.

Los 10 errores más comunes que comete un desarrollador web

Los 10 errores más comunes que comete un desarrollador web

Hoy tenemos miles de recursos digitales e impresos que proporcionan instrucciones paso a paso sobre el desarrollo de todo tipo de aplicaciones web diferentes. Los entornos de desarrollo son lo suficientemente “inteligentes” como para captar y corregir muchos errores con los que los desarrolladores iniciales luchaban con regularidad. Hay incluso muchas plataformas de desarrollo diferentes que fácilmente convierten páginas HTML estáticas simples en aplicaciones altamente interactivas.

Todos estos patrones de desarrollo, prácticas y plataformas comparten un terreno común, y todos ellos son propensos a problemas de desarrollo web similares causados ​​por la naturaleza misma de las aplicaciones web.

El propósito de estas sugerencias de desarrollo web es arrojar luz sobre algunos de los errores comunes cometidos en diferentes etapas del proceso de desarrollo web y para ayudarle a convertirse en un mejor desarrollador. He tocado algunos temas generales que son comunes a prácticamente todos los desarrolladores web como la validación, seguridad, escalabilidad y SEO. Por supuesto, no debe limitarse a los ejemplos específicos que he descrito en esta guía, ya que se enumeran sólo para darle una idea de los problemas potenciales que pueda encontrar.

Error común # 1: validación de entrada incompleta

Validar la entrada del usuario en el lado del cliente y del servidor es simplemente un deber hacer! Todos somos conscientes del consejo sabio “no confíes en la entrada del usuario”, pero, sin embargo, los errores derivados de la validación ocurren con demasiada frecuencia.

Una de las consecuencias más comunes de este error es SQL INJECTION que está en OWASP Top 10 año tras año.

Recuerde que la mayoría de los frameworks de desarrollo front-end proporcionan reglas de validación listas para usar que son increíblemente fáciles de usar. Además, la mayoría de las principales plataformas de desarrollo de back-end utilizan anotaciones simples para asegurar que los datos enviados se adhieran a las reglas esperadas. La implementación de la validación puede requerir mucho tiempo, pero debe ser parte de su práctica de codificación estándar y nunca debe ser puesta a un lado.

 

Error común # 2: Autenticación sin autorización adecuada

Antes de proceder, asegúrese de que estamos alineados con estos dos términos. Como se indica en las 10 vulnerabilidades de seguridad Web más comunes:

Autenticación: Verificación de que una persona es (o al menos parece ser) un usuario específico, ya que ha proporcionado correctamente sus credenciales de seguridad (contraseña, respuestas a preguntas de seguridad, exploración de huellas dactilares, etc.).

 Autorización: Confirmación de que un usuario en particular tiene acceso a un recurso específico o tiene permiso para realizar una acción en particular.

Dicho de otra manera, la autenticación es saber quién es una entidad, mientras que la autorización es saber lo que una entidad dada puede hacer.

Error común # 3: No está listo para escalar

En el mundo de hoy del desarrollo de alta velocidad, aceleradores de inicio, y el alcance global instantáneo de grandes ideas, tener su MVP (Minimum Viable Product) es un objetivo común para muchas empresas.

Sin embargo, esta presión de tiempo constante está causando incluso buenos equipos de desarrollo web a menudo pasan por alto ciertos problemas. El escalar es a menudo una de esas cosas que los equipos toman para concedido. El concepto de MVP es grande, pero empuja demasiado lejos, y tendrás problemas serios. Desafortunadamente, no es suficiente seleccionar una base de datos escalable y un servidor web y separar todas las capas de aplicación en servidores escalables independientes.

Hay muchos detalles que usted necesita para pensar si desea evitar la reescritura de su aplicación más tarde, que se convierte en un importante problema de desarrollo web.

Por ejemplo, digamos que elija almacenar imágenes de perfil subidas de sus usuarios directamente en un servidor web. Esta es una solución perfectamente válida: los archivos son accesibles rápidamente a la aplicación, los métodos de manejo de archivos están disponibles en cada plataforma de desarrollo, e incluso puede servir estas imágenes como contenido estático, lo que significa una carga mínima en su aplicación.

Pero, ¿qué sucede cuando su aplicación crece y necesita usar dos o más servidores web detrás de un equilibrador de carga? A pesar de que ha ampliado considerablemente el almacenamiento de su base de datos, los servidores de estado de sesión y los servidores web, la escalabilidad de la aplicación falla debido a algo tan sencillo como las imágenes de perfil.

Por lo tanto, es necesario implementar algún tipo de servicio de sincronización de archivos (que tendrá un retraso y provocará errores temporales 404) u otra solución para asegurar que los archivos se distribuyen a través de los servidores web.

Error común # 4: equivocado o falta de SEO

La causa raíz de las prácticas SEO incorrectas o que faltan en los sitios web es por motivo a la mala información. Muchos desarrolladores web creen que saben lo suficiente sobre SEO y que no es especialmente complejo, pero eso no es cierto. El dominio de SEO requiere un tiempo considerable dedicado a investigar las mejores prácticas y las reglas en constante cambio sobre cómo Google, Bing y Yahoo indexan la web. A menos que experimente constantemente y tenga un seguimiento preciso + análisis, que lo realiza un especialista en SEO, y no debe pretender ser uno.

Además, SEO es a menudo pospuesto como una actividad que se realiza al final. Esto viene a un alto precio de los problemas de desarrollo web. SEO no sólo está relacionado con el establecimiento de un buen contenido, etiquetas, palabras clave, meta-datos, etiquetas de alt de la imagen, mapa del sitio, etc. También incluye la eliminación de contenido duplicado, arquitectura de sitios rastreables, tiempos de carga eficientes, enlace de enlace inteligente, etc.

Al igual que con la escalabilidad, debe pensar en SEO desde el momento en que comienza a construir su aplicación web, o puede encontrar que completar su proyecto de implementación de SEO significa reescribir todo el sistema.

Error comun # 5: Acciones que consumen tiempo o procesador en los manejadores de solicitudes

Uno de los mejores ejemplos de este error es el envío de correo electrónico basado en una acción del usuario. Demasiado a menudo los desarrolladores piensan que hacer una llamada SMTP y enviar un mensaje directamente desde el controlador de solicitud del usuario es la solución.

Supongamos que ha creado una librería en línea y espera comenzar con unos pocos cientos de pedidos diarios. Como parte de su proceso de admisión de pedidos, envía correos electrónicos de confirmación cada vez que un usuario publica una orden. Esto funcionará sin problema al principio, pero ¿qué sucede cuando se escala el sistema, y ​​de repente recibe miles de solicitudes de envío de correos electrónicos de confirmación? Usted obtiene los tiempos de espera de conexión SMTP, la cuota excedida o el tiempo de respuesta de la aplicación se degrada significativamente ya que ahora está manejando correos electrónicos en lugar de usuarios.

Cualquier momento o procesador que consuma la acción debe ser manejado por un proceso externo mientras que usted libera sus peticiones del HTTP cuanto antes. En este caso, debe tener un servicio de correo externo que está recogiendo pedidos y enviando notificaciones.

Error común # 6: No optimizar el uso del ancho de banda

La mayoría de los desarrollos y pruebas se llevan a cabo en un entorno de red local. Por lo tanto, cuando esté descargando 5 imágenes de fondo cada una de 3 MB o más, es posible que no identifique un problema con velocidad de conexión de 1 Gbit en su entorno de desarrollo. Pero cuando los usuarios comiencen a cargar una página de inicio de 15 MB a través de conexiones 3G en sus teléfonos inteligentes, debe prepararse para una lista de problemas.

Optimizar el uso de su ancho de banda podría darle un gran impulso de rendimiento, y para obtener este impulso probablemente sólo necesita un par de trucos. Hay pocas cosas que muchos buenos reveladores de la tela hacen por defecto, incluyendo:

Minificación de todos los JavaScript

Minificación de todos los CSS

Compresión HTTP del servidor

Optimización del tamaño y resolución de la imagen




Error común # 7: No desarrollar para diferentes tamaños de pantalla

El diseño responsive ha sido un gran tema en los últimos años. La expansión de los teléfonos inteligentes con diferentes resoluciones de pantalla ha traído muchas nuevas formas de acceder a contenido en línea, que también viene con una serie de problemas de desarrollo web. El número de visitas a sitios web que provienen de teléfonos inteligentes y tabletas crece cada día, y esta tendencia se está acelerando.

Con el fin de garantizar la navegación sin fisuras y el acceso al contenido del sitio web, debe permitir a los usuarios acceder a él desde todos los tipos de dispositivos.

Existen numerosos patrones y prácticas para crear aplicaciones web sensibles. Cada plataforma de desarrollo tiene sus propios consejos y trucos, pero hay algunos frameworks que son independientes de la plataforma. El más popular es probablemente Twitter Bootstrap. Se trata de un framework de código abierto y libre de HTML, CSS y JavaScript y que ha sido adoptado por todas las principales plataformas de desarrollo. Simplemente adhiera a los patrones y prácticas de Bootstrap al construir su aplicación, y obtendrá una aplicación web sensible sin ningún problema.

Error común # 8: Incompatibilidad entre navegadores

El proceso de desarrollo está, en la mayoría de los casos, bajo una fuerte presión de tiempo. Cada aplicación necesita ser lanzada tan pronto como sea posible e incluso los buenos desarrolladores web suelen centrarse en ofrecer funcionalidad sobre el diseño. Independientemente del hecho de que la mayoría de los desarrolladores tienen Chrome, Firefox, IE instalado, están usando sólo uno de estos 90% del tiempo. Es una práctica común utilizar un navegador durante el desarrollo y al igual que la aplicación se acerca a la terminación se comenzará a probar en otros navegadores. Esto es perfectamente razonable, suponiendo que tiene mucho tiempo para probar y solucionar problemas que aparecen en esta etapa.

Sin embargo, hay algunos consejos de desarrollo web que le pueden ahorrar tiempo significativo cuando su aplicación llega a la fase de pruebas de navegador cruzado:

No es necesario probar en todos los navegadores durante el desarrollo; Es lento e ineficaz. Sin embargo, eso no significa que no pueda cambiar navegadores frecuentemente. Utilice un navegador diferente cada par de días, y por lo menos reconocerá problemas importantes temprano en la fase de desarrollo.

Tenga cuidado de utilizar estadísticas para justificar que no admite un navegador. Hay muchas organizaciones que son lentas en la adopción de nuevo software o actualización. Miles de usuarios que trabajan allí pueden necesitar acceso a su aplicación, y no pueden instalar el último navegador gratuito debido a políticas de seguridad interna y de negocios.

Error común # 9: No planificar la portabilidad

¡La asunción es la madre de todos los problemas! Cuando se trata de portabilidad, este dicho es más cierto que nunca. ¿Cuántas veces ha visto problemas en el desarrollo web como rutas de archivo codificadas, cadenas de conexión de base de datos o suposiciones de que una determinada biblioteca estará disponible en el servidor? Suponiendo que el entorno de producción coincidirá con su computadora de desarrollo local es simplemente incorrecto.

La configuración ideal de la aplicación debe ser libre de mantenimiento:

Asegúrese de que su aplicación pueda escalar y ejecutarse en un entorno de varios servidores con equilibrio de carga.

Permite una configuración sencilla y clara, posiblemente en un solo archivo de configuración.

Administrar excepciones cuando la configuración del servidor web no sea la esperada.

Error común # 10: RESTful anti patrones

RESTful API han tomado su lugar en el desarrollo web y está aquí para quedarse. Casi todas las aplicaciones web han implementado algún tipo de servicio REST, ya sea para uso interno o integración con el sistema externo. Pero todavía vemos rotos los patrones RESTful y los servicios que no se adhieren a las prácticas esperadas.

Dos de los errores más comunes cometidos al escribir una API RESTful son:

Uso de verbos HTTP incorrectos. Por ejemplo, utilizando GET para escribir datos. HTTP GET ha sido diseñado para ser potente y seguro, lo que significa que no importa cuántas veces se llame GET en el mismo recurso, la respuesta siempre debe ser la misma y no debe producirse ningún cambio en el estado de la aplicación.

No enviar códigos de estado HTTP correctos. El mejor ejemplo de este error es enviar mensajes de error con código de respuesta 200.

Espero que te haya gustado estos consejos para desarrolladores web, déjanos tu comentario y dinos que otro error crees que es común, será de mucha importancia si lo haces.

Leave a Reply