Cómo desarrollar una aplicación para móvil o Tablet

javy97
Yo probé el VDSL

Durante nuestro día a día tenemos un compañero del que nunca nos separamos: nuestro smartphone. Lo que antes era un teléfono para hacer llamadas y enviar SMS, ahora nos abre un gran mundo de posibilidades gracias a las diferentes aplicaciones que se pueden instalar. Pero… ¿sabéis realmente cómo crear una app?

 

A lo largo de este artículo vamos a explicaros las cosas que hay que tener en cuenta y los procedimientos que se deben de seguir cuando se quiere empezar desde cero el lanzamiento de una nueva aplicación para teléfono móvil.

 

 

Paso 1: Tener la idea

 

idea para desarrollar una app.jpgLo primero que hay que hacer es tener una idea de qué es lo que se quiere desarrollar. 

 

Dentro de la ingeniería, lo habitual es crear herramientas con el objetivo de solucionar un problema o ayudar a las personas a realizar unas determinadas tareas, pero todo es válido. Hay muchas personas que crean aplicaciones solo por aprender cosas nuevas o como un entretenimiento en los ratos libres.

 

Hay que tener claro desde un primer momento si lo que se busca es un beneficio económico o si solamente aportar algo que otros puedan utilizar sin esperar nada a cambio.

 

Para el primer caso, antes de empezar hay que plantear un buen modelo de negocio que pueda encajar en el mercado, pero para la segunda opción tan solo hay que tener ganas y ser creativo.

 

Es importante describir el objetivo, conocer quiénes van a ser los usuarios y cuál puede ser la motivación para su uso.

 

 

Paso 2: Análisis y funcionalidades

 

Análisis y funcionalidades de la app.jpgEn un primer momento tampoco es necesario que la aplicación sea muy complicada, ya que quien mucho abarca, poco aprieta. Se puede empezar por algo simple que más tarde se puede ampliar si el resultado es el esperado. Todas las aplicaciones nacen por algo simple, a lo que después se le van añadiendo mejoras. En este aspecto, Steve Jobs fue muy sabio: <>.

 

Es importante hacer un buen análisis de requisitos con el fin de determinar las funcionalidades que se quieren tener en la aplicación. Saber poner el foco en lo importante y diferencial puede ser la clave del éxito.

 

 

Paso 3: Diseño de la aplicación

 

Diseño de la aplicación.pngAntes de entrar de lleno en la creación de la aplicación es importante tener claro qué aspecto debe tener la aplicación. Aunque parezca una pérdida de tiempo, no haber diseñado unos prototipos antes del desarrollo puede retrasar mucho el proceso de creación de la aplicación, o incluso que pueda ser abandonada antes de acabarse.

 

Los prototipos se pueden hacer de muchas maneras. La vieja usanza es la de coger un lápiz y papel y ponerse a dibujar, sin embargo, para los más tecnológicos, hoy en día existen muchas herramientas para realizar esta tarea. Entre ellas destacaría Invisionapp, Adobe XD y Balsamiq.

 

En esta etapa de maquetación de la aplicación, hay que pensar qué pantallas debe contener, dónde deben colocarse los elementos y cómo son las interacciones del usuario según la funcionalidad que se ha descrito anteriormente.

 

Si vamos a tratar datos propios o de los usuarios, también hay que tener en cuenta cómo se va a estructurar, ya que la arquitectura de la base de datos también forma parte del diseño.

 

Antiguamente las bases de datos eran locales del propio dispositivo, sin embargo, últimamente está de moda ‘la nube’ y que toda la información se sincronice y sea accesible desde diferentes puntos.

 

A nivel local es habitual utilizar una base de datos SQLite y en la nube se recurre a servidores propios o incluso a herramientas externas muy completas y con garantías de seguridad y fiabilidad como es el caso de Google Firebase o Amazon Web Services.

 

 

Paso 4: Desarrollo

 

Esta es la parte más larga del proceso de creación, pero también la más divertida. Es necesario conocer los lenguajes de programación de cada plataforma en concreto, o aprenderlos si hay interés en ello. Si uno no se ve capaz, siempre puede delegar el desarrollo a alguna empresa que se dedique a ello.

 

Desarrollo de la aplicación.jpg

 

¡Es el momento de prepararse para escribir código! El entorno a utilizar para realizar el desarrollo depende mucho de cada programador y de las plataformas para las que vaya a trabajar. Lo habitual es utilizar Android Studio para Android y Xcode para iOS, pero también existen otras herramientas híbridas con las que es posible desarrollar a la vez para varias plataformas, aunque el resultado no es el mismo que si se programa de forma nativa para cada sistema. En este artículo suponemos que se ha optado por soluciones nativas específicas para cada sistema.

 

