Aplicaciones sencillas para móvil y web
Daniela quiere una app para calcular cuánto debe pagar cada amigo en la cafetería del barrio. Primero la imaginó, luego la dibujó en una hoja, después la programó y, antes de compartirla, se la dio a probar a sus compañeras del grupo. Una de ellas escribió «abc» en la cuenta y la app se cerró. ¿Qué faltó revisar? Al final de la página lo sabrás.
De la idea a la app publicada
Crear una app sencilla (un conversor, un contador, un test) junta lo que ya sabes de algoritmos y de bloques. Siempre se pasa por las mismas fases.
-
Idea: qué problema resuelve y para quién.
-
Diseño: dibujar las pantallas (prototipo) y qué hace cada botón.
-
Algoritmo: los pasos que seguirá la app, en lista o diagrama de flujo.
-
Programación: convertir el algoritmo en bloques o en código.
-
Pruebas: usar la app con datos normales y también raros, para encontrar fallos.
-
Publicación: ponerla a disposición de otras personas, por ejemplo en una tienda de apps, en la web o compartiéndola por memoria flash entre los compañeros del grupo.
Enumera las fases por las que pasa la creación de una aplicación, desde la idea hasta que la usan otras personas, y explica en qué consiste cada una. Razona por qué no…
Enumera las fases por las que pasa la creación de una aplicación, desde la idea hasta que la usan otras personas, y explica en qué consiste cada una. Razona por qué no conviene saltarse la fase de pruebas aunque el programa parezca funcionar.
Antes de programar conviene dibujar el prototipo en papel. Describe (o dibuja en tu libreta) las tres pantallas de una app «contador de vasos de agua»: la pantalla…
Antes de programar conviene dibujar el prototipo en papel. Describe (o dibuja en tu libreta) las tres pantallas de una app «contador de vasos de agua»: la pantalla principal con el contador, el botón para sumar un vaso y una pantalla de historial, indicando qué hace cada botón.
Puedes hacerlo en papel y enviar una foto con tu respuesta.
Entrada, proceso y salida en una app
Una app de test de cinco preguntas usa además decisiones y una repetición. Un algoritmo posible:
-
Poner la puntuación en 0 y la pregunta en 1.
-
Mostrar la pregunta actual.
-
Leer la respuesta. ¿Es correcta? Si sí, sumar 1 a la puntuación; si no, mostrar «Incorrecto».
-
Sumar 1 al número de pregunta.
-
¿Ya se contestaron las cinco? Si no, volver al paso 2 (repetición).
-
Mostrar la puntuación final.
Para probar un control así se usan casos como: casilla vacía, letras, un 420, un número negativo, y también los extremos válidos (0 y 100).
Una app calcula la propina que conviene dejar en un restaurante a partir del importe de la cuenta. Identifica qué datos introduce el usuario (entrada), qué hace la…
Una app calcula la propina que conviene dejar en un restaurante a partir del importe de la cuenta. Identifica qué datos introduce el usuario (entrada), qué hace la aplicación con ellos (proceso) y qué muestra al final (salida), siguiendo el esquema entrada → proceso → salida.
La figura muestra el diseño de pantalla de una app que convierte distancias de kilómetros a millas, sabiendo que $1\ \text{milla}$ equivale a $1,6\ \text{km}$. Escribe…
La figura muestra el diseño de pantalla de una app que convierte distancias de kilómetros a millas, sabiendo que $1\ \text{milla}$ equivale a $1,6\ \text{km}$.
Escribe los pasos que debe seguir la app cuando el usuario toca el botón para mostrar el resultado, e indica qué debería ocurrir si el usuario toca «Convertir» sin haber escrito ningún número.
Una app muy simple recibe un texto y lo devuelve escrito en mayúsculas. Analiza su esquema entrada → proceso → salida y propón dos utilidades reales que podría tener una…
Una app muy simple recibe un texto y lo devuelve escrito en mayúsculas. Analiza su esquema entrada → proceso → salida y propón dos utilidades reales que podría tener una app así dentro de otra más grande.
Describe el algoritmo de una app de test con cinco preguntas: cómo se guarda la puntuación, qué ocurre cuando el usuario acierta o falla, cómo se pasa a la siguiente…
Describe el algoritmo de una app de test con cinco preguntas: cómo se guarda la puntuación, qué ocurre cuando el usuario acierta o falla, cómo se pasa a la siguiente pregunta y qué se muestra al final. Usa pasos numerados con decisiones y una repetición.
Una app que calcula el promedio de las notas da resultados absurdos cuando alguna casilla se queda vacía o cuando alguien escribe una nota de 42. Explica qué son los…
Una app que calcula el promedio de las notas da resultados absurdos cuando alguna casilla se queda vacía o cuando alguien escribe una nota de 42. Explica qué son los datos de entrada no válidos, propón dos controles que la app debería hacer antes de calcular y describe las pruebas que harías para comprobar que ya no falla.
Pantallas, elementos y prototipos
Un botón también puede combinar condiciones. Prueba cómo una decisión depende de dos entradas:
Una app que se pueda usar
Un buen diseño piensa en todas las personas usuarias. Tres ideas de accesibilidad: botones grandes y separados (para dedos grandes o con poca precisión), buen contraste entre texto y fondo (para quien ve poco o usa el celular bajo el sol) y no depender solo del color: añadir texto o iconos (para personas con daltonismo).
Con las notificaciones pasa algo parecido: avisan de novedades, pero demasiadas hacen que la persona desinstale la app. Conviene enviar solo avisos útiles y dejar que el usuario elija cuáles recibe. El onboarding son las pantallas que explican la app la primera vez que se abre: deben ser pocas y tener un botón «Saltar».
Las pantallas de una app se construyen con elementos básicos: botones, etiquetas de texto, cuadros donde escribir e imágenes. Explica para qué sirve cada uno de esos…
Las pantallas de una app se construyen con elementos básicos: botones, etiquetas de texto, cuadros donde escribir e imágenes. Explica para qué sirve cada uno de esos cuatro elementos y pon un ejemplo de cada uno en una app que uses a menudo.
Evalúa la accesibilidad de esta pantalla de app: botones muy juntos y pequeños, texto gris claro sobre fondo blanco y toda la información solo en colores (sin textos).…
Evalúa la accesibilidad de esta pantalla de app: botones muy juntos y pequeños, texto gris claro sobre fondo blanco y toda la información solo en colores (sin textos). Propón tres mejoras concretas y explica a qué usuarios beneficia cada una.
El «onboarding» son las pantallas que enseñan la app la primera vez que se abre. Diseña el onboarding de tres pantallas para la app del comedor escolar: qué muestra cada…
El «onboarding» son las pantallas que enseñan la app la primera vez que se abre. Diseña el onboarding de tres pantallas para la app del comedor escolar: qué muestra cada pantalla, qué aprende el usuario en cada una y por qué debe haber un botón de «saltar».
Conexión, almacenamiento y permisos
Si desinstalas una app o cambias de celular sin copia de seguridad, los datos que estaban solo en el almacenamiento local se pierden. Por eso muchas apps ofrecen guardar una copia en la nube.
Cuando una app no tiene conexión, un buen mensaje dice qué pasa («Sin conexión; mostrando la última previsión de las 8:00») y ofrece opciones: reintentar, seguir con lo guardado o ir a la configuración de red. En Cuba, donde los datos móviles de ETECSA son limitados, esto es muy frecuente.
Permisos y consumo
Un permiso es la autorización que das a una app para usar el micrófono, la ubicación, los contactos, etc. Las apps de mapas gastan mucha batería y datos porque usan la ubicación constantemente, descargan mapas y mantienen la pantalla encendida. Se reduce descargando mapas por WiFi, usando la ubicación solo mientras la app está abierta y bajando el brillo.
Unas apps funcionan sin conexión a internet y otras no pueden hacer nada sin ella. Explica qué diferencia hay entre ambos tipos y clasifica estas apps razonando tu…
Unas apps funcionan sin conexión a internet y otras no pueden hacer nada sin ella. Explica qué diferencia hay entre ambos tipos y clasifica estas apps razonando tu respuesta: una calculadora, unos mapas con tráfico en directo, un test de preguntas ya descargado y una app de mensajería.
Una app del tiempo funciona en parte sin conexión: muestra la última previsión descargada, pero no la actualiza. Explica qué partes de una app pueden seguir funcionando…
Una app del tiempo funciona en parte sin conexión: muestra la última previsión descargada, pero no la actualiza. Explica qué partes de una app pueden seguir funcionando sin internet y diseña el mensaje de «sin conexión» que vería el usuario: qué debe decir y qué opciones debe ofrecer.
Una app de linterna pide permiso para acceder a los contactos, a la ubicación y al micrófono. Analiza si esos permisos son necesarios para su función, qué riesgos tiene…
Una app de linterna pide permiso para acceder a los contactos, a la ubicación y al micrófono. Analiza si esos permisos son necesarios para su función, qué riesgos tiene concederlos sin pensar y redacta un criterio de tres preguntas para decidir qué permisos aceptar en cualquier app.
Publicar, confiar y ganar dinero con una app
Una app puede ser nativa (se instala desde la tienda, usa mejor el celular, pero hay que hacerla para cada sistema y actualizarla) o web (se abre en el navegador, funciona en cualquier dispositivo y se actualiza sola, pero depende más de la conexión y accede a menos funciones del aparato).
Las actualizaciones corrigen fallos, cierran huecos de seguridad y añaden mejoras. No actualizar deja la app vulnerable. A veces cambian funciones que te gustaban porque el equipo decidió rediseñarlas o quitarlas.
¿Confío en esta app?
¿De qué vive una app?
Una app «gratis» con anuncios vive de tu atención y, a veces, de tus datos. Si la usan menores de edad en una escuela, la publicidad invasiva y los cobros que dejan fuera a quien no puede pagar son problemas éticos. Una alternativa es publicarla con licencia libre y mantenerla entre estudiantes y profesores, como se hace con el software libre (Nova, LibreOffice).
Vuelve al principio: la app de Daniela falló porque nadie la probó con un dato inválido como «abc». Un control de entrada y una prueba con datos raros lo habrían evitado.
Diseña una app completa llamada «Retos de lectura» para que el aula registre los libros que va leyendo: pantallas que tendría, datos de entrada y salida de cada una,…
Diseña una app completa llamada «Retos de lectura» para que el aula registre los libros que va leyendo: pantallas que tendría, datos de entrada y salida de cada una, algoritmo principal y tres pruebas concretas que harías antes de publicarla.
Decisiones con «o» y «y»: diagrama de flujo de una app del tiempo
Una app puede decidir con varias condiciones a la vez. Con «o» basta que una sea verdadera; con «y» deben cumplirse las dos. Los datos pueden venir del pronóstico del INSMET (temperatura máxima y probabilidad de lluvia).
Reto del tema. Tu misión es crear un prototipo de aplicación interactiva que recomiende a tus vecinos cómo vestirse y si necesitan paraguas según el pronóstico…
Reto del tema. Tu misión es crear un prototipo de aplicación interactiva que recomiende a tus vecinos cómo vestirse y si necesitan paraguas según el pronóstico meteorológico oficial.
-
Toma de datos reales: Consulta en la web del INSMET (Instituto de Meteorología de Cuba) el pronóstico para mañana en tu municipio y anota en una tabla la temperatura máxima ($T_{\text{máx}}$ en ºC) y la probabilidad de precipitación ($P$ en %).
-
Pensamiento computacional: Diseña un diagrama de flujo con condicionales lógicos (por ejemplo, si $T_{\text{máx}} < 16,5\text{ ºC}$ o si $P \ge 50\,\%$) para determinar qué consejos mostrar.
-
Programación por bloques: Implementa tu prototipo en Scratch o App Inventor. La aplicación debe solicitar ambos valores numéricos y mostrar un mensaje gráfico adecuado según las condiciones evaluadas.
-
Informe final: Elabora un informe breve (una página) con la captura del diagrama, la tabla con los datos reales del INSMET, el enlace público a tu programa y una prueba de funcionamiento.
Se valorará:
-
Corrección lógica del diagrama de flujo y uso adecuado de condicionales.
-
Funcionamiento interactivo y sin errores del código por bloques con los datos introducidos.
-
Diseño intuitivo y claro de la interfaz de usuario.
-
Calidad del informe breve y justificación de las decisiones tomadas.
Del bloque al texto
Hasta ahora has programado arrastrando bloques. Escribir el programa como texto es el siguiente paso, y las ideas son las mismas: variables, entrada y salida, condicionales, bucles y funciones. Por ejemplo, el conversor de km a millas en Python:
km = float(input("Kilómetros: "))
millas = km / 1,6
print("Son", millas, "millas")