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.
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.
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”.
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.
GO TO FULL VERSION