Aplicaciones sencillas para móvil y web
Valentina quiere una app para calcular la propina en la parrilla de su tío, en Rosario. 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 sabrás.
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 el puntaje en 0 y la pregunta en 1.
-
Mostrar la pregunta actual.
-
Leer la respuesta. ¿Es correcta? Si sí, sumar 1 al puntaje; 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 el puntaje 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 (1 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 toca el botón para mostrar el resultado, e indicá 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. 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 el puntaje, 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 el puntaje, 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: sumar texto o íconos (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», porque quien ya conoce la app no quiere perder tiempo.
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 uses 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 el último pronóstico de las 8:00») 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 clima funciona en parte sin conexión: muestra el último pronóstico descargado, pero no lo actualiza. Explicá qué partes de una app pueden seguir funcionando…
Una app del clima funciona en parte sin conexión: muestra el último pronóstico descargado, pero no lo 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 suman 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 financiarla con apoyo de la escuela o de la cooperadora, publicarla con licencia libre (código abierto) y mantenerla entre estudiantes y docentes. Además, la Ley 25.326 de protección de datos personales exige cuidar especialmente los datos de menores.
Volvé al principio: la app de propinas de Valentina 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 el curso 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 el curso 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.
El equipo directivo de la escuela quiere encargar una app nativa en Google Play y App Store para consultar el catálogo de la biblioteca, pero la institución cuenta con…
El equipo directivo de la escuela quiere encargar una app nativa en Google Play y App Store para consultar el catálogo de la biblioteca, pero la institución cuenta con un presupuesto de 0 pesos y los alumnos utilizan dispositivos muy diversos (celulares Android, iPhone y computadoras con Linux). Rebatí la propuesta de la dirección analizando los costos de publicación en las tiendas y los problemas de compatibilidad entre plataformas. A continuación, justificá por qué una aplicación web (web app) es la opción técnicamente más adecuada y explicá qué solución aplicarías si la escuela sufre caídas frecuentes de conexión wifi.
Su equipo programó una app para organizar los torneos deportivos del recreo. Un compañero propone financiarla insertando anuncios de una red comercial y cobrando 0,99…
Su equipo programó una app para organizar los torneos deportivos del recreo. Un compañero propone financiarla insertando anuncios de una red comercial y cobrando 0,99 pesos mediante compras dentro de la app para desbloquear las estadísticas avanzadas. Justificá dos problemas legales o éticos que tiene este modelo al aplicarse en una escuela con menores de edad. Después, diseñá 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 encontrás «SuperNotas». En la tienda de aplicaciones observás los siguientes datos: Puntuación media: 4,9 ★ con 2.500…
Vas a descargar una app para calcular notas y encontrás «SuperNotas». En la tienda de aplicaciones observás 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.
Interpretá estos datos: explicá qué práctica fraudulenta está teniendo lugar y qué objetivo persigue. A continuación, predecí qué riesgos asume quien la instale guiándose solo por la nota media y redactá 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 # ojo: Python no acepta la coma decimal y exige el punto; acá se muestra con coma como en Argentina
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.