El lenguaje de programación oficial para Android, hasta hace muy poco fue Java, sin embargo, desde 2017 el claro ganador es Kotlin, siendo la apuesta de Google a futuro en este aspecto.

 

En el caso de iOS, en sus inicios se utilizó Objective C, no obstante, en el año 2014, Apple presentó Swift como su sustituto, logrando reducir el peso de las aplicaciones y permitiendo lograr funcionalidades más completas de una manera más sencilla.

 

 

A partir de aquí, con las nociones de programación aprendidas en los diferentes lenguajes, es cuestión de dedicarle tiempo a la creación de la funcionalidad y las diferentes visualizaciones gráficas. En este punto es importante:

 

  • Ser muy ordenado
  • Comentar los diferentes aspectos del código para recordar más adelante que misión cumple
  • Tener una planificación.

 

 

Paso 5: Pruebas

 

testing-web-application-development.jpgA medida que se vayan desarrollando los diferentes módulos, es una buena práctica realizar pruebas con el fin de verificar que se logra la funcionalidad esperada. Sin embargo, lo que no puede faltar son las pruebas finales donde se verifique la correcta integración de todos los módulos y comunicación entre ellos.

 

Entre las pruebas a realizar sobre las aplicaciones creadas, destacan las de caja negra y las de caja blanca.

 

Pruebas de caja negra: Se realizan una serie de procedimientos a nivel de funcionalidad y consiste en ‘mirar desde fuera’ lo que se quiere probar. Son unas pruebas de entrada y salida para verificar que funciona correctamente, aunque sin conocer cómo es la lógica por dentro.

 

Un ejemplo fácil de entender puede ser las pruebas sobre un módulo desarrollado que hace multiplicaciones. A priori, no se conoce cómo se ha implementado, pero se quiere comprobar que si se introduce 3 y 7 como entrada, el resultado de salida es 21.

 

 

Pruebas de caja blanca: Se realizan una serie de procedimientos a nivel de estructura, centrándose en los detalles del software, por lo que está muy ligado al código fuente. El programador se dedica a analizar diferentes datos para ver dentro del programa qué flujos va siguiendo y si son acordes a cómo han sido desarrollados. 

 

Un ejemplo fácil de entender es el caso en el que tenemos un dato, el número 10. El programa antes de dar una respuesta al usuario sobre esa entrada debe realizar una serie de acciones, pero para saber cómo operar, primero es necesario analizar si el número es par o impar. En esta prueba, se verificaría que la lógica para determinar si es par o impar se ha cumplido, y que por tanto ha tomado la rama de acciones correcta y que va siguiendo el flujo de ejecución esperado.

 

Durante este periodo de pruebas, es una buena idea contar con betatesters, son usuarios que pueden utilizar en primicia la aplicación antes de que sea lanzada oficialmente con el fin de utilicen todas las funcionalidades, busquen fallos y muestren sus impresiones.

 

 

Paso 6: Publicación en las tiendas de aplicaciones

 

Publicación en las tiendas de aplicaciones.png¡Enhorabuena! La aplicación ya está creada, tan solo queda distribuirla a través de las tiendas de aplicaciones.

 

Si es una aplicación de Android, para subirla al Google Play es necesario darse de alta en la Google Play Console y hacer un pago único de 25 dólares para ser un desarrollador oficial.

 

En el caso de iOS, para subirla al App Store es necesario suscribirse a iTunes Connect y pagar una cuota anual de desarrollador de 99 dólares. El hecho de estar suscrito ofrece una serie de ventajas como la posibilidad de probar las versiones beta de los sistemas operativos de la compañía.

 

En ambos casos, una vez registrados como desarrolladores, tan solo hay que rellenar los detalles de la aplicación (título, descripción, imágenes, público, precio, etc) y esperar que sea aprobada por la compañía, un proceso que puede demorarse desde unas pocas horas hasta incluso varios días.

 

Durante el proceso de validación se comprueban una serie de aspectos, presentando principal énfasis en los siguientes:

 

  • Que la descripción coincida con la funcionalidad real de la aplicación
  • Que no contenga código malicioso
  • Que haya sido especificado correctamente el tipo de contenido
  • Que se haya especificado de manera verídica la existencia o no de publicidad
  • Que se respeten los derechos de autor
  • Que la aplicación tenga funcionalidad y no sea un mero espacio publicitario
  • Que los iconos de la aplicación cumplan los estándares de calidad

 

 

Paso 7: Mejora la aplicación

 

mejora la aplicación.jpg

 

 

Si la aplicación está teniendo éxito o si simplemente os apetece mejorarla, es el momento de hacer los cambios que creáis oportunos o de añadir nuevas funcionalidades. El feedback que se recibe de los usuarios, es muy útil para saber qué líneas seguir y donde hay que priorizar.