1. Problem ze wszystkimi aplikacjami mobilnymi

Studenci CodeGym od dawna prosili o aplikację mobilną. I rozumiemy dlaczego — w dzisiejszym świecie telefon jest łatwiej dostępny niż komputer stacjonarny z zainstalowanym IntelliJ IDEA . O wiele łatwiej jest wygospodarować 15 minut kilka razy w ciągu dnia, niż usiąść do nauki przez 1-2 godziny bez przerwy.

Nauka na CodeGym byłaby o wiele bardziej efektywna, gdybyśmy wiedzieli, jak w pełni wykorzystać każdą nadarzającą się okazję. Ale jak umieścić IDE w telefonie?

Długo nie sądziliśmy, że to możliwe. Wielokrotnie potwierdzali to nasi konkurenci: wszystkie ich aplikacje do nauki programowania zrezygnowały z pisania kodu i zastąpiły je testami.

Ale kiedy zaczął się rok 2019, dokonaliśmy przełomu. Zamiast powielać ogromne IDE, postanowiliśmy skupić się na wyzwaniach, przed którymi stają użytkownicy podczas pisania kodu. Nasze rozwiązanie opierało się na kilku prostych zasadach:

  • Czytanie kodu jest ważniejsze niż pisanie kodu
  • Kod, który wpisujesz, jest ważniejszy niż sposób, w jaki go wpisujesz
  • Zarządzanie kursorem musi być proste i intuicyjne
  • Nie ma jednego i jedynego sposobu na poprawne rozwiązanie zadania.

2. Nasze rozwiązanie

Udało nam się stworzyć dość piękne rozwiązanie , które spełnia wszystkie te zasady.

Wyświetlanie kodu

Najpierw zdecydowaliśmy się zrobić osobne tryby do przeglądania kodu i edycji kodu. W trybie przeglądania kodu przesuwanie spowoduje przewijanie tekstu zamiast przesuwania kursora. Ponadto wygodniej jest przeglądać kod, gdy klawiatura nie zajmuje połowy ekranu.

Wskazówki (sugerowane słowa)

Do każdego zadania przygotowaliśmy zestaw słów kluczowych, za pomocą których użytkownik może napisać rozwiązanie. Teraz nie musisz wpisywać słów litera po literze. Wystarczy kliknąć sugerowane słowa we właściwej kolejności i gotowe. To powiedziawszy, zawsze możesz przełączyć się na zwykły sposób wprowadzania kodu, wpisując litera po literze na klawiaturze.

Sugestii powinno być wystarczająco dużo, aby umożliwić użytkownikowi napisanie własnej wersji rozwiązania. Ale nie tak wiele, aby niepotrzebne słowa po prostu przeszkadzały. Jeśli jest wiele sugerowanych słów, powinny one być grupowane; jeśli jest ich kilka, powinny być wyświetlane razem.

I oczywiście sugerowane słowa muszą być unikalne dla każdego zadania . Za każde z 1500 zadań dostępnych w CodeGym. Spędziliśmy dwa miesiące na dopracowywaniu algorytmu generowania podpowiedzi. Nawet wtedy musieliśmy ręcznie przetwarzać sugestie dla każdego zadania.

Wynik jest imponujący, choć myślę, że będziemy je jeszcze poprawiać.

Kurs javy android 1

Kursor

Zarządzanie kursorem zasługuje na osobną historię. Przesuwanie kursora palcem jest bardzo niewygodne. Najpierw twój palec zasłania kod. Po drugie, najczęstszą czynnością wykonywaną przy użyciu kursora jest przesunięcie go o 1-2 znaki do tyłu lub do przodu.

Stworzyliśmy specjalny interfejs joysticka , który pozwala sterować kursorem bez zasłaniania kodu. Dodaliśmy również specjalne przyciski do przesuwania kursora o jeden znak na raz . A wszystko po to, abyś mógł pomyśleć o kodzie, który wpisujesz, a nie o procesie jego wpisywania!


3. Przegląd aplikacji mobilnej

Dziś aplikacja mobilna ma 4 sekcje:

  • Kurs Javy
  • Zadania
  • Pomoc
  • Grupy

A oto kilka dodatkowych szczegółów na temat każdego z nich.

Kurs Javy

Sekcja „Kurs Java” wyświetla listę wszystkich poziomów CodeGym, które są pogrupowane w zadania. Każdy poziom wyświetla odpowiednie lekcje. Możesz łatwo przejść do ostatniej lekcji za pomocą przycisku „Start/Kontynuuj”.

Kurs Java na Androida

Zadania

W tej sekcji wyświetlane są wszystkie zadania dostępne dla użytkownika. Są one podzielone na trzy listy: „nowe zadania”, „zadania w toku” i „zadania zakończone”

Zadania na Androida w kursie Java

Po kliknięciu określonego zadania otworzy się MobileIDE . Tutaj możesz zobaczyć warunki zadania, wymagania i kod, a także skomponować swoje rozwiązanie. Możesz również przesłać zadanie do weryfikacji za pomocą zaledwie 1 kliknięcia.

Pomoc

Ta sekcja zawiera pytania dotyczące zadań. Możesz przeglądać pytania zadane przez innych użytkowników, sprawdzać ich kod oraz udzielać im porad i zaleceń. Tutaj jest to prawie tak proste, jak na stronie internetowej.

Możesz także zadawać własne pytania dotyczące zadań. Twój kod zostanie automatycznie dodany do pytania — nie musisz niczego nigdzie kopiować.

Grupy

W dziale „Grupy” możesz dołączyć do grup poświęconych określonej tematyce, a także czytać i publikować artykuły. Pisanie na telefonie nie jest zbyt wygodne, więc ta sekcja skupia się obecnie na czytaniu materiałów opublikowanych w wersji internetowej.