Aplicaciones sencillas para celular y web
Gabriela quiere una app para calcular la propina en la pupusería de su tío, en Santa Tecla. 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 la cuenta y la app se cerró. ¿Qué faltó revisar? Al final de la página lo vas a saber.
De la idea a la app publicada
Crear una app sencilla (un conversor, un contador, un test) junta lo que ya sabés 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.
Enumerá las fases por las que pasa la creación de una aplicación, desde la idea hasta que la usan otras personas, y explicá en qué consiste cada una. Razoná por qué no…
Enumerá las fases por las que pasa la creación de una aplicación, desde la idea hasta que la usan otras personas, y explicá en qué consiste cada una. Razoná por qué no conviene saltarse la fase de pruebas aunque el programa parezca funcionar.
Antes de programar conviene dibujar el prototipo en papel. Describí (o dibujá en tu cuaderno) las tres pantallas de una app «contador de vasos de agua»: la pantalla…
Antes de programar conviene dibujar el prototipo en papel. Describí (o dibujá en tu 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.
Podés 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 42, un número negativo, y también los extremos válidos (0 y 10).
Una app calcula la propina que conviene dejar en un restaurante a partir del importe de la cuenta. Identificá 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. Identificá 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}$. Escribí…
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}$.
Escribí los pasos que debe seguir la app cuando el usuario presiona el botón para mostrar el resultado, e indicá 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. Analizá su esquema entrada → proceso → salida y proponé dos utilidades reales que podría tener…
Una app muy simple recibe un texto y lo devuelve escrito en mayúsculas. Analizá su esquema entrada → proceso → salida y proponé dos utilidades reales que podría tener una app así dentro de otra más grande.
Describí 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…
Describí 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. Usá 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. Explicá 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. Explicá qué son los datos de entrada no válidos, proponé dos controles que la app debería hacer antes de calcular y describí las pruebas que harías para comprobar que ya no falla.
Pantallas, elementos y prototipos
Un botón también puede combinar condiciones. Probá 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. Explicá 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. Explicá para qué sirve cada uno de esos cuatro elementos y poné un ejemplo de cada uno en una app que usés a menudo.
Las notificaciones avisan de novedades, pero demasiadas notificaciones hacen que el usuario desinstale la app. Diseñá 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ñá la política de avisos de la app de lectura del aula: qué tres avisos sí enviarías, qué avisos no, y qué opciones de configuración le dejarías al usuario.
Evaluá 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).…
Evaluá 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). Proponé tres mejoras concretas y explicá a qué usuarios beneficia cada una.
El «onboarding» son las pantallas que enseñan la app la primera vez que se abre. Diseñá 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ñá 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 desinstalás una app o cambiás 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 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 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 Wi-Fi, 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. Explicá qué diferencia hay entre ambos tipos y clasificá estas apps razonando tu…
Unas apps funcionan sin conexión a internet y otras no pueden hacer nada sin ella. Explicá qué diferencia hay entre ambos tipos y clasificá 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.
Un juego recuerda tu nivel, tus monedas y tu récord aunque cierres la app. Explicá qué es el almacenamiento local de una app, qué datos guarda ese juego y razoná qué…
Un juego recuerda tu nivel, tus monedas y tu récord aunque cierres la app. Explicá qué es el almacenamiento local de una app, qué datos guarda ese juego y razoná qué pasará con ellos si desinstalás la app o cambiás de celular sin copia.
Una app del tiempo funciona en parte sin conexión: muestra la última previsión descargada, pero no la actualiza. Explicá 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. Explicá qué partes de una app pueden seguir funcionando sin internet y diseñá 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. Analizá 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. Analizá si esos permisos son necesarios para su función, qué riesgos tiene concederlos sin pensar y redactá 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 un centro escolar, la publicidad invasiva y los cobros que dejan fuera a quien no puede pagar son problemas éticos. Una alternativa es financiarla con apoyo del centro escolar o de la comunidad, publicarla con licencia libre y mantenerla entre estudiantes y docentes.
Privacidad desde el diseño
La privacidad desde el diseño significa decidir, antes de programar, qué datos necesita de verdad la app. Se piden solo los datos mínimos para que la función ande; todo lo demás, aunque «pudiera ser útil algún día», no se pide. Además, la decisión se explica al usuario en la ficha de la tienda: qué datos se piden, para qué y cuáles no se recogen.
Volvé al principio: la app de propinas de Gabriela 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. Explicá qué te 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. Explicá qué te aportan las valoraciones, el número de descargas, los permisos que pide y el nombre del desarrollador, y qué combinación de esos datos te haría desconfiar.
Las apps se actualizan cada cierto tiempo. Explicá dos motivos por los que conviene mantenerlas actualizadas y un riesgo de no hacerlo, y razoná por qué a veces una…
Las apps se actualizan cada cierto tiempo. Explicá dos motivos por los que conviene mantenerlas actualizadas y un riesgo de no hacerlo, y razoná por qué a veces una actualización cambia funciones que te gustaban.
Algunas apps se descargan primero como «versión beta» para un grupo pequeño de usuarios. Explicá 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. Explicá qué significa esa etiqueta, qué ventajas tiene probar así antes del lanzamiento oficial y qué dos cosas deberías esperar de una beta (y no enojarte cuando ocurran).
Diseñá 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ñá 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ías antes de publicarla.
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 bloque al texto
Hasta ahora programaste 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")
Aplicando la idea de «privacidad desde el diseño», definí 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», definí 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ías esas decisiones a los usuarios en la ficha de la tienda.
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: Consultá en la web del MARN (Ministerio de Medio Ambiente y Recursos Naturales) el pronóstico para mañana en tu municipio y anotá en una tabla la temperatura máxima ($T_{\text{máx}}$ en ºC) y la probabilidad de precipitación ($P$ en %).
-
Pensamiento computacional: Diseñá 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: Implementá 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: Elaborá un informe breve (una página) con la captura del diagrama, la tabla con los datos reales del MARN, 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.