Currículo: esta unidad desarrolla todos los saberes básicos del Bloque D – Desarrollo móvil correspondiente a 1ºESO. Además, se evalúan los criterios que puedes encontrar al final de esta página.
Tabla de contenidos
- 2.1. Introducción a los IDEs de lenguajes de bloques para móviles
- 2.2. Introducción a la programación orientada a eventos
- 2.3. Definición de eventos
- 2.4. Generadores de eventos: los sensores
- 2.5. Introducción a las E/S: capturas de eventos y sus respuestas
- 2.6. Proyectos de desarrollo móvil
En el presente en el que vivimos, cada uno de nosotros es capaz de crear herramientas que resuelven problemas cotidianos, conectan personas o simplemente nos hacen la vida más fácil y entretenida.
¿No sabes cómo?
Todo esto podemos hacerlo gracias al desarrollo de aplicaciones móviles. En este tema, no solo vamos a aprender sobre tecnología; vamos a transformar nuestra manera de interactuar con el mundo que nos rodea.
La programación móvil, en especial la que nos permiten herramientas como Thunkable, nos ofrece una oportunidad única para entender cómo se construyen las aplicaciones que usamos a diario. ¿Alguna vez os habéis detenido a pensar que ocurre detrás de apps como WhatsApp, Instagram o incluso juegos simples como Candy Crush? Detrás de cada gesto sobre la pantalla, cada notificación o cada puntuación alta, hay líneas de código que alguien, en algún lugar, ha imaginado y creado.
En este recorrido que comienza ahora, os invito a ver más allá de la pantalla de vuestro móvil y a imaginaros a vosotros mismos como arquitectos de estos universos digitales.
Las aplicaciones móviles no son solo programas; son extensiones de nuestra creatividad. Al explorar la programación orientada a eventos, empezaremos a entender cómo nuestros dispositivos pueden servir como lienzos en blanco para nuestra imaginación.
Considerad por un momento la capacidad de vuestro móvil para transformar un simple toque en la pantalla en una acción que puede conectaros con amigos, mostraros nuevos mundos o incluso ayudaros a aprender algo nuevo. Esta interacción, que a menudo damos por sentada, es el corazón de lo que significa programar para móviles.
A través del desarrollo móvil, aprenderéis a programar; aprenderéis a pensar de manera diferente, a ver problemas como oportunidades y a imaginar soluciones que aún no existen.
Os animo a seguir este camino con interés y con la actitud de creadores, porque solo así conseguiremos alcanzar soluciones innovadoras.
2.1. Introducción a los IDEs de lenguajes de bloques para móviles
En los primeros años de la era digital, la creación de aplicaciones móviles estaba reservada a aquellos con conocimientos avanzados en programación, capaces de entender y manejar complejos lenguajes de código, como este:

Sin embargo, la tecnología, siempre en su empeño por derribar barreras, nos ha brindado herramientas que transforman esta realidad, convirtiendo la programación en una actividad accesible para todos. Entre estas herramientas se encuentran los IDEs de lenguajes de bloques para móviles, como el Thunkable, que guiará nuestras prácticas a lo largo de este tema.
Un IDE –Entorno de Desarrollo Integrado–, es como un taller digital todo en uno para personas que crean aplicaciones. Imagina que quieres construir un modelo de avión; en tu taller tendrías todas las herramientas necesarias, desde martillos hasta pegamento, organizadas y preparadas para ser usadas. De forma similar, un IDE proporciona a los programadores todas las herramientas que necesitan —como un editor para escribir y corregir código, un simulador para probar el programa y ver si funciona, y muchas otras ayudas—, en un único lugar.
Esto hace que el proceso de crear software sea más fácil, incluso para aquellos que están, como vosotros, dando sus primeros pasos en el mundo de la programación.
La belleza de los IDEs de lenguajes de bloques reside en su capacidad para visualizar la programación. En lugar de escribir líneas de código, los usuarios construyen programas ensamblando bloques que representan diferentes funciones o acciones, similar a cómo se construiría un modelo con piezas de LEGO.
Esta aproximación no solo hace la programación más intuitiva sino que también permite a los principiantes entender conceptos fundamentales sin verse superados por una sintaxis compleja.
De la misma manera que aprendimos los conceptos básicos de programación con Scratch y los de robótica con Makecode, ahora veremos los de desarrollo móvil con Thunkable:

