1. Problemet med alle mobilapps

CodeGym-studerende har i lang tid efterspurgt en mobilapp. Og vi forstår hvorfor - i dagens verden er en telefon lettere tilgængelig end en stationær computer med IntelliJ IDEA installeret. Det er meget nemmere at afsætte 15 minutter flere gange i løbet af dagen, end det er at sætte sig ned for at studere i 1-2 timer i træk.

At lære på CodeGym ville være meget mere effektivt, hvis vi fandt ud af, hvordan vi fuldt ud kunne bruge enhver mulighed, der byder sig for os. Men hvordan sætter man en IDE på din telefon?

I lang tid troede vi ikke, det var muligt. Dette blev gentagne gange bekræftet af vores konkurrenter: Alle deres apps til at lære programmering undlod at skrive kode og erstattede det med tests.

Men da 2019 begyndte, fik vi et gennembrud. I stedet for at replikere massive IDE'er besluttede vi at fokusere på de udfordringer, som brugerne står over for, mens de skriver kode. Vores løsning var baseret på et par enkle principper:

  • At læse kode er vigtigere end at skrive kode
  • Koden du indtaster er vigtigere end måden du indtaster den på
  • Styring af markøren skal være enkel og intuitiv
  • Der er ingen eneste måde at løse en opgave korrekt på.

2. Vores løsning

Det lykkedes os at skabe en ret smuk løsning , der overholder alle disse principper.

Se kode

Først besluttede vi at lave separate tilstande til visning af kode og redigering af kode. I kodevisningstilstand vil strygning rulle teksten i stedet for at flytte markøren. Det er også mere praktisk at se kode, når tastaturet ikke fylder halvdelen af ​​skærmen.

Hints (foreslåede ord)

Til hver opgave har vi udarbejdet et sæt nøgleord, som brugeren kan bruge til at skrive en løsning. Nu behøver du ikke skrive ord bogstav for bogstav. Du klikker bare på de foreslåede ord i den rigtige rækkefølge, og du er færdig. Når det er sagt, kan du altid skifte til den sædvanlige måde at indtaste kode på, ved at skrive bogstav for bogstav på tastaturet.

Der bør være nok forslag til, at brugeren kan skrive sin egen version af en løsning. Men ikke så mange, at unødvendige ord bare kommer i vejen. Hvis der er mange foreslåede ord, skal de være grupper; hvis der er få, så skal de vises sammen.

Og selvfølgelig skal de foreslåede ord være unikke for hver opgave . For hver af de 1500 opgaver, der findes på CodeGym. Vi brugte to måneder på at forfine algoritmen til at generere tip. Selv dengang skulle vi stadig behandle forslagene manuelt for hver opgave.

Resultatet er imponerende, selvom jeg tror, ​​vi vil fortsætte med at forbedre dem.

Java-kursus Android 1

cursoren

Håndtering af markøren fortjener sin egen separate historie. Det er super ubelejligt at flytte markøren med fingeren. For det første slører din finger koden. For det andet er den hyppigste handling med markøren at flytte den 1-2 tegn tilbage eller frem.

Vi har skabt en speciel joystick-grænseflade , der lader dig styre markøren uden at dække koden. Vi har også tilføjet specielle knapper til at flytte markøren et tegn ad gangen . Og alt dette, så du er i stand til at tænke over den kode, du indtaster, snarere processen med at indtaste den!


3. Oversigt over mobilappen

I dag har mobilappen 4 sektioner:

  • Java kursus
  • Opgaver
  • Hjælp
  • Grupper

Og her er et par flere detaljer om hver af dem.

Java kursus

Sektionen "Java-kursus" viser en liste over alle CodeGym-niveauerne, som er grupperet i quests. Hvert niveau viser de tilsvarende lektioner. Du kan nemt gå til den seneste lektion ved at bruge knappen "Start/Fortsæt".

Java-kursus til Android

Opgaver

Dette afsnit viser alle de opgaver, der er tilgængelige for brugeren. De er opdelt i tre lister: "nye opgaver", "igangværende opgaver" og "afsluttede opgaver"

Java-kursus Android-opgaver

Når du har klikket på en bestemt opgave, åbnes MobileIDE . Det er her, du kan se opgavebetingelser, krav og kode og også sammensætte din løsning. Du kan også sende en opgave til verifikation med blot 1 klik.

Hjælp

Dette afsnit viser spørgsmål om opgaver. Du kan se spørgsmål stillet af andre brugere, undersøge deres kode og give dem råd og anbefalinger. Det er næsten lige så nemt at gøre det her, som det er på hjemmesiden.

Du kan også stille dine egne spørgsmål til opgaver. Din kode tilføjes automatisk til dit spørgsmål - du behøver ikke kopiere noget nogen steder.

Grupper

I sektionen "Grupper" kan du deltage i grupper om specifikke emner og også læse og udgive artikler. Det er ikke rigtig praktisk at skrive på din telefon, så denne sektion fokuserer i øjeblikket på at læse materialer, der er postet via webversionen.