1. Ang problema sa lahat ng mobile app

Matagal nang humihingi ng mobile app ang mga estudyante ng CodeGym. At naiintindihan namin kung bakit — sa mundo ngayon, ang isang telepono ay mas madaling magagamit kaysa sa isang desktop computer na may naka-install na IntelliJ IDEA . Mas madaling maglaan ng 15 minuto ng ilang beses sa isang araw kaysa sa umupo para mag-aral ng 1-2 oras nang diretso.

Magiging mas epektibo ang pag-aaral sa CodeGym kung malalaman natin kung paano ganap na gamitin ang bawat pagkakataong ibibigay sa atin. Ngunit paano maglagay ng IDE sa iyong telepono?

Sa loob ng mahabang panahon, hindi namin naisip na posible ito. Ito ay paulit-ulit na kinumpirma ng aming mga kakumpitensya: lahat ng kanilang mga app para sa pag-aaral ng programming ay binigay ng code sa pagsusulat at pinalitan ito ng mga pagsubok.

Ngunit nang magsimula ang 2019, gumawa kami ng isang pambihirang tagumpay. Sa halip na kopyahin ang malalaking IDE, nagpasya kaming tumuon sa mga hamon na kinakaharap ng mga user habang nagsusulat ng code. Ang aming solusyon ay batay sa ilang simpleng prinsipyo:

  • Ang pagbabasa ng code ay mas mahalaga kaysa sa pagsusulat ng code
  • Ang code na inilagay mo ay mas mahalaga kaysa sa paraan ng pagpasok nito
  • Ang pamamahala sa cursor ay dapat na simple at intuitive
  • Walang isa at tanging paraan upang malutas nang tama ang isang gawain.

2. Ang aming solusyon

Nagawa naming lumikha ng isang medyo magandang solusyon na sumusunod sa lahat ng mga prinsipyong ito.

Viewing code

Una, nagpasya kaming gumawa ng hiwalay na mga mode para sa pagtingin sa code at pag-edit ng code. Sa code viewing mode, ang pag-swipe ay mag-i-scroll sa text sa halip na ilipat ang cursor. Gayundin, mas maginhawang tingnan ang code kapag ang keyboard ay hindi kumukuha ng kalahati ng screen.

Mga pahiwatig (mga iminungkahing salita)

Para sa bawat gawain, naghanda kami ng hanay ng mga keyword na magagamit ng user para magsulat ng solusyon. Ngayon ay hindi mo na kailangang mag-type ng mga salita bawat titik. I-click mo lang ang mga iminungkahing salita sa tamang pagkakasunod-sunod, at tapos ka na. Iyon ay sinabi, maaari kang palaging lumipat sa karaniwang paraan ng pagpasok ng code, pagta-type ng titik sa pamamagitan ng titik sa keyboard.

Dapat ay may sapat na mga mungkahi upang payagan ang user na magsulat ng kanyang sariling bersyon ng isang solusyon. Ngunit hindi gaanong marami na ang mga hindi kinakailangang salita ay nakakasagabal lamang. Kung maraming iminungkahing salita, dapat ay pangkat sila; kung kakaunti, dapat silang ipakita nang magkasama.

At, siyempre, ang mga iminungkahing salita ay dapat na natatangi para sa bawat gawain . Para sa bawat isa sa 1500 gawain na umiiral sa CodeGym. Gumugol kami ng dalawang buwan sa pagpino lang ng algorithm para sa pagbuo ng mga pahiwatig. Kahit noon pa man, kailangan pa rin naming iproseso nang manu-mano ang mga mungkahi para sa bawat gawain.

Ang resulta ay kahanga-hanga, kahit na sa palagay ko ay patuloy nating pagbubutihin ang mga ito.

Java course android 1

Cursor

Ang pamamahala sa cursor ay nararapat sa sarili nitong hiwalay na kuwento. Ito ay sobrang hindi maginhawa upang ilipat ang cursor gamit ang iyong daliri. Una, tinatakpan ng iyong daliri ang code. Pangalawa, ang pinakamadalas na pagkilos gamit ang cursor ay ang ilipat ito ng 1-2 character pabalik o pasulong.

Gumawa kami ng espesyal na interface ng joystick na nagbibigay-daan sa iyong kontrolin ang cursor nang hindi sinasaklaw ang code. Nagdagdag din kami ng mga espesyal na pindutan para sa paglipat ng cursor ng isang character sa isang pagkakataon . At ang lahat ng ito upang mapag-isipan mo ang code na iyong ipinapasok sa halip na ang proseso ng pagpasok ng code na iyon!


3. Pangkalahatang-ideya ng mobile app

Ngayon ang mobile app ay may 4 na seksyon:

  • kursong Java
  • Mga gawain
  • Tulong
  • Mga grupo

At narito ang ilang higit pang mga detalye tungkol sa bawat isa sa kanila.

kursong Java

Ang seksyong "Java course" ay nagpapakita ng isang listahan ng lahat ng mga antas ng CodeGym, na pinagsama-sama sa mga quest. Ang bawat antas ay nagpapakita ng kaukulang mga aralin. Madali kang makakapunta sa pinakahuling aralin gamit ang "Start/Continue" button.

Java course android

Mga gawain

Ipinapakita ng seksyong ito ang lahat ng mga gawaing magagamit ng user. Ang mga ito ay nahahati sa tatlong listahan: "mga bagong gawain", "mga kasalukuyang gawain" at "mga natapos na gawain"

Mga gawain sa android ng kurso sa Java

Pagkatapos mag-click sa isang partikular na gawain, magbubukas ang MobileIDE . Dito mo makikita ang mga kondisyon ng gawain, mga kinakailangan, at code, at mabuo din ang iyong solusyon. Maaari ka ring magsumite ng gawain para sa pag-verify sa 1 click lang.

Tulong

Ang seksyong ito ay nagpapakita ng mga tanong tungkol sa mga gawain. Maaari mong tingnan ang mga tanong ng ibang mga user, suriin ang kanilang code, at bigyan sila ng payo at rekomendasyon. Ito ay halos kasingdali na gawin iyon dito tulad ng sa website.

Maaari ka ring magtanong ng sarili mong mga katanungan tungkol sa mga gawain. Awtomatikong idaragdag ang iyong code sa iyong tanong — hindi mo kailangang kopyahin kahit saan.

Mga grupo

Sa seksyong "Mga Grupo," maaari kang sumali sa mga pangkat na nakatuon sa mga partikular na paksa, at magbasa at mag-publish din ng mga artikulo. Ang pag-type sa iyong telepono ay hindi talaga maginhawa, kaya ang seksyong ito ay kasalukuyang nakatuon sa mga materyales sa pagbabasa na nai-post sa pamamagitan ng web na bersyon.