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
doublepara 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
RowyExpanded, sinGridView; - escribir un widget de botón reutilizable, parametrizado por un
enumy coloreado mediante elColorScheme; - 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 unListView; - aceptar el teclado físico con
KeyboardListeneryLogicalKeyboardKey; - 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