Programación 3

← Volver atrás
Apunte de Programacion 3

Cursada: 120 hs

Examen: 8 hs

Total: 128 hs

Profesor/a:

Diana Rodríguez

4/4/2025

Escrito por: Felipe Arce

Programación 3

Clase 1 - Introducción al Desarrollo Web

Estamos aprendiendo los conceptos básicos del desarrollo web, empezando con la explicación de interfaces gráficas.


Introducción al Desarrollo Web

Programación 3 se enfoca en el desarrollo de aplicaciones web y la creación de interfaces gráficas de usuario. Los estudiantes aprenden a crear páginas web interactivas utilizando las tecnologías fundamentales del desarrollo frontend.

Objetivos del Curso

  • Comprender la estructura básica de una página web
  • Aprender HTML para crear la estructura del contenido
  • Utilizar CSS para dar estilo y diseño a las páginas
  • Implementar interactividad con JavaScript
  • Crear formularios y manejar eventos del usuario
  • Diseñar interfaces responsivas para diferentes dispositivos

HTML - Lenguaje de Marcado

HTML (HyperText Markup Language) es el lenguaje estándar para crear páginas web. Define la estructura y el contenido de las páginas mediante elementos y etiquetas.

Conceptos Básicos

  • Etiquetas: Elementos que definen la estructura (<h1>, <p>, <div>)
  • Atributos: Propiedades adicionales de las etiquetas (id, class, src)
  • Estructura: Organización jerárquica del contenido
  • Semántica: Uso de elementos que describen el significado del contenido

Elementos Principales

  • Encabezados: <h1> a <h6> para títulos y subtítulos
  • Párrafos: <p> para bloques de texto
  • Enlaces: <a> para navegación entre páginas
  • Imágenes: <img> para contenido visual
  • Listas: <ul>, <ol>, <li> para organizar información
  • Formularios: <form>, <input>, <button> para interacción

CSS - Hojas de Estilo

CSS (Cascading Style Sheets) controla la presentación visual de las páginas web. Permite separar el contenido (HTML) del diseño y la apariencia.

Principios del Diseño Web

  • Selectores: Formas de seleccionar elementos HTML para aplicar estilos
  • Propiedades: Características visuales como color, tamaño, posición
  • Cascada: Orden de prioridad cuando hay múltiples reglas CSS
  • Especificidad: Peso de los selectores para determinar qué estilo se aplica

Diseño Responsive

  • Mobile First: Diseñar primero para dispositivos móviles
  • Media Queries: Reglas CSS que se aplican según el tamaño de pantalla
  • Flexbox: Sistema de layout flexible para organizar elementos
  • Grid: Sistema de cuadrícula para layouts complejos

JavaScript - Programación del Frontend

JavaScript es el lenguaje de programación que permite agregar interactividad y comportamiento dinámico a las páginas web.

Conceptos Fundamentales

  • Variables: Almacenamiento de datos (let, const, var)
  • Funciones: Bloques de código reutilizable
  • Eventos: Respuestas a acciones del usuario (clicks, formularios)
  • DOM: Manipulación de elementos HTML desde JavaScript

Interactividad Web

  • Validación de formularios: Verificar datos antes de enviarlos
  • Efectos visuales: Animaciones y transiciones
  • Comunicación con el servidor: Envío y recepción de datos
  • Almacenamiento local: Guardar información en el navegador

Desarrollo de Interfaces Gráficas

Principios de Diseño de UI/UX

  • Usabilidad: Facilidad de uso para el usuario final
  • Accesibilidad: Diseño inclusivo para personas con discapacidades
  • Consistencia: Mantenimiento de patrones visuales coherentes
  • Feedback: Respuestas visuales a las acciones del usuario

Herramientas de Desarrollo

  • Editores de código: Entornos para escribir y editar código
  • Navegadores web: Herramientas de desarrollo integradas
  • Frameworks CSS: Bibliotecas prediseñadas (Bootstrap, Foundation)
  • Control de versiones: Sistemas para gestionar cambios en el código

Formularios Web

Los formularios son elementos cruciales para la interacción entre usuarios y aplicaciones web. Permiten recopilar información, realizar búsquedas y ejecutar acciones.

Elementos de Formularios

  • Campos de texto: Para entrada de información textual
  • Selectores: Listas desplegables y opciones múltiples
  • Botones: Para enviar formularios o ejecutar acciones
  • Validación: Verificación de datos en tiempo real

Buenas Prácticas

  • Etiquetas claras: Descripción precisa de cada campo
  • Mensajes de error: Indicaciones específicas sobre problemas
  • Diseño intuitivo: Organización lógica de los elementos
  • Responsividad: Adaptación a diferentes tamaños de pantalla

Metodologías de Desarrollo

Planificación de Proyectos Web

  • Análisis de requisitos: Definición de objetivos y funcionalidades
  • Wireframes: Bocetos básicos de la estructura de páginas
  • Mockups: Diseños visuales detallados
  • Prototipado: Versiones interactivas para pruebas

Ciclo de Desarrollo

  • Desarrollo: Implementación del código HTML, CSS y JavaScript
  • Pruebas: Verificación de funcionalidad en diferentes navegadores
  • Optimización: Mejora del rendimiento y velocidad de carga
  • Despliegue: Publicación del sitio web en servidores

Tendencias Actuales

Tecnologías Emergentes

  • Progressive Web Apps: Aplicaciones web con características nativas
  • Single Page Applications: Sitios que cargan una sola vez
  • API REST: Interfaces para comunicación entre aplicaciones
  • Frameworks modernos: React, Vue.js, Angular para desarrollo avanzado

Consideraciones de Rendimiento

  • Optimización de imágenes: Reducción del tamaño de archivos
  • Minificación de código: Compresión de CSS y JavaScript
  • Carga lazy: Descarga de contenido según sea necesario
  • CDN: Redes de distribución de contenido global

Proyectos Prácticos

Proyecto 1: Página Personal

Crear un sitio web personal con información biográfica, portfolio de trabajos y formulario de contacto.

Proyecto 2: Landing Page

Desarrollar una página de aterrizaje para un producto o servicio con diseño atractivo y llamadas a la acción.

Proyecto 3: Aplicación de Tareas

Implementar una aplicación simple para gestionar listas de tareas con funcionalidades de agregar, editar y eliminar.

Proyecto 4: Galería de Imágenes

Construir una galería responsive con navegación y efectos visuales.


Recursos de Aprendizaje

Documentación Oficial

  • MDN Web Docs: Referencia completa para tecnologías web
  • W3Schools: Tutoriales y ejemplos prácticos
  • Can I Use: Compatibilidad de características entre navegadores

Herramientas Recomendadas

  • Visual Studio Code: Editor de código con extensiones útiles
  • Chrome DevTools: Herramientas de desarrollo del navegador
  • Git: Sistema de control de versiones para proyectos