D DIGITOMENORES
DIGITO Systems · Tecnología con alma
11 módulos · 62 lecciones
Inicio / Módulo 08
MÓDULO 08 · Herramientas profesionales

Frameworks Modernos

React, componentes, estado, Tailwind CSS y los fundamentos de Laravel: rutas, controladores y vistas.

0 / 8 lecciones completadas (0%)

Lección 1

React básico

📘 Explicación

React es una librería de JavaScript para construir interfaces mediante componentes reutilizables. En lugar de escribir HTML fijo, se describe cómo debe verse la interfaz según los datos, y React se encarga de actualizar la pantalla cuando esos datos cambian.

JavaScript
function Saludo() {
  return <h1>¡Hola desde React!</h1>;
}

export default Saludo;
🧠 Ejercicio interactivo

¿Cuál es la idea central de React?

📎 Recursos oficiales
Lección 2

Componentes

📘 Explicación

Un componente es una pieza independiente y reutilizable de interfaz, como una tarjeta de producto o un botón. Los componentes pueden recibir datos de entrada llamados «props» y componerse unos dentro de otros para construir interfaces complejas.

JavaScript
function TarjetaAlumno({ nombre, modulo }) {
  return (
    <div className="tarjeta">
      <h3>{nombre}</h3>
      <p>Modulo actual: {modulo}</p>
    </div>
  );
}

// Uso: <TarjetaAlumno nombre="Jorge" modulo={8} />
🧠 Ejercicio interactivo

¿Qué son las «props» de un componente en React?

Lección 3

Estado

📘 Explicación

El «estado» (state) es información que un componente puede cambiar con el tiempo, como un contador o el texto de un formulario. Cuando el estado cambia, React vuelve a dibujar automáticamente la parte de la interfaz afectada.

JavaScript
import { useState } from "react";

function Contador() {
  const [cuenta, setCuenta] = useState(0);

  return (
    <div>
      <p>Has hecho clic {cuenta} veces</p>
      <button onClick={() => setCuenta(cuenta + 1)}>Sumar</button>
    </div>
  );
}
🧠 Ejercicio interactivo

¿Qué ocurre en React cuando cambia el estado de un componente mediante su función «set»?

📎 Recursos oficiales
Lección 4

Tailwind CSS

📘 Explicación

Tailwind es una librería de CSS que ofrece clases pequeñas y muy específicas (como p-4, text-center o bg-blue-500) que se combinan directamente en el HTML, evitando escribir CSS personalizado para cada elemento.

HTML
<button class="bg-cyan-500 text-white font-bold py-2 px-4 rounded hover:bg-cyan-600">
  Enviar
</button>
🧠 Ejercicio interactivo

¿Cuál es la característica principal del enfoque de Tailwind CSS?

Lección 5

Laravel básico

📘 Explicación

Laravel es un framework de PHP que organiza un proyecto siguiendo el patrón MVC (Modelo-Vista-Controlador), aportando herramientas ya construidas para rutas, bases de datos, formularios y seguridad, en lugar de programar todo desde cero.

PHP
// routes/web.php
Route::get('/', function () {
    return view('inicio');
});

// El framework se encarga de: enrutado, plantillas, seguridad basica
// y conexion a base de datos mediante su propio sistema (Eloquent).
🧠 Ejercicio interactivo

¿Qué patrón de organización sigue Laravel?

📎 Recursos oficiales
Lección 6

Rutas

📘 Explicación

Una ruta define qué código se ejecuta cuando alguien visita una URL concreta. En Laravel, las rutas se centralizan en archivos como routes/web.php, lo que facilita ver de un vistazo todas las páginas que tiene la aplicación.

PHP
Route::get('/alumnos', [AlumnoController::class, 'index']);
Route::get('/alumnos/{id}', [AlumnoController::class, 'ver']);
Route::post('/alumnos', [AlumnoController::class, 'crear']);
🧠 Ejercicio interactivo

¿Qué representa {id} en la ruta /alumnos/{id}?

📎 Recursos oficiales
Lección 7

Controladores

📘 Explicación

Un controlador contiene la lógica que responde a una petición: qué datos buscar, qué comprobaciones hacer, y qué vista mostrar como resultado. Mantiene esa lógica separada de las rutas y de las plantillas visuales.

PHP
class AlumnoController extends Controller
{
    public function index()
    {
        $alumnos = Alumno::all(); // obtiene todos los alumnos
        return view('alumnos.listado', ['alumnos' => $alumnos]);
    }
}
🧠 Ejercicio interactivo

¿Cuál es la responsabilidad principal de un controlador en el patrón MVC?

📎 Recursos oficiales
Lección 8

Vistas

📘 Explicación

Una vista es la plantilla que define cómo se ve la página final. En Laravel se usan archivos Blade (.blade.php) que mezclan HTML normal con pequeñas instrucciones especiales para mostrar datos dinámicos o repetir bloques.

PHP
{{-- resources/views/alumnos/listado.blade.php --}}
<h1>Lista de alumnos</h1>
<ul>
  @foreach ($alumnos as $alumno)
    <li>{{ $alumno->nombre }} - Modulo {{ $alumno->modulo_actual }}</li>
  @endforeach
</ul>
🧠 Ejercicio interactivo

¿Qué hace la instrucción @foreach en una vista Blade?

📎 Recursos oficiales