1. Tüm mobil uygulamalardaki sorun
CodeGym öğrencileri uzun zamandır bir mobil uygulama istiyor. Ve bugünün dünyasında bir telefonun IntelliJ IDEA yüklü bir masaüstü bilgisayardan daha kolay elde edilebilmesinin nedenini anlıyoruz. Gün içinde birkaç kez 15 dakika ayırmak, 1-2 saat aralıksız çalışmak için oturmaktan çok daha kolaydır.
CodeGym'de öğrenmek, bize sunulan her fırsatı tam olarak nasıl kullanacağımızı çözseydik çok daha etkili olurdu. Ancak telefonunuza bir IDE nasıl eklenir?
Uzun bir süre bunun mümkün olabileceğini düşünmedik. Bu, rakiplerimiz tarafından tekrar tekrar onaylandı: programlama öğrenmeye yönelik tüm uygulamaları, kod yazmaktan vazgeçti ve bunun yerini testlerle değiştirdi.
Ama sonra 2019 başlarken bir atılım yaptık. Devasa IDE'leri çoğaltmak yerine, kullanıcıların kod yazarken karşılaştıkları zorluklara odaklanmaya karar verdik. Çözümümüz birkaç basit ilkeye dayanıyordu:
- Kod okumak kod yazmaktan daha önemlidir
- Girdiğiniz kod, girme şeklinizden daha önemlidir
- İmleci yönetmek basit ve sezgisel olmalıdır
- Bir görevi doğru şekilde çözmenin tek ve tek yolu yoktur.
2. Çözümümüz
Tüm bu ilkelere uyan oldukça güzel bir çözüm yaratmayı başardık .
Kod görüntüleniyor
İlk olarak, kodu görüntülemek ve kodu düzenlemek için ayrı modlar yapmaya karar verdik. Kod görüntüleme modunda kaydırma, imleci hareket ettirmek yerine metni kaydırır. Ayrıca, klavye ekranın yarısını kaplamadığında kodu görüntülemek daha uygundur.
İpuçları (önerilen kelimeler)
Her görev için, kullanıcının bir çözüm yazmak için kullanabileceği bir dizi anahtar kelime hazırladık. Artık kelimeleri harf harf yazmanıza gerek yok. Önerilen sözcükleri doğru sırada tıklamanız yeterlidir ve işiniz biter. Bununla birlikte, her zaman klavyede harf harf yazarak normal kod girme yöntemine geçebilirsiniz.
Kullanıcının kendi çözüm versiyonunu yazmasına izin verecek kadar öneri olmalıdır. Ama o kadar çok gereksiz kelime araya girmiyor. Çok sayıda önerilen kelime varsa, bunlar grup olmalıdır; birkaç tane varsa, birlikte gösterilmelidirler.
Ve elbette, önerilen kelimeler her görev için benzersiz olmalıdır . CodeGym'de bulunan 1500 görevin her biri için. İpuçları üretmek için algoritmayı geliştirmek için iki ay harcadık. O zaman bile, önerileri her görev için manuel olarak işlememiz gerekiyordu.
Sonuç etkileyici, ancak bunları geliştirmeye devam edeceğimizi düşünüyorum.
İmleç
İmleci yönetmek ayrı bir hikayeyi hak ediyor. İmleci parmağınızla hareket ettirmek son derece elverişsizdir. İlk olarak, parmağınız kodu gizler. İkincisi, imleçle yapılan en sık eylem, imleci 1-2 karakter geri veya ileri taşımaktır.
Kodu kapatmadan imleci kontrol etmenizi sağlayan özel bir joystick arabirimi oluşturduk . İmleci her seferinde bir karakter hareket ettirmek için özel düğmeler de ekledik . Ve tüm bunlar, o kodu girme süreci yerine girdiğiniz kodu düşünebilmeniz için!
3. Mobil uygulamaya genel bakış
Bugün mobil uygulamanın 4 bölümü var:
- java kursu
- Görevler
- Yardım
- Gruplar
Ve burada her biri hakkında birkaç ayrıntı daha var.
java kursu
"Java kursu" bölümü, görevler halinde gruplandırılmış tüm CodeGym seviyelerinin bir listesini görüntüler. Her seviye ilgili dersleri gösterir. "Başla/Devam Et" butonunu kullanarak en son derse kolayca gidebilirsiniz.
Görevler
Bu bölüm, kullanıcının kullanabileceği tüm görevleri görüntüler. Üç listeye ayrılırlar: "yeni görevler", "devam eden görevler" ve "tamamlanan görevler"
Belirli bir göreve tıkladıktan sonra MobileIDE açılır. Burası, görev koşullarını, gereksinimleri ve kodu görüntüleyebileceğiniz ve ayrıca çözümünüzü oluşturabileceğiniz yerdir. Ayrıca sadece 1 tıklamayla bir görevi doğrulama için gönderebilirsiniz.
Yardım
Bu bölüm görevlerle ilgili soruları gösterir. Diğer kullanıcılar tarafından sorulan soruları görüntüleyebilir, kodlarını inceleyebilir ve onlara tavsiye ve önerilerde bulunabilirsiniz. Bunu burada yapmak neredeyse web sitesinde olduğu kadar kolay.
Görevlerle ilgili kendi sorularınızı da sorabilirsiniz. Kodunuz sorunuza otomatik olarak eklenecektir — herhangi bir yere herhangi bir şey kopyalamanıza gerek yoktur.
Gruplar
"Gruplar" bölümünde, belirli konulara ayrılmış gruplara katılabilir, ayrıca makaleler okuyabilir ve yayınlayabilirsiniz. Telefonunuzda yazmak gerçekten uygun değildir, bu nedenle bu bölüm şu anda web sürümü aracılığıyla yayınlanan materyalleri okumaya odaklanmaktadır.