1. A probléma az összes mobilalkalmazással

A CodeGym hallgatói már régóta kérnek egy mobilalkalmazást. És megértjük, miért – a mai világban egy telefon könnyebben elérhető, mint egy IntelliJ IDEA telepített asztali számítógép. Sokkal könnyebb a nap folyamán többször is 15 percet szánni, mint 1-2 órát egyhuzamban leülni tanulni.

A CodeGym-en való tanulás sokkal hatékonyabb lenne, ha kitalálnánk, hogyan használjunk ki minden lehetőséget, ami előttünk áll. De hogyan kell IDE-t tenni a telefonra?

Sokáig nem hittük, hogy ez lehetséges. Ezt versenytársaink is többször megerősítették: minden programozási tanulásra alkalmas alkalmazásuk elhagyta a kódírást, és azt tesztekkel helyettesítette.

De aztán ahogy 2019 elkezdődött, áttörést értünk el. A hatalmas IDE-k replikálása helyett úgy döntöttünk, hogy azokra a kihívásokra összpontosítunk, amelyekkel a felhasználók a kódírás során szembesülnek. Megoldásunk néhány egyszerű elven alapult:

  • A kód olvasása fontosabb, mint a kód írása
  • A beírt kód fontosabb, mint a beírás módja
  • A kurzor kezelésének egyszerűnek és intuitívnak kell lennie
  • Egy feladat helyes megoldásának nincs egyetlen és egyetlen módja.

2. A mi megoldásunk

Sikerült egy meglehetősen szép megoldást létrehoznunk, amely megfelel mindezen elveknek.

Kód megtekintése

Először úgy döntöttünk, hogy külön módokat készítünk a kód megtekintéséhez és a kód szerkesztéséhez. Kódmegtekintési módban a csúsztatással a kurzor mozgatása helyett görgeti a szöveget. Ezenkívül kényelmesebb a kód megtekintése, amikor a billentyűzet nem foglalja el a képernyő felét.

Tippek (javasolt szavak)

Minden feladathoz elkészítettünk egy kulcsszókészletet, amellyel a felhasználó megoldást írhat. Most már nem kell betűről betűre beírnia a szavakat. Csak kattintson a javasolt szavakra a megfelelő sorrendben, és kész. Ennek ellenére bármikor átválthat a szokásos kódbeviteli módra, betűről betűre gépelve a billentyűzeten.

Elegendő javaslatnak kell lennie ahhoz, hogy a felhasználó megírhassa a megoldás saját verzióját. De nem annyira, hogy a felesleges szavak csak akadályozzák. Ha sok a javasolt szó, akkor csoportoknak kell lenniük; ha kevés, akkor ezeket együtt kell megjeleníteni.

És természetesen a javasolt szavaknak minden feladatnál egyedinek kell lenniük . A CodeGym-en létező 1500 feladat mindegyikéhez. Két hónapot töltöttünk a tippek generálására szolgáló algoritmus finomításával. Akkor is minden feladatnál kézzel kellett feldolgoznunk a javaslatokat.

Az eredmény lenyűgöző, bár úgy gondolom, hogy tovább fogjuk javítani őket.

Java tanfolyam android 1

Kurzor

A kurzor kezelése megérdemel egy külön történetet. Nagyon kényelmetlen a kurzor mozgatása az ujjával. Először is, az ujja eltakarja a kódot. Másodszor, a kurzorral végzett leggyakrabban végzett művelet 1-2 karakterrel hátra vagy előre mozgatni.

Létrehoztunk egy speciális joystick felületet , amely lehetővé teszi a kurzor vezérlését anélkül, hogy a kódot lefedné. Speciális gombokat is hozzáadtunk a kurzor egy karakterrel történő mozgatásához . És mindezt azért, hogy a beírt kódra gondolhasson, nem pedig a kód beírásának folyamatára!


3. A mobilalkalmazás áttekintése

Ma a mobilalkalmazás 4 részből áll:

  • Java tanfolyam
  • Feladatok
  • Segítség
  • Csoportok

És itt van még néhány részlet mindegyikről.

Java tanfolyam

A „Java tanfolyam” rész megjeleníti az összes CodeGym szint listáját, amelyek küldetésekbe vannak csoportosítva. Minden szinten megjelenik a megfelelő leckék. A "Start/Folytatás" gombbal egyszerűen a legutóbbi leckére ugorhat.

Java tanfolyam android

Feladatok

Ez a rész megjeleníti a felhasználó számára elérhető összes feladatot. Három listára vannak felosztva: „új feladatok”, „folyamatban lévő feladatok” és „befejezett feladatok”.

Java tanfolyam android feladatok

Egy adott feladatra kattintva megnyílik a MobileIDE . Itt tekintheti meg a feladat feltételeit, követelményeit és kódját, valamint összeállíthatja a megoldást. Egyetlen kattintással beküldhet egy feladatot ellenőrzésre.

Segítség

Ez a rész a feladatokkal kapcsolatos kérdéseket jeleníti meg. Megtekintheti a többi felhasználó által feltett kérdéseket, megvizsgálhatja a kódjukat, és tanácsokat és javaslatokat adhat nekik. Ezt majdnem olyan egyszerű megtenni itt, mint a weboldalon.

Felteheti saját kérdéseit is a feladatokkal kapcsolatban. A kód automatikusan hozzáadódik a kérdéséhez – nem kell semmit sehova másolnia.

Csoportok

A "Csoportok" részben csatlakozhat meghatározott témáknak szentelt csoportokhoz, valamint cikkeket olvashat és publikálhat. A telefonon való gépelés nem igazán kényelmes, ezért ez a rész jelenleg a webes verzión keresztül közzétett olvasmányokra összpontosít.