1. Vấn đề với tất cả các ứng dụng di động

Sinh viên CodeGym đã yêu cầu một ứng dụng di động trong một thời gian dài. Và chúng tôi hiểu tại sao — trong thế giới ngày nay, điện thoại sẵn có hơn máy tính để bàn có cài đặt IntelliJ IDEA . Việc dành ra 15 phút nhiều lần trong ngày sẽ dễ dàng hơn nhiều so với việc ngồi học liên tục trong 1-2 giờ.

Việc học trên CodeGym sẽ hiệu quả hơn nhiều nếu chúng ta tìm ra cách tận dụng triệt để mọi cơ hội đến với mình. Nhưng làm thế nào để đặt một IDE trên điện thoại của bạn?

Trong một thời gian dài, chúng tôi đã không nghĩ rằng điều này là có thể. Điều này đã được các đối thủ cạnh tranh của chúng tôi xác nhận nhiều lần: tất cả các ứng dụng học lập trình của họ đã loại bỏ việc viết mã và thay thế bằng các bài kiểm tra.

Nhưng khi năm 2019 bắt đầu, chúng tôi đã tạo ra một bước đột phá. Thay vì sao chép các IDE lớn, chúng tôi quyết định tập trung vào những thách thức mà người dùng gặp phải khi viết mã. Giải pháp của chúng tôi dựa trên một vài nguyên tắc đơn giản:

  • Đọc mã quan trọng hơn viết mã
  • Mã bạn nhập quan trọng hơn cách bạn nhập mã
  • Quản lý con trỏ phải đơn giản và trực quan
  • Không có cách nào và duy nhất để giải quyết một nhiệm vụ một cách chính xác.

2. Giải pháp của chúng tôi

Chúng tôi đã cố gắng tạo ra một giải pháp khá đẹp mắt , tuân thủ tất cả các nguyên tắc này.

xem mã

Đầu tiên, chúng tôi quyết định tạo các chế độ riêng biệt để xem mã và chỉnh sửa mã. Ở chế độ xem mã, thao tác vuốt sẽ cuộn văn bản thay vì di chuyển con trỏ. Ngoài ra, sẽ thuận tiện hơn khi xem mã khi bàn phím không chiếm nửa màn hình.

Gợi ý (từ gợi ý)

Đối với mỗi nhiệm vụ, chúng tôi đã chuẩn bị một bộ từ khóa mà người dùng có thể sử dụng để viết giải pháp. Bây giờ bạn không cần phải gõ từng chữ một. Bạn chỉ cần nhấp vào các từ gợi ý theo đúng thứ tự là xong. Điều đó nói rằng, bạn luôn có thể chuyển sang cách nhập mã thông thường, nhập từng chữ cái trên bàn phím.

Cần có đủ đề xuất để cho phép người dùng viết phiên bản giải pháp của riêng họ. Nhưng không nhiều đến mức những từ không cần thiết chỉ cản trở. Nếu có nhiều từ gợi ý thì nên nhóm; nếu có ít, thì chúng nên được hiển thị cùng nhau.

Và, tất nhiên, các từ gợi ý phải là duy nhất cho mỗi nhiệm vụ . Đối với mỗi nhiệm vụ trong số 1500 nhiệm vụ tồn tại trên CodeGym. Chúng tôi đã dành hai tháng chỉ để tinh chỉnh thuật toán tạo gợi ý. Ngay cả khi đó, chúng tôi vẫn phải xử lý các đề xuất theo cách thủ công cho từng tác vụ.

Kết quả thật ấn tượng, mặc dù tôi nghĩ chúng tôi sẽ tiếp tục cải thiện chúng.

khóa học java android 1

con trỏ

Quản lý con trỏ xứng đáng có câu chuyện riêng của nó. Thật bất tiện khi di chuyển con trỏ bằng ngón tay của bạn. Đầu tiên, ngón tay của bạn che khuất mã. Thứ hai, hành động thường xuyên nhất với con trỏ là di chuyển nó về phía sau hoặc phía trước 1-2 ký tự.

Chúng tôi đã tạo một giao diện cần điều khiển đặc biệt cho phép bạn điều khiển con trỏ mà không cần che mã. Chúng tôi cũng đã thêm các nút đặc biệt để di chuyển con trỏ từng ký tự một . Và tất cả những điều này để bạn có thể nghĩ về mã bạn đang nhập thay vì quá trình nhập mã đó!


3. Tổng quan về ứng dụng di động

Ngày nay, ứng dụng dành cho thiết bị di động có 4 phần:

  • khóa học Java
  • nhiệm vụ
  • Giúp đỡ
  • Các nhóm

Và đây là một vài chi tiết về mỗi người trong số họ.

khóa học Java

Phần "Khóa học Java" hiển thị danh sách tất cả các cấp độ CodeGym, được nhóm thành các nhiệm vụ. Mỗi cấp độ hiển thị các bài học tương ứng. Bạn có thể dễ dàng chuyển đến bài học gần đây nhất bằng nút "Bắt đầu/Tiếp tục".

khóa học java android

nhiệm vụ

Phần này hiển thị tất cả các nhiệm vụ có sẵn cho người dùng. Chúng được chia thành ba danh sách: "nhiệm vụ mới", "nhiệm vụ đang thực hiện" và "nhiệm vụ đã hoàn thành"

khóa học java android task

Sau khi nhấp vào một nhiệm vụ cụ thể, MobileIDE sẽ mở ra. Đây là nơi bạn có thể xem các điều kiện, yêu cầu và mã của nhiệm vụ, đồng thời soạn giải pháp của mình. Bạn cũng có thể gửi một nhiệm vụ để xác minh chỉ bằng 1 cú nhấp chuột.

Giúp đỡ

Phần này hiển thị các câu hỏi về nhiệm vụ. Bạn có thể xem các câu hỏi của những người dùng khác, kiểm tra mã của họ và đưa ra lời khuyên cũng như đề xuất cho họ. Nó gần như dễ dàng để làm điều đó ở đây cũng như trên trang web.

Bạn cũng có thể đặt câu hỏi của riêng bạn về các nhiệm vụ. Mã của bạn sẽ tự động được thêm vào câu hỏi của bạn — bạn không cần phải sao chép bất kỳ thứ gì ở bất kỳ đâu.

Các nhóm

Trong phần "Nhóm", bạn có thể tham gia các nhóm dành cho các chủ đề cụ thể, đồng thời đọc và xuất bản các bài báo. Việc đánh máy trên điện thoại không thực sự thuận tiện, vì vậy phần này hiện tập trung vào việc đọc các tài liệu được đăng tải qua phiên bản web.