Aplicaciones sencillas para móvil y web
Dania quiere una app para calcular el total de una compra con el ISV de 15 % en la pulpería de su tío. Primero la imaginó, luego la dibujó en una hoja, después la programó y, antes de compartirla, se la dio a probar a sus amigas. Una de ellas escribió «abc» en el precio y la app se cerró. ¿Qué faltó revisar? Al final de la página lo sabrá.
De la idea a la app publicada
Crear una app sencilla (un conversor, un contador, un test) junta lo que ya sabe 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 o en la web.
Enumere las fases por las que pasa la creación de una aplicación, desde la idea hasta que la usan otras personas, y explique en qué consiste cada una. Razone por qué no…
Enumere las fases por las que pasa la creación de una aplicación, desde la idea hasta que la usan otras personas, y explique en qué consiste cada una. Razone por qué no conviene saltarse la fase de pruebas aunque el programa parezca funcionar.
Antes de programar conviene dibujar el prototipo en papel. Describa (o dibuje en su cuaderno) las tres pantallas de una app «contador de vasos de agua»: la pantalla…
Antes de programar conviene dibujar el prototipo en papel. Describa (o dibuje en su cuaderno) 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.
Puede hacerlo en papel y enviar una foto con su 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 142, 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. Identifique 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. Identifique 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}$. Escriba…
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}$.
Escriba los pasos que debe seguir la app cuando el usuario presiona el botón para mostrar el resultado, e indique qué debería ocurrir si el usuario presiona «Convertir» sin haber escrito ningún número.
Una app muy simple recibe un texto y lo devuelve escrito en mayúsculas. Analice su esquema entrada → proceso → salida y proponga dos utilidades reales que podría tener…
Una app muy simple recibe un texto y lo devuelve escrito en mayúsculas. Analice su esquema entrada → proceso → salida y proponga dos utilidades reales que podría tener una app así dentro de otra más grande.
Describa 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…
Describa 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. Use 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. Explique 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. Explique qué son los datos de entrada no válidos, proponga dos controles que la app debería hacer antes de calcular y describa las pruebas que haría para comprobar que ya no falla.
Pantallas, elementos y prototipos
Un botón también puede combinar condiciones. Pruebe 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. Explique 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. Explique para qué sirve cada uno de esos cuatro elementos y ponga un ejemplo de cada uno en una app que use a menudo.
Las notificaciones avisan de novedades, pero demasiadas notificaciones hacen que el usuario desinstale la app. Diseñe la política de avisos de la app de lectura del…
Las notificaciones avisan de novedades, pero demasiadas notificaciones hacen que el usuario desinstale la app. Diseñe la política de avisos de la app de lectura del aula: qué tres avisos sí enviaría, qué avisos no, y qué opciones de configuración le dejaría al usuario.
Evalúe 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úe 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). Proponga tres mejoras concretas y explique a qué usuarios beneficia cada una.
El «onboarding» son las pantallas que enseñan la app la primera vez que se abre. Diseñe el onboarding de tres pantallas para la app de la merienda escolar: qué muestra…
El «onboarding» son las pantallas que enseñan la app la primera vez que se abre. Diseñe el onboarding de tres pantallas para la app de la merienda 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 desinstala una app o cambia 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 el último pronóstico de las 8:00 a. m.») y ofrece opciones: reintentar, seguir con lo guardado o ir a la configuración de red.
Permisos y consumo
Un permiso es la autorización que usted da 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 con wifi, usando la ubicación solo mientras la app está abierta y bajando el brillo.
Privacidad desde el diseño
Una app bien diseñada pide solo los datos que su función necesita (minimización). Cada dato de más es un riesgo si el celular se pierde o la app sufre una filtración, y también un permiso más que el usuario debe aceptar. Esa idea se llama privacidad desde el diseño: se decide qué datos pedir antes de programar, no después.
Unas apps funcionan sin conexión a internet y otras no pueden hacer nada sin ella. Explique qué diferencia hay entre ambos tipos y clasifique estas apps razonando su…
Unas apps funcionan sin conexión a internet y otras no pueden hacer nada sin ella. Explique qué diferencia hay entre ambos tipos y clasifique estas apps razonando su respuesta: una calculadora, unos mapas con tráfico en directo, un test de preguntas ya descargado y una app de mensajería.
Un juego recuerda su nivel, sus monedas y su récord aunque cierre la app. Explique qué es el almacenamiento local de una app, qué datos guarda ese juego y razone qué…
Un juego recuerda su nivel, sus monedas y su récord aunque cierre la app. Explique qué es el almacenamiento local de una app, qué datos guarda ese juego y razone qué pasará con ellos si desinstala la app o cambia de celular sin copia.
Una app del tiempo funciona en parte sin conexión: muestra la última pronóstico descargado, pero no lo actualiza. Explique qué partes de una app pueden seguir…
Una app del tiempo funciona en parte sin conexión: muestra la última pronóstico descargado, pero no lo actualiza. Explique qué partes de una app pueden seguir funcionando sin internet y diseñe 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. Analice 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. Analice si esos permisos son necesarios para su función, qué riesgos tiene concederlos sin pensar y redacte un criterio de tres preguntas para decidir qué permisos aceptar en cualquier app.
Aplicando la idea de «privacidad desde el diseño», defina qué datos mínimos pediría de verdad una app de tareas del aula para funcionar, qué datos NO pediría aunque…
Aplicando la idea de «privacidad desde el diseño», defina qué datos mínimos pediría de verdad una app de tareas del aula para funcionar, qué datos NO pediría aunque «pudieran ser útiles» y cómo explicaría esas decisiones a los usuarios en la ficha de la tienda.
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 le 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 su atención y, a veces, de sus datos. Si la usan menores de edad en un colegio, la publicidad invasiva y los cobros que dejan fuera a quien no puede pagar son problemas éticos. Una alternativa es financiarla con apoyo del colegio o de la comunidad, publicarla con licencia libre y mantenerla entre estudiantes y docentes.
Vuelva al principio: la app de Dania 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.
Antes de instalar una app de la tienda conviene fijarse en varios datos. Explique qué le aportan las valoraciones, el número de descargas, los permisos que pide y el…
Antes de instalar una app de la tienda conviene fijarse en varios datos. Explique qué le aportan las valoraciones, el número de descargas, los permisos que pide y el nombre del desarrollador, y qué combinación de esos datos le haría desconfiar.
Las apps se actualizan cada cierto tiempo. Explique dos motivos por los que conviene mantenerlas actualizadas y un riesgo de no hacerlo, y razone por qué a veces una…
Las apps se actualizan cada cierto tiempo. Explique dos motivos por los que conviene mantenerlas actualizadas y un riesgo de no hacerlo, y razone por qué a veces una actualización cambia funciones que le gustaban.
Algunas apps se descargan primero como «versión beta» para un grupo pequeño de usuarios. Explique qué significa esa etiqueta, qué ventajas tiene probar así antes del…
Algunas apps se descargan primero como «versión beta» para un grupo pequeño de usuarios. Explique qué significa esa etiqueta, qué ventajas tiene probar así antes del lanzamiento oficial y qué dos cosas debería esperar de una beta (y no enojarse cuando ocurran).
Diseñe una app completa llamada «Retos de lectura» para que la clase registre los libros que va leyendo: pantallas que tendría, datos de entrada y salida de cada una,…
Diseñe una app completa llamada «Retos de lectura» para que la clase 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ía antes de publicarla.
Vuestro equipo ha programado una app para organizar los torneos deportivos del recreo. Un compañero propone financiarla insertando anuncios de una red comercial y…
Vuestro equipo ha programado una app para organizar los torneos deportivos del recreo. Un compañero propone financiarla insertando anuncios de una red comercial y cobrando 0.99 lempiras mediante compras dentro de la app para desbloquear las estadísticas avanzadas. Justifica dos problemas legales o éticos que tiene este modelo al aplicarse en un centro escolar con menores de edad. Después, diseña un modelo alternativo para sostener y mantener la app sin recurrir a publicidad invasiva ni a pagos que discriminen a parte del alumnado.
Vas a descargar una app para calcular notas y encuentras «SuperNotas». En la tienda de apps observas los siguientes datos: Puntuación media: 4.9 ★ con 2,500…
Vas a descargar una app para calcular notas y encuentras «SuperNotas». En la tienda de apps observas los siguientes datos:
-
Puntuación media: 4.9 ★ con 2,500 valoraciones.
-
Fechas y texto: El 90 % de las 5 ★ se publicaron en solo tres días consecutivos, con textos idénticos («Excelente app») y perfiles sin imagen.
-
Permisos exigidos: Acceso a la agenda de contactos, ubicación precisa y micrófono.
Interpreta estos datos: explica qué práctica fraudulenta está teniendo lugar y qué objetivo persigue. A continuación, predice qué riesgos asume quien la instale guiándose solo por la nota media y redacta dos comprobaciones obligatorias que siempre se deben hacer antes de instalar una app desconocida.
Del algoritmo al pseudocódigo
Hasta ahora ha diseñado la app con pantallas y pasos. El paso siguiente es escribir el algoritmo en pseudocódigo: texto en español con Leer, Escribir, Si … Entonces … Si no … Fin Si y Mientras … Hacer. Las ideas son las mismas: variables, entrada y salida, decisiones y ciclos. Por ejemplo, el conversor de km a millas:
Escribir "Kilómetros:"
Leer km
millas = km / 1.6
Escribir "Son ", millas, " millas"
Reto del tema. Su misión es crear un prototipo de aplicación interactiva que recomiende a sus vecinos cómo vestirse y si necesitan paraguas según el pronóstico…
Reto del tema. Su misión es crear un prototipo de aplicación interactiva que recomiende a sus vecinos cómo vestirse y si necesitan paraguas según el pronóstico meteorológico oficial.
-
Toma de datos reales: Consulte en la web de COPECO o del Servicio Meteorológico Nacional (CENAOS) el pronóstico para mañana en su municipio y anote en una tabla la temperatura máxima ($T_{\text{máx}}$ en ºC) y la probabilidad de precipitación ($P$ en %).
-
Pensamiento computacional: Diseñe 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: Implemente su 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: Elabore un informe breve (una página) con la captura del diagrama, la tabla con los datos reales del Servicio Meteorológico Nacional, el enlace público a su 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.