Este enfoque visual hacia la programación abre un mundo de posibilidades creativas: podríais crear una app que ayude a organizar vuestro día a día, una que os enseñe nuevas palabras en un idioma extranjero cada día, o incluso una que conecte a personas con intereses comunes.
Las posibilidades son tan ilimitadas como vuestra imaginación.
Aquí tienes un excelente punto de partida para aprender a programar aplicaciones móviles.
2.2. Introducción a la programación orientada a eventos
La programación orientada a eventos es una forma muy útil de interactuar con el mundo digital que nos rodea, permitiéndonos crear aplicaciones que responden a lo que sucede a nuestro alrededor, como si tuvieran vida propia: transforma la pasividad en interactividad, esperando y respondiendo a señales o acciones específicas, como un toque en la pantalla, un mensaje entrante o incluso el cambio en la orientación del dispositivo.

Un ejemplo real y cotidiano de programación orientada a eventos es cómo funciona una aplicación de mensajería instantánea en vuestro móvil. La aplicación permanece en espera hasta que recibe un nuevo mensaje. En ese momento, se activa un evento que provoca que la aplicación os notifique la llegada de este mensaje. Este proceso, que podría parecer mágico a primera vista, es el resultado de una cuidadosa planificación que aplica la programación orientada a eventos.
Curiosamente, este concepto no es exclusivo del mundo digital. Pensemos en un timbre de puerta: permanece inactivo hasta que alguien presiona el botón. Al hacerlo, se genera un evento -la presión del botón- que activa una respuesta -el sonido del timbre o una notificación al móvil-. Por tanto, los eventos desencadenan respuestas específicas, un principio que aplicamos en la programación para crear aplicaciones interactivas.

La programación orientada a eventos nos invita a pensar en las aplicaciones como entidades que «escuchan» y «reaccionan» al mundo exterior, lo que añade una capa de interactividad y dinamismo a nuestras creaciones digitales.
Es importante destacar que este enfoque de programación nos enseña a ser observadores y a anticipar cómo los usuarios querrán interactuar con nuestras aplicaciones. Este proceso de anticipación y respuesta es fundamental para diseñar experiencias de usuario que sean intuitivas y amigables.
2.3. Definición de eventos
En el mundo del desarrollo de aplicaciones móviles, ya sea mediante la programación tradicional con texto o a través de lenguajes de programación por bloques como Thunkable, los eventos son una piedra angular que permite a las aplicaciones interactuar con los usuarios de formas intuitivas y dinámicas. La definición de eventos en ambos entornos comparte principios fundamentales, aunque se manifieste de maneras distintas.
En lenguajes de programación textual, como Java, Kotlin o JavaScript, que son comúnmente utilizados para el desarrollo de aplicaciones Android, un evento se define mediante la escritura de funciones o métodos específicos que están diseñados para ser ejecutados cuando ocurre el evento.
Por ejemplo, si deseamos que algo suceda cuando un usuario toca un botón, escribimos una función que defina claramente esa «respuesta» y luego asociamos esta función con el evento de «tocar» el botón. Esta asociación se logra mediante el uso de «listeners» o «escuchadores» de eventos, que están constantemente monitoreando la actividad del usuario, esperando que ocurra el evento definido para ejecutar la función asociada.

En lenguajes de programación por bloques, como el que utiliza el MIT App Inventor, la definición de eventos se realiza de manera más visual e intuitiva. En lugar de escribir código, se arrastran y sueltan bloques que representan diferentes componentes y eventos.

