1. Проблемът с всички мобилни applications

Студентите на CodeGym искат мобилно приложение от дълго време. И ние разбираме защо – в днешния свят телефонът е по-достъпен от настолен компютър с инсталиран IntelliJ IDEA . Много по-лесно е да отделите по 15 minutesи няколко пъти през деня, отколкото да седнете да учите 1-2 часа без прекъсване.

Обучението на CodeGym би било много по-ефективно, ако разберем How да използваме напълно всяка възможност, която ни се предоставя. Но How да поставите IDE на телефона си?

Дълго време не смятахме, че това е възможно. Това беше многократно потвърдено от нашите конкуренти: всичките им applications за обучение по програмиране се отказаха от писане на code и го замениха с тестове.

Но когато започна 2019 г., направихме пробив. Вместо да възпроизвеждаме масивни IDE, ние решихме да се съсредоточим върху предизвикателствата, пред които са изпequalsи потребителите, докато пишат code. Нашето решение се основава на няколко прости принципа:

  • Четенето на code е по-важно от писането на code
  • Кодът, който въвеждате, е по-важен от начина, по който го въвеждате
  • Управлението на курсора трябва да е просто и интуитивно
  • Няма един и единствен начин да решите една задача правилно.

2. Нашето решение

Успяхме да създадем едно доста красиво решение , което се придържа към всички тези принципи.

Преглед на codeа

Първо, решихме да направим отделни режими за преглед на code и редактиране на code. В режим на преглед на codeа плъзгането ще превърта текста, instead of да премества курсора. Освен това е по-удобно да преглеждате codeа, когато клавиатурата не заема половината екран.

Подсказки (предложени думи)

За всяка задача подготвихме набор от ключови думи, които потребителят може да използва, за да напише решение. Вече не е нужно да въвеждате думи буква по буква. Просто щракнете върху предложените думи в правилния ред и сте готови. Въпреки това винаги можете да преминете към обичайния начин за въвеждане на code, като въвеждате буква по буква на клавиатурата.

Трябва да има достатъчно предложения, за да позволи на потребителя да напише своя собствена version на решение. Но не толкова много, че ненужните думи просто да ви пречат. Ако има много предложени думи, те трябва да бъдат групи; ако са малко, тогава трябва да се показват заедно.

И, разбира се, предложените думи трябва да са уникални за всяка задача . За всяка от 1500 задачи, които съществуват в CodeGym. Прекарахме два месеца само в усъвършенстване на алгоритъма за генериране на съвети. Дори тогава все още трябваше да обработваме предложенията ръчно за всяка задача.

Резултатът е впечатляващ, но смятам, че ще продължим да ги подобряваме.

Java курс за android 1

Курсор

Управлението на курсора заслужава отделна история. Супер неудобно е да местите курсора с пръст. Първо, пръстът ви закрива codeа. Второ, най-честото действие с курсора е да го преместите 1-2 знака назад or напред.

Създадохме специален интерфейс на джойстика , който ви позволява да управлявате курсора, без да покривате codeа. Добавихме и специални бутони за преместване на курсора символ по знак . И всичко това, за да можете да мислите за codeа, който въвеждате, а не за процеса на въвеждане на този code!


3. Преглед на мобилното приложение

Днес мобилното приложение има 4 раздела:

  • Java курс
  • Задачи
  • Помогне
  • Групи

А ето и малко повече подробности за всеки от тях.

Java курс

Разделът „Курс по Java“ показва списък на всички нива на CodeGym, които са групирани в куестове. Всяко ниво показва съответните уроци. Можете лесно да отидете на последния урок, като използвате бутона "Старт/Продължи".

Java курс за android

Задачи

Този раздел показва всички задачи, достъпни за потребителя. Те са разделени в три списъка: „нови задачи“, „текущи задачи“ и „завършени задачи“

Задачи за курс по java за android

След щракване върху конкретна задача се отваря MobileIDE . Това е мястото, където можете да видите условията на задачата, изискванията и codeа, Howто и да съставите своето решение. Можете също така да изпратите задача за проверка само с 1 клик.

Помогне

Този раздел показва въпроси относно задачи. Можете да преглеждате въпроси, зададени от други потребители, да разглеждате техния code и да им давате съвети и препоръки. Тук е почти толкова лесно да направите това, колкото и на уебсайта.

Можете също така да задавате свои въпроси относно задачите. Вашият code ще бъде добавен към въпроса ви автоматично — не е необходимо да копирате нищо никъде.

Групи

В раздела „Групи“ можете да се присъедините към групи, посветени на конкретни теми, Howто и да четете и публикувате статии. Писането на вашия телефон не е много удобно, така че този раздел в момента се фокусира върху четене на материали, публикувани чрез уеб versionта.