Crea una potente aplicación de notas para el gimnasio utilizando React Native: Experiencia de Desarrollador

He creado la mejor aplicación de notas de entrenamiento para el gimnasio, sí con React Native y no es broma.

Pertenezco a la nueva Generación de creadores de app, aquellos que no tienen que reflejar su aprendizaje en java. Me considero parte de una nueva generación puramente convencional, ya que no tengo una carrera de informática, no tengo cursos sobre java. Sin embargo, he podido crear una aplicación práctica para registrar tus entrenamientos sin que se caiga a cachos, al contrario, es bastante útil y práctica.

Elegí React Native simplemente por su comodidad, su pequeña barrera de entrada, compatibilidad con IOS y Android con un solo código y porque no decirlo, por su gran popularidad

¿Por qué usar React Native para una app de notas de entrenamiento? React JS es el motivo, hablamos de un javascript mucho más simple y automático. Es una gozada crear variables que puedan actualizar su valor con tan solo una acción, sin tener que crear otras variables o tener que crear un código de más de una línea. Para crear una app de entrenamiento lo más importante será actualizar valores para mostrar nuestro progreso, guardarlo y moverlo entre páginas. Con React Native todo esto es una tarea simple que podría hacer cualquier persona sin conocimiento en a penas 3 meses.

Propiedades clave de mi app de notas para el gimnasio

Puede que estés pensando en crear tu propia app de notas del entrenamiento como primer proyecto o quizás por un deseo. En mi caso, mi app GymNotes no fue mi primer proyecto, fue el segundo por lo que el frontend ya más o menos lo controlaba, el problema era el backend que es algo totalmente nuevo.

Siempre que quieras crear una app habrá una especie de esqueleto que toda app debe tener, pero cada aplicación tiene diferente código, está claro que habrá en algunos casos que podremos reusar el código. ¡Ojalá fuera así siempre! Pero normalmente será código nuevo lo que implicará aprender, fallar y ejecutar.

Quiero compartiros desde mi humilde experiencia como único desarrollador de mi app de notas de entrenamiento que retos tuve que afrontar para llegar a tener una app totalmente funcional:

Guardar la data de los pesos, repeticiones, ejercicios, textos de forma personalizada.

¿Cómo hacemos para acceder a cada objeto de una lista de entrenos sin que la data sea la misma? No es tan simple al principio, nuestro objetivo con Asyncstorage será generar un string con variables especiales del propio objeto. Es decir, si el objeto se ubica en el índice 0, tiene texto y alguna imagen en específico, podemos usar estas variables para generar un string único el cual acceder la data de forma personalizada.

Tal que: “0PressInclinado9”, ahora siempre que accedas a esta página o contenedor siempre tendrá una data personalizada y no una genérica, así conseguimos que el usuario tenga total libertad a la hora de crear una página con su entrenamiento, este entrenamiento únicamente se podrá acceder a través del string personalizado, “0PressInclinado9”. Igualmente, esto no es una tarea sencilla de 3 variables, en otras ocasiones tendremos la necesidad de crear más y a veces surgirán errores, lo importante es pensar en crear una red que todo conecte con todo sin fallas.

¿Y si el usuario tiene la opción de borrar el contenedor? Únicamente al borrar el contenedor, además de ello deberíamos borrar el contenedor que guarda la data, fácil.

Con todo lo explicado podemos guardar en nuestra app de entrenamiento rutinas, ejercicios, pesos, repeticiones…Lo que viene siendo un registro del entrenamiento personalizado y atractivo para los usuarios.

GymNotes Track Workouts

Uso de Data en rutas para el funcionamiento de la app

En mi app de notas de entrenamiento tengo algunas funcionalidades automáticas como las misiones semanales y diarias que requieren de:

  • Mover la data entre páginas.

  • Reestablecer el valor de las variables según el día o semana.

Estas dos propiedades requieren de un conocimiento básico-medio del uso de React Native, imaginarte una lógica para que todo funcione y no colapse.

Además, cuando movemos la data, baja el rendimiento de nuestra app, lo mejor es minimizar el traslado de variables entre páginas o componentes.

No voy a ser muy técnico con el tema, siempre que quieras guardar y borrar algún tipo de información te tienes que preguntar si es necesario actualizar la información en una página específica o en la página que reside el código.

Por ejemplo, el Home es el lugar idóneo para resetear todos los valores pues es la página más indispensable para que el usuario pueda acceder a otras, si ya hemos actualizado los valores a través del Home no tendremos que hacerlo en otras páginas.

Mas específicamente, hablo de mi funcionalidad de misiones diarias y semanales, la aplicación resetea las variables siempre que abras la app en el Home asique si quiere ir a la página donde ver tus misiones no ocurrirá un re-render o no actualice los valores, este tip te será bastante útil.

Beneficios de usar mi GymNotes app

Como se que te interesa el tema de las aplicaciones de notas de entrenamiento, conozco de una aplicación que es especialmente buena, la mía xd (que no se note que no nadie descarga mi app).

Si quieres una app que te reduzca tu tiempo en apuntar tu información en una libreta o en una app simple de notas, GymNotes te puede ofrecer eso y mucho más.

Hablamos de que mi aplicación de notas de entrenamiento, no es una app convencional de este estilo, tiene una especie de modo competitivo en el que puedes obtener puntos haciendo misiones que apoyen tu entrenamiento (Estamos trabajando en cómo hacerlo según el tipo de entreno).

Quiero potenciar el entretenimiento en el entreno, deja de ir al gimnasio por inercia, GymNotes te da un golpe de realidad y te ofrece unos retos difíciles porque en el gimnasio no venimos a hacerlo fácil.

GymNotes quiere ser tu aplicación de bolsillo esencial para el gimnasio, por eso cuenta con estas grandes propiedades que las separaremos por propiedades básicas y propiedades GymNotes:

Propiedades básicas de mi app de notas de entrenamiento:

  • Registro de pesos, repeticiones, RM, series, rutinas totalmente personalizables.

  • Rutina según el día de la semana, programación de descansos.

  • Análisis de los registros de datos (actualización en progreso).

  • Guardado de datos en la nube y pasar data a Excel (futura actualización).

Propiedades GymNotes, saca ventaja a tus entrenos:

  • Misiones Diarias y Semanales con un sistema de puntos competitivo, entrena mejor que tus amigos y házselo mirar.

  • Comparte tus registros de entrenamiento, el mensaje se adapta a como has hecho el entreno ese mismo día por lo que no siempre será el mismo.

Por ahora son pocas las propiedades GymNotes pero te prometo que hay muchas ideas y muy buenas espero que te prepares para ello porque va a ser una gran innovación en este sector de app de notas de entrenamiento. Si quieres conocer más de la app y echarle un vistazo visita la página de Google Play de GymNotes.

Esta es mi historia como desarrollador de React Native sacando mi mejor proyecto GymNotes (solo tengo 2 proyectos xd). Espero que te haya gustado el artículo y sé que te será útil si tu tienes la misma meta que yo, quizás no sea bueno compartir el conocimiento con la competencia, pero considero que el mundillo de las apps de notas de entrenamiento necesita una renovación urgentemente. Quizás tu y yo seamos los próximos en liderar este mercado.

Aprovechando el hecho de contar mi historia, estoy buscando un equipo de trabajo no profesional, es decir, que se tome la programación como ocio para crear proyectos innovadores. Si quieres formar parte (solo estoy yo, pero podemos ser más!) háblame por aquí: imadiorapo@gmail.com