Temas Aprendidos - Definiciones y Procedimientos
🌐 Tecnologías de Desarrollo de Software
Definición: La transformación digital ha generado dos tecnologías principales para el desarrollo de software orientadas a satisfacer las exigencias del mercado actual.
Tecnología Web
Basada en estándares abiertos, multiplataforma, ejecutable en navegadores web. Utiliza HTML, CSS, JavaScript y tecnologías web complementarias.
Tecnología de Software Nativo
Desarrollado específicamente para una plataforma (Windows, Linux, Android, iOS). Optimizado para el rendimiento del sistema operativo específico.
🔓 Open Web Platform - Web Abierta
Definición: Colección de tecnologías abiertas y estándares desarrollados por organismos como W3C, Unicode Consortium, Internet Engineering Task Force, y ECMA International.
Principios Fundamentales:
- Evita ser controlado por ninguna empresa
- Aporta transparencia, haciendo visibles todos los niveles
- Capacidad de integración con fuentes externas
- Documentación y especificaciones abiertas
- Libertad de uso
- Cadena de favores: compartir conocimiento adquirido
📋 Estándares Internacionales para Desarrollo Web
🔧 Tecnologías Básicas:
HTTP/HTTPS
Protocolo de Transferencia de Hipertexto para la transmisión de documentos hipermedia como HTML.
HTML
Lenguaje de Marcado de Hipertexto utilizado para describir y definir el contenido de páginas web estructuradas.
CSS
Hojas de Estilo en Cascada para describir el aspecto y presentación del contenido web.
JavaScript
Lenguaje de programación que se ejecuta en el navegador para crear sitios web interactivos y aplicaciones avanzadas.
XML
Lenguaje de Marcado Extensible para almacenar e intercambiar información estructurada entre plataformas.
🎨 Tecnologías Complementarias:
Web APIs
Interfaces de Programación de Aplicaciones Web para manipular DOM, reproducir multimedia y generar gráficos 3D.
SVG
Gráficos Vectoriales Escalables que permiten imágenes como conjuntos de vectores que se escalan sin pérdida de calidad.
WebGL
API JavaScript para dibujar gráficos 3D o 2D utilizando elementos HTML5 canvas.
MathML
Lenguaje de Marcado Matemático para mostrar ecuaciones y sintaxis matemáticas complejas.
ARIA
Aplicaciones de Internet Rica Accesibles para personas con discapacidad.
🌍 DNS - Sistema de Nombres de Dominio
Definición: DNS es el directorio telefónico de Internet. Traduce nombres de dominio legibles por humanos (como www.uncp.edu.pe) a direcciones IP que los navegadores necesitan para cargar recursos de Internet.
Procedimiento: Usuario ingresa dominio → DNS traduce a IP → Navegador se conecta al servidor → Se cargan los recursos web.
💻 Desarrollo Frontend vs Backend
🎨 Frontend (Cliente)
Definición: Parte de la programación web enfocada en la interfaz y experiencia del usuario.
Tecnologías: HTML, CSS, JavaScript
Función: Todo lo que los usuarios ven e interactúan en una página web.
⚙️ Backend (Servidor)
Definición: Parte que maneja la lógica, base de datos y funcionamiento interno de aplicaciones.
Tecnologías: Python, Java, PHP, Node.js, Ruby
Función: Motor que hace posible el funcionamiento del frontend.
🎯 Diseño UX/UI
UI (User Interface): Se refiere a los mockups y diseño visual de la interfaz. Herramientas: Figma, Adobe XD.
UX (User Experience): La experiencia completa que tiene el usuario al interactuar con productos o servicios. Objetivo: crear soluciones agradables, intuitivas, atractivas y eficientes.
Ejercicios de Laboratorio - Resultados
📝 Ejercicio 01: Visual Studio Code - Reconocimiento
Resultado: Familiarización con la herramienta de desarrollo integrado, identificación de áreas de la pantalla principal y aplicaciones de la barra de menús.
⌨️ Ejercicio 02: Paleta de Comandos
Resultado: Activación y uso práctico de la paleta de comandos, incluyendo ejemplos con GitHub Codespaces para desarrollo en la nube.
🔧 Ejercicio 03: Terminal y Git
Resultado: Uso efectivo de la terminal integrada con comandos git: init, add, commit, checkout, push. Manejo de ramas y merge en GitHub.
⚡ Ejercicio 04: Emmet y Fragmentos
Resultado: Implementación de disparadores Emmet para generación rápida de código HTML y CSS. Creación y uso de fragmentos personalizados.
⌨️ Ejercicio 05: Keyboard Shortcuts
Resultado: Dominio de atajos de teclado esenciales para mejorar la productividad en el desarrollo.