1. 모든 모바일 앱의 문제점

CodeGym 학생들은 오랫동안 모바일 앱을 요구해 왔습니다. 그리고 우리는 오늘날 세계에서 IntelliJ IDEA 가 설치된 데스크톱 컴퓨터보다 휴대폰을 더 쉽게 사용할 수 있는 이유를 이해합니다 . 앉아서 1-2시간 연속으로 공부하는 것보다 하루에 여러 번 15분을 따로 떼어두는 것이 훨씬 쉽습니다.

CodeGym에서 배우는 것은 우리에게 제시된 모든 기회를 최대한 활용하는 방법을 알아낸다면 훨씬 더 효과적일 것입니다. 하지만 휴대 전화에 IDE를 설치하는 방법은 무엇입니까?

오랫동안 우리는 이것이 가능하다고 생각하지 않았습니다. 이것은 경쟁사들에 의해 반복적으로 확인되었습니다. 프로그래밍 학습을 위한 그들의 모든 앱은 코드 작성을 생략하고 테스트로 대체했습니다.

하지만 2019년이 시작되면서 우리는 돌파구를 마련했습니다. 대규모 IDE를 복제하는 대신 코드를 작성하는 동안 사용자가 직면하는 문제에 집중하기로 결정했습니다. 우리의 솔루션은 다음과 같은 몇 가지 간단한 원칙을 기반으로 합니다.

  • 코드를 읽는 것보다 코드를 읽는 것이 더 중요하다
  • 입력하는 코드가 입력 방식보다 더 중요합니다.
  • 커서 관리는 간단하고 직관적이어야 합니다.
  • 작업을 올바르게 해결하는 유일한 방법은 없습니다.

2. 우리의 솔루션

우리는 이러한 모든 원칙을 준수하는 다소 아름다운 솔루션을 만들었습니다 .

코드 보기

먼저 코드를 보는 모드와 코드를 편집하는 모드를 분리하기로 했습니다. 코드 보기 모드에서 스와이프하면 커서를 이동하는 대신 텍스트를 스크롤합니다. 또한 키보드가 화면의 절반을 차지하지 않을 때 코드를 보는 것이 더 편리합니다.

힌트(추천 단어)

각 작업에 대해 사용자가 솔루션을 작성하는 데 사용할 수 있는 키워드 세트를 준비했습니다. 이제 한 글자씩 단어를 입력할 필요가 없습니다. 제안된 단어를 올바른 순서로 클릭하면 완료됩니다. 즉, 키보드에서 문자를 하나씩 입력하여 코드를 입력하는 일반적인 방법으로 언제든지 전환할 수 있습니다.

사용자가 자신만의 솔루션 버전을 작성할 수 있도록 충분한 제안이 있어야 합니다. 그러나 불필요한 단어가 방해가 될 정도로 많지는 않습니다. 추천 단어가 많으면 그룹이어야 합니다. 적은 경우 함께 표시되어야 합니다.

그리고 물론 제안된 단어는 각 작업에 대해 고유해야 합니다 . CodeGym에 존재하는 각 1500개의 작업에 대해. 힌트를 생성하는 알고리즘을 개선하는 데만 두 달이 걸렸습니다. 그럼에도 불구하고 우리는 여전히 각 작업에 대한 제안을 수동으로 처리해야 했습니다.

결과는 인상적이지만 계속해서 개선할 것이라고 생각합니다.

자바 코스 안드로이드 1

커서

커서 관리는 별도의 이야기가 필요합니다. 손가락으로 커서를 움직이는 것은 매우 불편합니다. 첫째, 손가락이 코드를 가립니다. 둘째, 커서로 가장 자주 하는 동작은 커서를 앞뒤로 1-2문자 이동하는 것입니다.

코드를 가리지 않고 커서를 제어할 수 있는 특수 조이스틱 인터페이스를 만들었습니다. 또한 커서를 한 번에 한 문자씩 이동하는 특수 버튼 도 추가했습니다 . 그리고 이 모든 것을 통해 해당 코드를 입력하는 과정이 아니라 입력하는 코드에 대해 생각할 수 있습니다!


3. 모바일 앱 개요

현재 모바일 앱에는 4개의 섹션이 있습니다.

  • 자바 코스
  • 작업
  • 돕다
  • 여러 떼

여기에 각각에 대한 몇 가지 세부 정보가 있습니다.

자바 코스

"Java 코스" 섹션에는 퀘스트로 그룹화된 모든 CodeGym 레벨 목록이 표시됩니다. 각 레벨은 해당 레슨을 표시합니다. "시작/계속" 버튼을 사용하여 가장 최근 레슨으로 쉽게 이동할 수 있습니다.

자바 코스 안드로이드

작업

이 섹션에는 사용자가 사용할 수 있는 모든 작업이 표시됩니다. "새 작업", "진행 중인 작업" 및 "완료된 작업"의 세 가지 목록으로 나뉩니다.

자바 코스 안드로이드 작업

특정 작업을 클릭하면 MobileIDE 가 열립니다. 여기에서 작업 조건, 요구 사항 및 코드를 보고 솔루션을 구성할 수도 있습니다. 단 한 번의 클릭으로 확인 작업을 제출할 수도 있습니다.

돕다

이 섹션에는 작업에 대한 질문이 표시됩니다. 다른 사용자가 묻는 질문을 보고, 코드를 검토하고, 조언과 권장 사항을 제공할 수 있습니다. 웹사이트에서 하는 것만큼이나 여기에서도 쉽게 할 수 있습니다.

작업에 대해 직접 질문할 수도 있습니다. 귀하의 코드는 질문에 자동으로 추가됩니다. 아무 것도 복사할 필요가 없습니다.

여러 떼

"그룹" 섹션에서 특정 주제를 다루는 그룹에 가입하고 기사를 읽고 게시할 수도 있습니다. 휴대전화로 타이핑하는 것이 그다지 편리하지 않기 때문에 이 섹션에서는 현재 웹 버전을 통해 게시된 자료를 읽는 데 중점을 둡니다.