Como ves, en el ejemplo anterior, cada bloque tiene su propia funcionalidad definida, y al ensamblar estos bloques, se construye la lógica de la aplicación.
Por ejemplo, para manejar el evento de un toque en la pantalla, se seleccionaría un bloque que represente ese elemento con el que interactúa el usuario -botón atrás, por ejemplo- y luego se conecta a otro bloque que indique la acción a realizar cuando el botón es tocado -mostrar un texto en pantalla, por ejemplo-.
Esta metodología permite a los programadores, especialmente a los principiantes, comprender y definir eventos de una manera más tangible.
Lo que tienen en común los eventos en la programación de móviles, sin importar el lenguaje o método utilizado, es que siempre involucran dos componentes clave: el disparador del evento (por ejemplo, tocar un botón, recibir un mensaje, cambiar la orientación del dispositivo) y la respuesta o acción que se lleva a cabo como resultado de ese evento.

Esta estructura de causa y efecto es universal en el desarrollo de aplicaciones móviles y es fundamental para crear interacciones significativas entre el usuario y la aplicación.
2.4. Generadores de eventos: los sensores
Cuando programamos aplicaciones móviles, los sensores actúan como los ojos y oídos del dispositivo, permitiéndonos capturar una amplia gama de eventos que ocurren en el mundo real.
Estos son los principales sensores que incorporan los dispositivos móviles, y que podemos «leer» para programar «respuestas» interesantes:
Sensor | Descripción | Aplicaciones prácticas |
Acelerómetro | Mide los cambios en la velocidad de movimiento del dispositivo en tres dimensiones. | Juegos que requieren inclinación del dispositivo para controlar personajes y otros elementos, aplicaciones de contador de pasos,… |
Giroscopio | Detecta la orientación/rotación del dispositivo. | Mejora de la precisión en juegos y aplicaciones de realidad virtual, aplicaciones de brújula digital,… |
Sensor de proximidad | Detecta cómo de cerca está el dispositivo de un objeto externo, como la cara del usuario. | Apagar la pantalla durante las llamadas telefónicas para evitar toques accidentales, aplicaciones de ahorro de energía,… |
Sensor de luz ambiental | Mide la intensidad de la luz en el entorno del dispositivo. | Ajuste automático del brillo de la pantalla para mejorar la visibilidad y ahorrar batería,… |
GPS | Proporciona la ubicación geográfica precisa del dispositivo. | Aplicaciones de navegación y mapas, juegos basados en la localización, herramientas de seguimiento,… |
Barómetro | Mide la presión atmosférica. | Aplicaciones meteorológicas, estimación de altitud para actividades al aire libre como el senderismo,… |
Magnetómetro | Detecta el campo magnético de la Tierra y determina la dirección. | Brújulas digitales, aplicaciones de orientación y navegación,… |
Podómetro | Cuenta los pasos del usuario mediante el análisis del movimiento. | Aplicaciones de seguimiento de la actividad física, retos de pasos,… |
Sensor de huellas dactilares | Identifica las huellas dactilares del usuario para autenticación. | Bloqueo de seguridad para aplicaciones, autenticación para transacciones electrónicas,… |
Cámara | Captura imágenes y vídeos. | Aplicaciones de realidad aumentada, escáneres de documentos, aplicaciones de fotografía y vídeo,… |
Micrófono | Capta sonidos y voz. | Asistentes de voz, grabadoras de sonido, aplicaciones de reconocimiento de música,… |
Los sensores son ejemplos perfectos de generadores de eventos. Todos estos componentes tienen una cosa en común: detectan cambios en el entorno y generan eventos que pueden ser utilizados para desencadenar diversas acciones dentro de una aplicación.
Sin estos sensores y la programación orientada a eventos, nunca habría sido posible desarrollar un juego como “Pokémon GO”, el juego que revolucionó la forma en que los usuarios interactúan con sus entornos al utilizar el GPS y la cámara del teléfono. Por si no lo conoces, así es como funciona: al caminar por el mundo real, los jugadores pueden descubrir Pokémon ocultos en ubicaciones específicas, gracias a la integración de datos de localización con la realidad aumentada, todo ello impulsado por eventos generados por los sensores del dispositivo.

