En estos días nos parece común tener, a distancia de un clic, más información que el presidente de Estados Unidos hace 50 años o más poder de procesamiento que la central de la NASA cuando el hombre llego por primera vez a la luna. Con todo esto, uno tiene la posibilidad de llegar a cualquier lugar del mundo, desde su celular o computadora sin salir de su casa. Lo interesante ocurre cuando uno puede pasar del rol de consumidor al de creador y en donde uno no es simplemente un espectador, sino que puede generar contenido.
El rol de creador no es fácil, requiere dedicarle mucho tiempo y encontrar una necesidad o un tema a investigar, siempre nos va a ser más fácil quedarnos jugando al Candy Crush que ponernos a programar un juego. Además, la sociedad cada vez más fomenta la consumición sin dejarnos crear, las consolas de videojuegos son un ejemplo, donde lo único que uno puede hacer es jugar, sin opción de crear o peor, de modificar, porque el paso previo antes de la creación, es la modificación lo que permite entender el funcionamiento y articulación de un programa o de cualquier cosa que estemos investigando.
Aunque el panorama no es tan negativo; con el avance de las tecnologías crear una aplicación que cualquiera pueda descargar, sin importar en qué parte del mundo éste, cada vez es más fácil. Hoy en día, con el acceso a una computadora y a internet, podemos tomar el rol de creadores y crear aplicaciones.
Las aplicaciones tienen una gran intersección con la investigación científica y es que nunca fue más fácil poder llevar a cabo experimentos con tanta gente. Un caso sorprendente es el de la aplicación Moravec, en donde Federico Zimmerman para su tesis de licenciatura en ingeniería electrónica, trabajando en cognición aritmética, usó el potencial que tienen las aplicaciones para intentar entender el funcionamiento del cerebro a la hora de sumar y multiplicar. De esta forma, desarrolló un juego que, unas semanas después del lanzamiento, logró más de 500 descargas y obtuvo más de 120000 datos, algo que hubiera sido impensable llevándolo al campo de las investigaciones científicas tradicionales.
Pantallas de la aplicación para android Moravec, a la izquierda un gráfico del tiempo de respuesta, a la derecha, el juego propiamente dicho. Créditos: play.google.com.
Como todos sabemos hay muchísimos tipos de aplicaciones. En mi caso personal, un día en una charla familiar surgió la problemática de las personas que se extravían y, por diferentes razones, no logran volver a sus casas. En ese momento se me ocurrió que con ayuda de la interconexión de los celulares se podía crear una aplicación que generará una red de celulares en donde al perderse una persona, se alerte a todos los usuarios de la aplicación que se encuentran cerca de la zona de extravío y ellos puedan aportar información acerca del caso. De esta forma desarrollé una aplicación y una página web para ayudar en la búsqueda de las personas perdidas. Lo mejor de este proceso fue que al comenzar el desarrollo, sabía muy poco de como lo iba a hacer, y durante la marcha fui aprendiendo una gran cantidad de cosas.
Pantalla principal de la web Personas Perdidas, por cada persona perdida se muestra una imagen de la misma, y la posibilidad de aportar datos y compartir en las redes sociales. Créditos: personasperdidas.org.ar.
Entonces, ¿cómo se hace una aplicación?, primeramente lo mejor que se puede hacer es buscar qué funcionalidad se quiere que la aplicación brinde, se puede hacer de todo, desde una calculadora hasta una red social. Después de que se definió esto, el siguiente paso es ver para que sistema operativo se va a desarrollar, hoy en día los tres principales son: Android, iOS (dispositivos Apple) y Windows Phone (con una porción más pequeña del mercado).
Cada plataforma tiene un entorno de programación diferente, por lo cual requiere un aprendizaje diferente. En Android, los dos programas más comunes de desarrollo son Android Studio y Eclipse, en donde el lenguaje de programación usado más comúnmente es Java. Éste es un muy buen tutorial para aprender desarrollo de aplicaciones android en Java. Para el desarrollo de aplicaciones para iOS, es necesario poseer el sistema operativo OSx, es decir tener una computadora Apple, el programa de desarrollo que se usa es Xcode y el lenguaje de programación que históricamente se usaba era Objective-C, actualmente el lenguaje que se usa es Swift. Para comenzar a aprender Swift, éste es un buen tutorial. Por último, para desarrollar aplicaciones para Windows Phone, se puede usar el programa Visual Studio, en donde el lenguaje que se usa es C#, esta página es un buen comienzo para aprender.
Luego de desarrollar la aplicación, para que cualquier persona se la pueda descargar desde las tiendas como el Play Store o el App store, se debe “publicar” la aplicación, este proceso tiene un costo y dependiendo del sistema operativo al que se esté apuntando varía entre $25 y $100 dólares.
Más allá del desarrollo en sí, muchas veces lo más difícil es comenzar, porque para crear hace falta aprender mucho en el camino, pero verdaderamente vale la pena. Creando, uno tiene la posibilidad de no ser un espectador de los problemas, sino que con esfuerzo y trabajo puede conseguir llegar a la solución, y durante el proceso vivir grandes experiencias y diversos aprendizajes.
Para saber más:
Programa Android Studio: https://developer.android.com/studio/index.html
Programa Eclipse: https://eclipse.org
Tutorial para aprender Java: https://www.coursera.org/learn/programandoconjava
Programa Xcode: https://developer.apple.com/xcode
Tutorial para aprender Swift: https://developer.apple.com/xcode
Programa Visual Studio: https://www.visualstudio.com
Tutorial para aprender C#: http://www.blogdemigueldiaz.com/2013/06/curso-de-programacion
Moravec: https://elgatoylacaja.com.ar/moravec/