1. Bütün mobil tətbiqlərin problemi
Uzun müddətdir ki, CodeGym tələbələri təhsil üçün mobil tətbiq istəyirdilər. Və biz onları başa düşürük — müasir dövrdə telefon IntelliJ IDEA ilə tam kompüterdən daha tez-tez əlçatan olur. Gündə bir neçə dəfə 15 dəqiqə ayırmaq, 1-2 saatlıq dərs oturmaqdan daha asandır.
CodeGym-də təhsil xeyli uğurlu olardı ki, biz mövcud olan imkanları necə istifadə edəcəyimizi tapsaydıq. Amma IDE-ni telefona necə sığdırmalı?
Uzun müddət bunu ümumiyyətlə qeyri-mümkün hesab edirdik. Bu rəqiblərin nümunələri ilə bir daha təsdiqlənirdi: proqramlaşdırma təlim edən bütün tətbiqlər kod yazmağı atıb, onu testlərlə əvəz etmişdilər.
Ancaq haradasa 2019-cu ilin əvvəlində biz irəliləyiş etdik. Böyük IDE-ləri kopyalamaq əvəzinə, istifadəçilərin proqram yazarkən yaşadığı problemlərə fokuslandıq. Həllimiz bir neçə sadə prinsipə əsaslanırdı:
- Kodu oxumaq, onu yazmaqdan daha önəmlidir
- Yazılan kod onu yazma üsulundan daha önəmlidir
- Kursor idarəsi sadə və intuitiv olmalıdır
- Problemi düzgün həll etməyin tək bir yolu yoxdur.
2. Bizim həllimiz
Biz kifayət qədər gözəl bir həll yaratmağı bacardıq, hansı ki, bütün prinsiplərə cavab verirdi.
Kod baxışı
Birincisi, biz kod baxışı rejimini və kod redaktə rejimini ayırmağa qərar verdik. Kod baxışı rejimində, swipe mətni sürüşdürür, kursoru isə hərəkət etdirmir. Üstəlik, kodu baxmaq daha rahatdır, xüsusən də klaviatura ekranın yarısını tutmurkən.
İpucular
Hər bir tapşırıq üçün istifadəçi həllini yaza biləcəyi açar sözlərdən ibarət bir dəst hazırlanmışdır. İndi sözləri hərflərlə yığmağa ehtiyac yoxdur: sadəcə doğru ardıcıllıqla ipucu sözlərinə klikləyə bilərsiniz və hər şey asanlaşır. Amma istəsəniz, hər zaman klaviatura vasitəsilə həmişəki kod yazma üsuluna qayıda bilərsiniz.
İpucu sözləri çox az olmamalıdır ki, istifadəçi tapşırığın həllini öz variantını yaza bilsin. Amma çox da olmamalıdır: artıq sözlər sadəcə mane olacaq. Belə sözlər çox olduqda, onlar kateqoriyalara bölünməlidir, az olduqda isə bir arada göstərilməlidir.
Və əlbəttə, ipucu sözlər hər bir tapşırıq üçün unikal olmalıdır. CodeGym-də mövcud olan 1500 tapşırıq üçün. İpucu yaradacaq alqoritmi təkmilləşdirmək üçün biz iki ay sərf etdik. Amma yenə də ipucu sözlərini hər bir tapşırıq üçün əl ilə işləməli olduq.
Nəticə təsir edicidir, amma düşünürəm ki, biz onları daha da təkmilləşdirməyə davam edəcəyik.

Kursor
Kursorun idarəsi ayrıca bir hekayəyə layiqdir. Barmaqla kursoru hərəkət etdirmək əlverişli deyil. Birincisi, kodu örtür, ikincisi isə kursorla ən çox istifadə olunan hərəkət onu 1-2 simvol geriyə və ya irəli hərəkət etdirməkdir.

Biz xüsusi bir joystick düyməsi yaratdıq, hansı ki, kursoru idarə etməyə imkan verir, lakin kodu örtmədən. Bundan başqa, kursoru simvolla hərəkət etdirmək üçün xüsusi düymələr əlavə etmişik. Və bütün bunlar kod yığma prosesində kod haqqında düşünməyiniz üçün, necə kod yazacağınızı deyil!
3. Mobil tətbiqin icmalı
Mobil tətbiqdə dörd bölmə ilə başladıq:
- Java Kursu
- Tapşırıqlar
- Kömək
- Qruplar
Hər biri barədə bir az daha ətraflı
Java Kursu
Java Kursu bölməsində CodeGym-in bütün səviyyələrinin siyahısı göstərilir, bunlar isə müxtəlif qvestlərə bölünüb. Hər səviyyədə onun mühazirələri görünür. Siz sonuncu mühazirəyə asanlıqla keçid edə bilərsiniz: bunun üçün xüsusi bir «Başla/Davam et» düyməsi var.

Tapşırıqlar
Bu bölmədə istifadəçi üçün əlçatan olan bütün tapşırıqlar görünür. Onlar üç siyahıya bölünür: «yeni tapşırıqlar», «davam edən tapşırıqlar» və «həll olunmuş tapşırıqlar»

Müəyyən bir tapşırığa klik etdikdə, sizin üçün MobileIDE açılır, burada tapşırığın şərtini, tələblərini və kodunu görə bilərsiniz, həmçinin öz həllinizi yaza bilərsiniz. Tapşırığı yoxlamaq üçün göndərmək də yalnız 1 klik qədər asandır.
Kömək
Bu bölmədə tapşırıqlarla bağlı suallar görünür. Başqa istifadəçilərin suallarını, həll kodlarını görə və onlara məsləhət və tövsiyələr verə bilərsiniz. Bu, saytdakı kimi təxminən eyni dərəcədə asandır.
Həmçinin tapşırıq barədə öz sualınızı da verə bilərsiniz. Bu halda, kodunuz avtomatik olaraq sualınıza əlavə ediləcək: heç bir şeyi bir yerdən başqa yerə kopyalamağa ehtiyac yoxdur.

Qruplar
Qruplar bölməsində tematik qruplara qoşula, həmçinin məqalələr oxuya və dərc edə bilərsiniz. Telefonda mətni yazmaq çox rahat deyil, buna görə də bu bölmə əsasən web-versiya vasitəsilə yerləşdirilən materialların oxunmasına yönəldilmişdir.

2020-ci ilin dekabr ayına görə mobil tətbiqdə artıq 11 bölmə var.
GO TO FULL VERSION