Aprender código jugando con Swift Playgrounds
Saber trabajar con código de programación es una competencia cada vez más necesaria. Como hemos comentado en un artículo anterior, numerosas empresas desarrollan soluciones para que personas sin conocimientos previos, incluso niños, puedan iniciarse en la programación creativa. A las iniciativas que hemos explorado en otros artículos de este blog se suma la propuesta de Apple para aprender a manejar su lenguaje de programación Swift de la manera más entretenida: jugando.
Apple creó Swift en 2014 como un lenguaje de programación destinado a crear apps para iOS, Mac, Apple TV y Apple Watch. La empresa californiana lanzó este recurso para facilitar a todo tipo de desarrolladores la creación de apps que enriquecen sus sistemas operativos y los dispositivos que dependen de ellos. Por ello, Swift es un lenguaje de código abierto, rápido y eficiente, pensado para ser empleado por cualquier programador en poco tiempo, que cuenta con un entorno en el que es posible visualizar en tiempo real los resultados del código a medida que éste se ejecuta. Apple ha puesto Swift a disposición de desarrolladores, profesores y estudiantes con una licencia de código abierto y binarios para OSX y Linux que permiten compilar el código para iOS, OSX, watchOS, tvOS y Linux. A fin de facilitar su uso, Apple ofrece además de forma gratuita el manual The Swift Programming Language en iBooks, la aplicación Xcode para MacOS que permite crear software para MacOS e iOS y una comunidad de desarrolladores en la que se puede obtener información avanzada, novedades y otros recursos como vídeos, guías, y código de ejemplo. De esta manera, Swift es una puerta abierta para que cualquiera desarrolle un programa compatible con los productos de Apple.
El eslabón que faltaba para completar la accesibilidad de Swift a todo tipo de creadores era un entorno dirigido a personas sin conocimientos previos de programación, que les facilite adentrarse en los principios del código de programación de manera amena y sencilla. Con este fin, Apple ha creado Swift Playgrounds, una app para iPad que estará disponible en otoño. Playgrounds se presenta como un juego en el que el usuario controla a un personaje de una serie de escenarios estructurados como un tablero tridimensional dividido en casillas. Los escenarios, de una gran belleza, recuerdan en cierto modo al universo del popular juego Monument Valley (desarrollado por ustwo) y tienen por objetivo plantear un entorno visualmente atractivo pero también apacible, en el que el usuario observará los resultados del código que ha escrito. El personaje que habita en este mundo, un simpático cíclope llamado Byte, es controlado por el usuario por medio de los comandos que escribe en Swift. Siguiendo la dinámica de muchos videojuegos populares entre los más jóvenes (y el gran público), el personaje debe moverse por los escenarios para coleccionar gemas. El usuario debe entonces escribir el código, en definitiva una serie de instrucciones, que permitirá a Byte desplazarse por el mundo imaginario y atrapar una gema. Las acciones del personaje, pautadas por la estructura de casillas que domina en cada escenario, responde a las líneas de código, al menos en los comandos iniciales que se centran en movimientos básicos y permiten al usuario entender cómo cada instrucción corresponde a una acción en el entorno virtual. Por supuesto, un aspecto importante aquí es que el usuario debe escribir correctamente el código para que este se pueda traducir en acciones concretas, lo cual también enseña cómo un código mal escrito conduce a errores al ser ejecutado. Para facilitar la correcta introducción del código y evitar frustraciones al usuario novel (en especial si es un niño), el programa sugiere comandos específicos que se introducen en el código al hacer clic en ellos. Con ello, también, se aprovechan las posibilidades de la pantalla táctil del iPad y se evita la desagradable experiencia de teclear durante mucho tiempo en un teclado virtual (algo que la mayoría de los usuarios evitan comprando teclados inalámbricos o integrados en la funda de la tablet). La interfaz también permite explorar el mundo virtual rotando el escenario con los dedos o haciendo zoom con los gestos habituales. Esto facilita explorar el entorno y decidir qué instrucciones se deben dar a Byte. Finalmente, la app incluye un teclado virtual QuickType para escribir código, que permite añadir comandos con unos pocos toques o bien arrastrando elementos en la pantalla.
Swift Playgrounds está pensado específicamente para el iPad tanto por la manera en que emplea la pantalla como por su planteamiento como un juego al que se puede jugar en las ocasiones en que habitualmente se emplea una tablet, momentos de relax o de espera, en un medio de transporte o en el sofá de casa. En este sentido, Apple afirma que la app plantea una forma de aprendizaje diferente, en la que el usuario aprende a escribir código a medida que resuelve retos y progresa en las fases del juego. La app ofrece en primer lugar una serie de lecciones (la primera de las cuales es «Los fundamentos de Swift») con las que los neófitos pueden aprender a programar, y unos retos para los usuarios más avanzados.
Más allá del juego, Swift Playgrounds permite crear proyectos nuevos con código a partir de plantillas en las que se muestra cómo utilizar los recursos del iPad, tales como la interacción con la pantalla táctil, el acelerómetro y el giroscopio. El usuario puede añadir además sus propias imágenes y sonidos. El código creado de esta manera puede visualizarse en el iPad o también se puede compartir por email, Messages o AirDrop, así como crear un vídeo que se puede compartir en cualquier web o red social. Otro usuario de Swift Playgrounds puede luego crear una versión diferente modificando el código. Finalmente, es posible llevar el código de Swift Playgrounds a Xcode para trabajar a un nivel más profesional y desarrollar apps para iOS y Mac OS.
Con esta nueva app, Apple enlaza la formación en programación para todo tipo de usuarios (en línea con su slogan Todo el mundo puede programar) con la difusión de un lenguaje pensado para sus propios dispositivos. Al hacer que Swift sea el primer lenguaje de programación que aprenden muchos jóvenes y neófitos, no sólo contribuye a que un mayor número de personas adquieran la competencia de saber programar, sino que los dirige de forma natural hacia su propio ecosistema. Swift Playgrounds se suma así a otras iniciativas que van desde Processing a Scratch y juguetes como Cubetto en la formación de nuevas generaciones de programadores. Queda por saber hacia qué dispositivos y sistemas operativos dirigirán su creatividad estos jóvenes desarrolladores.