0%
Calculadora — Capítulo 56

Capítulo 56 — Calculadora

Parte 1C — Ocho miniproyectos · Capítulo 56 de 62 · 12 h

Capítulo 56 — Calculadora

Nivel: intermedio Duración estimada: 12 h Requisitos previos: capítulos 08, 09, 13, 16 (Dart) y 45, 46, 48, 49, 51 (Flutter), más el capítulo 55 (proyecto 1) Lo que sabrá hacer al final: escribir una aplicación Flutter cuyo núcleo de negocio es una clase Dart pura, probada unitariamente, y cuya interfaz es solo una capa de presentación conectada a ella.


56.0 — Objetivos del capítulo

Al final de este capítulo, será capaz de:

  • transformar un pliego de requisitos en un autómata de estados antes de escribir una sola línea;
  • aislar la lógica de negocio en una clase Dart sin ningún import 'package:flutter/...';
  • modelar la entrada dígito a dígito de un número, separador decimal incluido;
  • encadenar operaciones como una verdadera calculadora de bolsillo, y gestionar la repetición de =, C, CE, el signo y el porcentaje;
  • lanzar y capturar una excepción de negocio (DivisionParZeroException);
  • formatear un double para una presentación legible: separador de millares, coma decimal, notación científica;
  • evitar que un texto demasiado largo desborde la pantalla con FittedBox;
  • construir una cuadrícula de botones con Row y Expanded, sin GridView;
  • escribir un widget de botón reutilizable, parametrizado por un enum y coloreado mediante el ColorScheme;
  • producir un efecto de pulsación correcto con Material + InkWell;
  • conectar la lógica a la interfaz con un único setState, y mostrar un historial en un ListView;
  • aceptar el teclado físico con KeyboardListener y LogicalKeyboardKey;
  • escribir las pruebas unitarias de la lógica, ejecutables sin emulador.

Comentarios

Los comentarios funcionan con GitHub Discussions

Inicia sesión con GitHub para participar en la discusión

¡Enlace copiado!