El desarrollo web front-end es el desarrollo de la interfaz gráfica de usuario de un sitio web mediante el uso de HTML , CSS y JavaScript para que los usuarios puedan ver e interactuar con ese sitio web. [1] [2] [3] [4]
Hay varias herramientas y plataformas, como WordPress , Joomla y Drupal , disponibles que pueden usarse para desarrollar la interfaz de un sitio web. [5]
El lenguaje de marcado de hipertexto (HTML) es el estándar moderno para mostrar y estructurar contenido web en Internet . [6] HTML define qué elementos se mostrarán en un sitio web y cómo se organizarán. Todos los navegadores web principales están diseñados para interpretar HTML y la mayoría de los sitios web modernos ofrecen HTML al usuario. [7] El hipertexto es texto que se muestra en una computadora con referencias a otro texto; estas referencias (o enlaces) se denominan " hipervínculos ". Cuando un usuario de Internet interactúa con un elemento hipervinculado, el sitio web le ofrece al usuario los datos vinculados. Estos datos pueden ser otra página web HTML, JavaScript o cualquier otra cosa. La última versión importante de HTML es HTML5 , publicada originalmente el 28 de octubre de 2014 como una recomendación del W3C . [8] [9]
Las hojas de estilo en cascada (CSS) controlan la presentación y el estilo de un sitio web. CSS utiliza un sistema en cascada para resolver conflictos de estilo aplicando reglas de estilo basadas en especificidad, herencia e importancia. Las consultas de medios permiten realizar ajustes en el diseño y la apariencia del sitio según factores como el tamaño y la resolución de la pantalla. CSS se puede aplicar de tres formas: hojas de estilo externas vinculadas en un archivo HTML, bloques <style> internos o en línea dentro de elementos individuales. [10]
JavaScript es un lenguaje de programación imperativo basado en eventos (a diferencia del modelo de lenguaje declarativo de HTML ) que se utiliza para transformar una página HTML estática en una interfaz dinámica. El código JavaScript puede utilizar el Modelo de objetos de documento (DOM), proporcionado por el estándar HTML, para manipular una página web en respuesta a eventos, como la entrada del usuario.
Usando una técnica llamada AJAX , el código JavaScript también puede recuperar contenido activamente de la web (independientemente de la recuperación de la página HTML original) y también reaccionar a eventos del lado del servidor, agregando una naturaleza verdaderamente dinámica a la experiencia de la página web.
WebAssembly , compatible con todos los navegadores principales (es decir, de los principales proveedores Google, Apple, Mozilla y Microsoft), es la única alternativa a JavaScript para ejecutar código en navegadores web (sin la ayuda de complementos, como Flash , Java o Silverlight ; todos ellos descontinuados, ya que los navegadores están abandonando la compatibilidad con complementos). Antes de su adopción, existía asm.js (un subconjunto de JavaScript; y por lo tanto funciona estrictamente en todos los navegadores), que también se usa como un objetivo de compilador con soporte eficiente en navegadores como Internet Explorer 11 ; y para aquellos navegadores que no admiten WebAssembly directamente, se puede compilar a asm.js y esos navegadores lo admiten de esa manera. En términos generales, los programadores no programan en WebAssembly (o asm.js) directamente, sino que usan lenguajes como Rust , C o C++ o, en teoría, cualquier lenguaje que compile en él.
El desarrollador del frontend tiene estos puntos en mente y utiliza las herramientas y técnicas disponibles para alcanzar este fin. [5]
Con el continuo desarrollo de dispositivos móviles, como teléfonos inteligentes y tabletas, los diseñadores deben asegurarse de que su sitio se muestre correctamente en los navegadores de todos los dispositivos. Esto se puede lograr creando un diseño web responsivo utilizando hojas de estilo en CSS.
Los objetivos de rendimiento se refieren principalmente al tiempo de renderizado, la manipulación de HTML, CSS y JavaScript para garantizar que el sitio se abra rápidamente.
Esta tecnología permite un desarrollo rápido y ahorra tiempo.