1. Il problema con tutte le app mobili

Gli studenti di CodeGym chiedono da tempo un'app mobile. E capiamo perché: nel mondo di oggi, un telefono è più facilmente disponibile di un computer desktop con IntelliJ IDEA installato. È molto più facile dedicare 15 minuti più volte durante il giorno piuttosto che sedersi a studiare per 1-2 ore di fila.

Imparare su CodeGym sarebbe molto più efficace se capissimo come sfruttare appieno ogni opportunità che ci si presenta. Ma come mettere un IDE sul tuo telefono?

Per molto tempo non abbiamo pensato che fosse possibile. Ciò è stato ripetutamente confermato dai nostri concorrenti: tutte le loro app per l'apprendimento della programmazione hanno rinunciato alla scrittura del codice e lo hanno sostituito con i test.

Ma poi, all'inizio del 2019, abbiamo fatto una svolta. Invece di replicare enormi IDE, abbiamo deciso di concentrarci sulle sfide che gli utenti devono affrontare durante la scrittura del codice. La nostra soluzione si basava su alcuni semplici principi:

  • Leggere il codice è più importante che scriverlo
  • Il codice che inserisci è più importante del modo in cui lo inserisci
  • La gestione del cursore deve essere semplice ed intuitiva
  • Non esiste un unico modo per risolvere correttamente un compito.

2. La nostra soluzione

Siamo riusciti a creare una soluzione piuttosto bella che aderisce a tutti questi principi.

Codice di visualizzazione

Innanzitutto, abbiamo deciso di creare modalità separate per la visualizzazione e la modifica del codice. In modalità di visualizzazione del codice, lo scorrimento farà scorrere il testo invece di spostare il cursore. Inoltre, è più comodo visualizzare il codice quando la tastiera non occupa metà dello schermo.

Suggerimenti (parole suggerite)

Per ogni attività, abbiamo preparato una serie di parole chiave che l'utente può utilizzare per scrivere una soluzione. Ora non è necessario digitare le parole lettera per lettera. Basta fare clic sulle parole suggerite nell'ordine corretto e il gioco è fatto. Detto questo, puoi sempre passare al solito modo di inserire il codice, digitando lettera per lettera sulla tastiera.

Dovrebbero esserci suggerimenti sufficienti per consentire all'utente di scrivere la propria versione di una soluzione. Ma non così tante che le parole inutili si intromettono. Se ci sono molte parole suggerite, dovrebbero essere gruppi; se ce ne sono pochi, dovrebbero essere visualizzati insieme.

E, naturalmente, le parole suggerite devono essere uniche per ogni compito . Per ciascuna delle 1500 attività esistenti su CodeGym. Abbiamo passato due mesi a perfezionare l'algoritmo per la generazione di suggerimenti. Anche allora, dovevamo comunque elaborare manualmente i suggerimenti per ogni attività.

Il risultato è impressionante, anche se penso che continueremo a migliorarli.

Corso java android 1

Cursore

La gestione del cursore merita una storia a parte. È super scomodo spostare il cursore con il dito. Innanzitutto, il tuo dito oscura il codice. In secondo luogo, l'azione più frequente con il cursore è spostarlo di 1-2 caratteri avanti o indietro.

Abbiamo creato una speciale interfaccia joystick che ti consente di controllare il cursore senza coprire il codice. Abbiamo anche aggiunto pulsanti speciali per spostare il cursore di un carattere alla volta . E tutto questo in modo che tu possa pensare al codice che stai inserendo piuttosto che al processo di inserimento di quel codice!


3. Panoramica dell'app mobile

Oggi l'app mobile ha 4 sezioni:

  • Corso Java
  • Compiti
  • Aiuto
  • Gruppi

E qui ci sono alcuni dettagli in più su ciascuno di essi.

Corso Java

La sezione "Corso Java" mostra un elenco di tutti i livelli di CodeGym, raggruppati in missioni. Ogni livello mostra le lezioni corrispondenti. Puoi andare facilmente alla lezione più recente utilizzando il pulsante "Avvia/Continua".

Corso java android

Compiti

Questa sezione visualizza tutte le attività disponibili per l'utente. Sono divisi in tre liste: "nuove attività", "attività in corso" e "attività completate"

Attività android del corso java

Dopo aver fatto clic su un'attività specifica, si apre MobileIDE . Qui è dove puoi visualizzare le condizioni, i requisiti e il codice dell'attività e anche comporre la tua soluzione. Puoi anche inviare un'attività per la verifica con un solo clic.

Aiuto

Questa sezione mostra le domande sulle attività. Puoi visualizzare le domande poste da altri utenti, esaminare il loro codice e dare loro consigli e raccomandazioni. È quasi facile farlo qui come lo è sul sito web.

Puoi anche porre le tue domande sulle attività. Il tuo codice verrà aggiunto automaticamente alla tua domanda: non è necessario copiare nulla da nessuna parte.

Gruppi

Nella sezione "Gruppi" puoi unirti a gruppi dedicati a temi specifici, leggere e pubblicare articoli. Digitare sul telefono non è molto comodo, quindi questa sezione attualmente si concentra sulla lettura dei materiali pubblicati tramite la versione web.