El desarrollo web es el trabajo que implica desarrollar un sitio web para Internet ( World Wide Web ) o una intranet (una red privada). [1] El desarrollo web puede abarcar desde el desarrollo de una simple página estática de texto plano hasta aplicaciones web complejas , negocios electrónicos y servicios de redes sociales . Una lista más completa de tareas a las que comúnmente se refiere el desarrollo web puede incluir ingeniería web , diseño web , desarrollo de contenido web , enlace con el cliente, secuencias de comandos del lado del cliente / servidor , configuración de seguridad de la red y del servidor web , y desarrollo del comercio electrónico .
Entre los profesionales web, "desarrollo web" generalmente se refiere a los principales aspectos no relacionados con el diseño de la creación de sitios web: escritura, marcado y codificación . [2] El desarrollo web puede utilizar sistemas de gestión de contenido (CMS) para hacer que los cambios de contenido sean más fáciles y estén disponibles con habilidades técnicas básicas.
Para organizaciones y empresas más grandes, los equipos de desarrollo web pueden estar formados por cientos de personas ( desarrolladores web ) y seguir métodos estándar como metodologías ágiles mientras desarrollan sitios web. [1] Es posible que las organizaciones más pequeñas solo requieran un único desarrollador permanente o contratado, o una asignación secundaria a puestos de trabajo relacionados, como diseñador gráfico o técnico de sistemas de información . El desarrollo web puede ser un esfuerzo de colaboración entre departamentos en lugar del dominio de un departamento designado. Hay tres tipos de especialización de desarrollador web: desarrollador front-end , desarrollador back-end y desarrollador full-stack . [3] Los desarrolladores de front-end son responsables del comportamiento y las imágenes que se ejecutan en el navegador del usuario, mientras que los desarrolladores de back-end se ocupan de los servidores. [4] Desde la comercialización de la Web, la industria ha experimentado un auge y se ha convertido en una de las tecnologías más utilizadas de la historia.
Tim Berners-Lee creó la World Wide Web en 1989 en el CERN. [5]
El objetivo principal en el desarrollo de la Web fue satisfacer las necesidades de intercambio automatizado de información de académicos afiliados a instituciones y diversas organizaciones globales. En consecuencia, HTML se desarrolló en 1993. [6]
La Web 1.0 se describe como el primer paradigma en el que los usuarios sólo podían ver material y proporcionar una pequeña cantidad de información. [7] Los protocolos principales de la web 1.0 fueron HTTP , HTML y URI . [8]
Web 2.0 , término popularizado por Dale Dougherty , entonces vicepresidente de O'Reilly, durante una conferencia de 2004 con Media Live, marca un cambio en el uso de Internet, enfatizando la interactividad. [9] [10]
La Web 2.0 introdujo una mayor participación y comunicación de los usuarios. Evolucionó desde la naturaleza estática y de sólo lectura de la Web 1.0 y se convirtió en una red integrada para la participación y la comunicación. A menudo se la conoce como una red en línea de lectura y escritura centrada en el usuario. [7]
En el ámbito de los entornos Web 2.0, los usuarios ahora tienen acceso a una plataforma que fomenta el intercambio de actividades como la creación de música, archivos, imágenes y películas. [11] La arquitectura de la Web 2.0 a menudo se considera la "columna vertebral de Internet", ya que utiliza etiquetas XML (lenguaje de marcado extensible) estandarizadas para autorizar el flujo de información desde plataformas independientes y bases de datos en línea . [7]
La Web 3.0, considerada la tercera y actual versión de la web, se introdujo en 2014. El concepto prevé un rediseño completo de la web. Las características clave incluyen la integración de metadatos , entrega de información precisa y experiencias de usuario mejoradas basadas en preferencias, historial e intereses. [ cita necesaria ]
La Web 3.0 tiene como objetivo convertir la Web en una base de datos organizada y de tamaño considerable, que proporcione más funcionalidades que los motores de búsqueda tradicionales. Los usuarios pueden personalizar la navegación según sus preferencias y las ideas centrales implican identificar fuentes de datos, conectarlas para lograr eficiencia y crear perfiles de usuario. [7]
Esta versión a veces también se conoce como Web Semántica . [12]
El viaje de las tecnologías de desarrollo web comenzó con páginas HTML simples en los primeros días de Internet. Con el tiempo, los avances llevaron a la incorporación de CSS para estilo y JavaScript para interactividad. Esta evolución transformó los sitios web estáticos en plataformas dinámicas y responsivas, preparando el escenario para las aplicaciones web complejas y ricas en funciones que tenemos hoy.
El desarrollo web en el futuro estará impulsado por los avances en la tecnología de los navegadores, la infraestructura de Internet web, los estándares de protocolo, los métodos de ingeniería de software y las tendencias de las aplicaciones. [8]
El ciclo de vida del desarrollo web es un método que describe las etapas involucradas en la creación de sitios web y aplicaciones web. Proporciona un enfoque estructurado, asegurando resultados óptimos durante todo el proceso de desarrollo. [ cita necesaria ]
Un proceso típico de desarrollo web se puede dividir en 7 pasos:
Debra Howcraft y John Carroll propusieron una metodología en la que el proceso de desarrollo web se puede dividir en pasos secuenciales. Mencionaron diferentes aspectos del análisis. [17]
La primera fase implica elaborar una estrategia web y analizar cómo un sitio web puede lograr sus objetivos de manera efectiva. La investigación de Keil et al [18] identifica las principales razones de los fracasos de los proyectos de software como la falta de compromiso de la alta dirección y la mala comprensión de los requisitos del sistema. Para mitigar estos riesgos, la Fase Uno establece metas y objetivos estratégicos, diseñando un sistema para cumplirlos. Idealmente, la decisión de establecer una presencia en la web debería alinearse con la estrategia de información corporativa de la organización.
La fase de análisis se puede dividir en 3 pasos:
Durante esta fase se analizan los objetivos previamente trazados y los recursos disponibles para determinar su viabilidad. Este análisis se divide en seis tareas, de la siguiente manera:
Después de este análisis, se documenta un conjunto más refinado de objetivos. Los objetivos que no se pueden cumplir actualmente se registran en una Lista de Deseos, que forma parte del Documento de Objetivos. Esta documentación se vuelve parte integral del proceso iterativo durante el ciclo posterior de la metodología. [17]
Es crucial que los desarrolladores web participen en la formulación de un plan, la determinación de la arquitectura óptima y la selección de los marcos . [ cita necesaria ] Además, los desarrolladores/consultores desempeñan un papel a la hora de dilucidar el costo total de propiedad asociado con el soporte de un sitio web, que puede superar los gastos de desarrollo iniciales.
Los aspectos clave en este paso son:
Tras la fase de análisis, el proceso de desarrollo pasa a la fase de diseño , que se guía por el documento de objetivos. Al reconocer el crecimiento incremental de los sitios web y la posible falta de una buena arquitectura de diseño, la metodología incluye iteraciones para tener en cuenta los cambios y adiciones a lo largo de la vida del sitio. La fase de diseño, que se divide en Diseño de información y Diseño gráfico , da como resultado un Documento de diseño detallado que detalla la estructura del sitio web, las estructuras de datos de la base de datos y los scripts CGI .*
El siguiente paso, las pruebas de diseño, se centra en pruebas tempranas y de bajo costo para identificar inconsistencias o fallas en el diseño. Esto implica comparar el diseño del sitio web con las metas y objetivos descritos en los primeros tres pasos. Las fases uno y dos implican un ciclo iterativo en el que se revisan los objetivos del documento de objetivos para garantizar la alineación con el diseño. Cualquier objetivo que se elimine se agrega a la Lista de deseos para su consideración futura. [17]
Los aspectos clave en este paso son:
No importa cuán atractivo sea un sitio web visualmente, una buena comunicación con los clientes es fundamental. El objetivo principal de la producción de contenido es crear un canal de comunicación a través de la interfaz de usuario entregando información relevante sobre su empresa de una manera atractiva y fácilmente comprensible. Esto incluye: [ cita necesaria ]
La etapa de producción de contenido es fundamental para establecer la marca y el marketing de su sitio web o aplicación web. Sirve como plataforma para definir el propósito y los objetivos de su presencia en línea a través de contenido atractivo y convincente.
Durante esta etapa crítica, el sitio web se construye teniendo en cuenta su objetivo fundamental, prestando mucha atención a todos los componentes gráficos para asegurar el establecimiento de un sitio completamente funcional.
El procedimiento comienza con el desarrollo de la página principal, al que sigue la producción de las páginas interiores. En particular, se está perfeccionando la estructura de navegación del sitio.
Durante esta fase de desarrollo, se activan funciones clave como el sistema de gestión de contenidos , formularios de contacto interactivos y carritos de compras.
El proceso de codificación incluye la creación de todo el software del sitio y su instalación en los servidores web apropiados. Esto puede variar desde cosas simples como publicar en un servidor web hasta tareas más complejas como establecer conexiones de bases de datos .
En cualquier proyecto web, la fase de prueba es increíblemente compleja y difícil. Debido a que las aplicaciones web suelen estar diseñadas para una base de usuarios diversa y a menudo desconocida que se ejecuta en una variedad de entornos tecnológicos, su complejidad excede la de los sistemas de información (SI) tradicionales . Para garantizar el máximo alcance y eficacia, el sitio web debe probarse en una variedad de contextos y tecnologías. El sitio web pasa a la etapa de entrega después de obtener la aprobación final del diseñador. Para garantizar su preparación para el lanzamiento, el equipo de control de calidad realiza pruebas rigurosas de funcionalidad, compatibilidad y rendimiento.
Se llevan a cabo pruebas adicionales, que incluyen integración, estrés, escalabilidad , carga, resolución y compatibilidad entre navegadores . Cuando se otorga la aprobación, el sitio web se envía al servidor a través de FTP , completando el proceso de desarrollo.
Los aspectos clave en este paso son:
El proceso de desarrollo web va más allá de la implementación e incluye una variedad de tareas posteriores a la implementación.
Los sitios web, por ejemplo, suelen estar bajo mantenimiento continuo y diariamente se cargan nuevos elementos. Los costos de mantenimiento aumentan enormemente a medida que el sitio crece en tamaño. La precisión del contenido de un sitio web es fundamental y exige un seguimiento continuo para verificar que tanto la información como los enlaces, especialmente los enlaces externos, estén actualizados. Se realizan ajustes en respuesta a los comentarios de los usuarios y se llevan a cabo acciones periódicas de soporte y mantenimiento para mantener la eficacia del sitio web a largo plazo. [17]
Debra Howcraft y John Carroll analizaron algunas metodologías tradicionales de desarrollo web en su artículo de investigación: [17]
Desarrollar un conocimiento fundamental de la dinámica del lado del cliente y del lado del servidor es crucial. [ cita necesaria ]
El objetivo del desarrollo front-end es crear la interfaz de usuario y los componentes visuales de un sitio web con los que los usuarios puedan interactuar directamente. Por otro lado, el desarrollo back-end trabaja con bases de datos, lógica del lado del servidor y funcionalidad de aplicaciones. La creación de aplicaciones en línea confiables y fáciles de usar requiere un enfoque integral, que está garantizado por la colaboración entre los ingenieros de front-end y back-end.
El desarrollo front-end es el proceso de diseñar e implementar la interfaz de usuario (UI) y la experiencia de usuario (UX) de una aplicación web . Implica crear elementos visualmente atractivos e interactivos con los que los usuarios interactúan directamente. Las principales tecnologías y conceptos asociados con el desarrollo front-end incluyen:
Las 3 tecnologías centrales para el desarrollo front-end son:
El diseño de la experiencia del usuario se centra en la creación de interfaces que sean intuitivas, accesibles y agradables para los usuarios. Implica comprender el comportamiento del usuario, realizar estudios de usabilidad e implementar principios de diseño para mejorar la satisfacción general de los usuarios que interactúan con un sitio web o una aplicación. Esto implica estructuración de cables , creación de prototipos e implementación de principios de diseño para mejorar la interacción del usuario. Algunas de las herramientas populares utilizadas para UI Wireframing son:
Otro aspecto clave a tener en cuenta al diseñar es la accesibilidad web : la accesibilidad web garantiza que el contenido digital esté disponible y sea utilizable para personas de todas las capacidades. Esto implica adherirse a estándares como las Pautas de accesibilidad al contenido web (WCAG), implementar características como texto alternativo para imágenes y diseñar teniendo en cuenta las diversas necesidades de los usuarios, incluidos aquellos con discapacidades.
Es importante garantizar que las aplicaciones web sean accesibles y visualmente atractivas en varios dispositivos y tamaños de pantalla. El diseño responsivo utiliza consultas de medios CSS y diseños flexibles para adaptarse a diferentes entornos de visualización.
Un marco es una solución de alto nivel para la reutilización de piezas de software, un paso adelante en la reutilización simple basada en bibliotecas que permite compartir funciones comunes y lógica genérica de una aplicación de dominio. [19]
Los marcos y las bibliotecas son herramientas esenciales que aceleran el proceso de desarrollo. Estas herramientas mejoran la productividad de los desarrolladores y contribuyen a la capacidad de mantenimiento de aplicaciones a gran escala. Algunos marcos de interfaz de usuario populares son:
Gestionar el estado de una aplicación web para garantizar la coherencia y la capacidad de respuesta de los datos. Las bibliotecas de gestión de estado como Redux (para React ) o Vuex (para Vue.js ) desempeñan un papel crucial en aplicaciones complejas.
El desarrollo back-end implica construir la lógica del lado del servidor y los componentes de base de datos de una aplicación web . Es responsable de procesar las solicitudes de los usuarios, gestionar los datos y garantizar la funcionalidad general de la aplicación. Los aspectos clave del desarrollo back-end incluyen:
Un componente esencial de la arquitectura de una aplicación web es un servidor o instancia en la nube . Una instancia de nube es una instancia de servidor virtual a la que se puede acceder a través de Internet y que se crea, entrega y aloja en una nube pública o privada. Funciona como un servidor físico que puede moverse sin problemas entre varios dispositivos con facilidad o configurar varias instancias en un servidor. Por tanto, es muy dinámico, escalable y económico.
La gestión de bases de datos es crucial para almacenar , recuperar y gestionar datos en aplicaciones web. Varios sistemas de bases de datos, como MySQL , PostgreSQL y MongoDB , desempeñan funciones distintas en la organización y estructuración de datos. La gestión eficaz de la base de datos garantiza la capacidad de respuesta y la eficiencia de las aplicaciones web basadas en datos. Hay 3 tipos de bases de datos:
La elección de una base de datos depende de varios factores, como la naturaleza de los datos, los requisitos de escalabilidad, las consideraciones de rendimiento y el caso de uso específico de la aplicación que se está desarrollando. Cada tipo de base de datos tiene sus fortalezas y debilidades, y seleccionar la adecuada implica considerar las necesidades específicas del proyecto.
Las interfaces de programación de aplicaciones son conjuntos de reglas y protocolos que permiten que diferentes aplicaciones de software se comuniquen entre sí. Las API definen los métodos y formatos de datos que las aplicaciones pueden utilizar para solicitar e intercambiar información.
Los lenguajes de programación destinados a la ejecución en el servidor, a diferencia de la ejecución en el navegador del cliente, se conocen como lenguajes del lado del servidor . Estos lenguajes de programación se utilizan en el desarrollo web para realizar operaciones que incluyen el procesamiento de datos , la interacción de bases de datos y la creación de contenido dinámico que se entrega al navegador del cliente. Un elemento clave de la programación del lado del servidor son las secuencias de comandos del lado del servidor , que permiten al servidor reaccionar a las solicitudes de los clientes en tiempo real.
Algunos lenguajes populares del lado del servidor son:
Implementar medidas de seguridad para proteger contra vulnerabilidades comunes, incluida la inyección SQL , secuencias de comandos entre sitios (XSS) y falsificación de solicitudes entre sitios (CSRF). Los mecanismos de autenticación y autorización son cruciales para proteger los datos y el acceso de los usuarios.
Los procesos exhaustivos de prueba y depuración son esenciales para identificar y resolver problemas en una aplicación web. Las pruebas pueden incluir pruebas unitarias , pruebas de integración y pruebas de aceptación del usuario . La depuración implica identificar y corregir errores en el código, garantizando la confiabilidad y estabilidad de la aplicación.
El desarrollo completo se refiere a la práctica de diseñar, construir y mantener toda la pila de software de una aplicación web. Esto incluye tanto los componentes frontend (del lado del cliente) como backend (del lado del servidor), así como la base de datos y cualquier otra infraestructura necesaria. Un desarrollador full-stack es alguien que tiene experiencia en trabajar con tecnologías frontend y backend, lo que le permite manejar todos los aspectos del desarrollo de aplicaciones web.
El desarrollo web eficiente se basa en un conjunto de herramientas y entornos que agilizan los procesos de codificación y colaboración:
La seguridad es primordial en el desarrollo web para proteger contra amenazas cibernéticas y garantizar la confidencialidad e integridad de los datos del usuario. Las mejores prácticas incluyen cifrado, prácticas de codificación segura, auditorías de seguridad periódicas y mantenerse informado sobre las últimas vulnerabilidades y parches de seguridad.
Agile es un conjunto de principios y valores para el desarrollo de software que priorizan la flexibilidad, la colaboración y la satisfacción del cliente. Los cuatro valores clave son:
{{cite web}}
: Falta o está vacío |title=
( ayuda )