En nuestras prácticas con Thunkable, veremos cómo programar aplicaciones que respondan a estos eventos generados por sensores, utilizando bloques como estos:
¿Se te ocurre alguna aplicación novedosa que interactúe con el mundo físico?
¡Vamos a programarla!
2.5. Introducción a las E/S: capturas de eventos y sus respuestas
Cada vez que tocamos la pantalla, deslizamos el dedo o incluso hablamos, estamos enviando una señal -una entrada-, que el dispositivo capta. Esta entrada es un evento que el dispositivo procesa y nos responde: abre una aplicación, reproduce una canción o envía un mensaje -la salida-. Esta interacción es el resultado de un complejo equilibrio entre las entradas (E) que proporcionamos y las salidas (S) que el dispositivo nos ofrece en respuesta.
Una curiosidad que ilustra perfectamente la importancia de las E/S en nuestra experiencia digital es la evolución del teclado QWERTY.

Originalmente diseñado para mejorar la velocidad de escritura al situar las teclas de manera que fuera necesario usar las dos manos para escribir una mayoría de palabras, su disposición se ha mantenido en los teclados digitales no por necesidad mecánica, sino por familiaridad y eficiencia en la entrada de datos. Este es un claro ejemplo de cómo las consideraciones de E/S han moldeado nuestras herramientas digitales.
En el contexto de MIT App Inventor, podríamos crear una aplicación que, por ejemplo, al detectar un toque en un botón -entrada-, reproduzca un sonido -salida-.

Este conocimiento nos abre un abanico de posibilidades creativas. Podemos imaginar aplicaciones educativas que, mediante la captura de eventos como respuestas a preguntas en un quiz, ofrezcan retroalimentación inmediata, o juegos que utilicen la aceleración y orientación del dispositivo como entradas para controlar personajes o elementos en la pantalla.
A continuación, puedes ver 5 ejemplos de aplicaciones móviles creativas en las que se identifican algunas entradas y salidas, para reforzar tu comprensión de estos conceptos:
- Aplicación de realidad aumentada para educación:

- Entrada: la cámara del dispositivo móvil captura imágenes del entorno del usuario.
- Salida: la aplicación superpone información educativa o modelos 3D interactivos sobre la imagen capturada, proporcionando una experiencia de aprendizaje inmersiva sobre temas como la historia, la ciencia o el arte.
- Juego de música interactivo:

- Entrada: el usuario toca la pantalla siguiendo un patrón rítmico o sacude el dispositivo en momentos específicos de una canción.
- Salida: la aplicación genera efectos visuales dinámicos y evalúa el rendimiento del usuario, ofreciendo puntuaciones basadas en el ritmo.
- Aplicación de meditación guiada:

- Entrada: el usuario selecciona su estado de ánimo actual y el tiempo disponible para meditar a través de una interfaz de usuario intuitiva.
- Salida: la aplicación sugiere una sesión de meditación guiada personalizada, con música y narración adaptadas a las necesidades específicas del usuario, promoviendo la relajación.
- Traductor de lenguaje de signos en tiempo real:

- Entrada: el usuario realiza gestos de lenguaje de signos frente a la cámara del dispositivo.
- Salida: utilizando el procesamiento de imágenes, la aplicación interpreta los gestos y muestra la traducción en texto o voz en tiempo real, facilitando la comunicación con personas con dificultades auditivas.
- Aplicación para el cultivo de plantas:

- Entrada: el usuario introduce variables como el tipo de planta, la ubicación geográfica y las condiciones actuales de luz/humedad, o incluso permite que la aplicación acceda a datos del sensor ambiental del dispositivo.
- Salida: basándose en esta información, la aplicación ofrece recomendaciones personalizadas sobre cuidados, riego, y puede enviar notificaciones regulares para recordar al usuario cuándo atender sus plantas, promoviendo una jardinería satisfactoria.
2.6. Proyectos de desarrollo móvil
En esta sección realizaremos una introducción a la programación por bloques de aplicaciones móviles con Thunkable, y estableceremos unas bases sólidas sobre las que seguiremos construyendo aplicaciones más complejas en los dos próximos cursos:
- Thunkable 1: registro e inicio de sesión.
- Thunkable 2: la interfaz de usuario.
- Thunkable 3: hola mundo.
- Thunkable 5: orígenes de datos.
- Thunkable 6: traductor.
- Thunkable 7: reconocimiento de imágenes.