1. El problema con todas las aplicaciones móviles

Los estudiantes de CodeGym han estado pidiendo una aplicación móvil durante mucho tiempo. Y entendemos por qué: en el mundo actual, un teléfono está más disponible que una computadora de escritorio con IntelliJ IDEA instalado. Es mucho más fácil reservar 15 minutos varias veces durante el día que sentarse a estudiar durante 1 o 2 horas seguidas.

Aprender en CodeGym sería mucho más efectivo si descubriéramos cómo aprovechar al máximo cada oportunidad que se nos presente. Pero, ¿cómo poner un IDE en tu teléfono?

Durante mucho tiempo, no pensamos que esto fuera posible. Esto fue confirmado en repetidas ocasiones por nuestros competidores: todas sus aplicaciones para aprender a programar prescindieron de escribir código y lo reemplazaron por pruebas.

Pero luego, cuando comenzó 2019, logramos un gran avance. En lugar de replicar IDE masivos, decidimos centrarnos en los desafíos que enfrentan los usuarios al escribir código. Nuestra solución se basó en unos pocos principios simples:

  • Leer código es más importante que escribir código
  • El código que ingresa es más importante que la forma en que lo ingresa
  • El manejo del cursor debe ser simple e intuitivo
  • No hay una única manera de resolver una tarea correctamente.

2. Nuestra solución

Logramos crear una solución bastante hermosa que se adhiere a todos estos principios.

Ver código

Primero, decidimos hacer modos separados para ver el código y editar el código. En el modo de visualización de código, deslizar desplazará el texto en lugar de mover el cursor. Además, es más conveniente ver el código cuando el teclado no ocupa la mitad de la pantalla.

Sugerencias (palabras sugeridas)

Para cada tarea, preparamos un conjunto de palabras clave que el usuario puede usar para escribir una solución. Ahora no necesita escribir palabras letra por letra. Simplemente haga clic en las palabras sugeridas en el orden correcto y listo. Dicho esto, siempre puede cambiar a la forma habitual de ingresar el código, escribiendo letra por letra en el teclado.

Debe haber suficientes sugerencias para permitir que el usuario escriba su propia versión de una solución. Pero no tantos como para que las palabras innecesarias se interpongan en el camino. Si hay muchas palabras sugeridas, deberían ser grupos; si hay pocos, deben mostrarse juntos.

Y, por supuesto, las palabras sugeridas deben ser únicas para cada tarea . Por cada una de las 1500 tareas que existen en CodeGym. Pasamos dos meses refinando el algoritmo para generar pistas. Incluso entonces, todavía teníamos que procesar las sugerencias manualmente para cada tarea.

El resultado es impresionante, aunque creo que seguiremos mejorándolos.

Curso java android 1

Cursor

La gestión del cursor merece su propia historia aparte. Es súper inconveniente mover el cursor con el dedo. Primero, su dedo oscurece el código. En segundo lugar, la acción más frecuente con el cursor es moverlo 1 o 2 caracteres hacia atrás o hacia adelante.

Creamos una interfaz de joystick especial que le permite controlar el cursor sin cubrir el código. También agregamos botones especiales para mover el cursor un carácter a la vez . ¡Y todo esto para que pueda pensar en el código que está ingresando en lugar del proceso de ingresar ese código!


3. Descripción general de la aplicación móvil

Hoy la aplicación móvil tiene 4 secciones:

  • curso java
  • Tareas
  • Ayuda
  • Grupos

Y aquí hay algunos detalles más sobre cada uno de ellos.

curso java

La sección "Curso de Java" muestra una lista de todos los niveles de CodeGym, que se agrupan en misiones. Cada nivel muestra las lecciones correspondientes. Puede ir fácilmente a la lección más reciente usando el botón "Inicio/Continuar".

Curso Java android

Tareas

Esta sección muestra todas las tareas disponibles para el usuario. Se dividen en tres listas: "tareas nuevas", "tareas en curso" y "tareas completadas"

Tareas de Android del curso de Java

Después de hacer clic en una tarea específica, se abre MobileIDE . Aquí es donde puede ver las condiciones de la tarea, los requisitos y el código, y también componer su solución. También puede enviar una tarea para su verificación con solo 1 clic.

Ayuda

Esta sección muestra preguntas sobre tareas. Puede ver las preguntas formuladas por otros usuarios, examinar su código y brindarles consejos y recomendaciones. Es casi tan fácil hacerlo aquí como en el sitio web.

También puede hacer sus propias preguntas sobre las tareas. Su código se agregará a su pregunta automáticamente; no necesita copiar nada en ningún lado.

Grupos

En la sección "Grupos", puede unirse a grupos dedicados a temas específicos y también leer y publicar artículos. Escribir en su teléfono no es realmente conveniente, por lo que esta sección actualmente se enfoca en leer materiales publicados a través de la versión web.