Duolingo hoàn tất quá trình di chuyển sang Kotlin và giảm bình quân 30% số dòng mã

Duolingo là một trong những nền tảng học ngôn ngữ phổ biến nhất trên thế giới và là một trong những ứng dụng giáo dục miễn phí được tải xuống nhiều nhất trên Google Play, với hơn 200 triệu lượt tải xuống.

Đa số mọi người học một ngôn ngữ mới để có thêm cơ hội, và sứ mệnh của Duolingo là cung cấp nền tảng giáo dục ngôn ngữ miễn phí và dễ tiếp cận cho hơn 300 triệu người học.

Những việc họ đã làm

Sau khi nhận thấy rằng số lượng dòng mã cơ sở tăng 46% mỗi năm, các nhà phát triển Android của Duolingo đã nhất trí quyết định di chuyển từ Java sang Kotlin.

Theo đúng phong cách của Duolingo, nhóm này đã trò chơi hoá quy trình di chuyển bằng cách tổ chức một cuộc thi với bảng xếp hạng hằng ngày và khuyến khích việc học tập. Các nhà phát triển Kotlin giàu kinh nghiệm trong nhóm trở thành "người kiểm tra Kotlin" và chia sẻ các phương pháp hay nhất trong quá trình đánh giá mã, cho đến khi tất cả nhà phát triển Android đều trở thành chuyên gia Kotlin.

Sau 2 năm, quá trình di chuyển đã hoàn tất, cải thiện đáng kể khả năng duy trì mã. Họ nhận thấy rằng việc chuyển đổi một tệp Java sang Kotlin giúp giảm trung bình 30% số dòng mã, và trong một số trường hợp, con số này có thể lên đến 90%.

"Nhìn chung, chúng tôi rất hài lòng khi chuyển sang sử dụng Kotlin đúng lúc, và chúng tôi rất vui mừng khi thấy Kotlin ngày càng được sử dụng nhiều hơn trong công ty chúng tôi nói riêng và toàn bộ ngành phần mềm nói chung!" – Art Chaidarun, Kỹ sư phần mềm cấp cao

Kết quả

Mặc dù có các tính năng sản phẩm mới và số lượng cộng tác viên đang hoạt động tăng hơn gấp đôi, nhưng cơ sở mã của họ gần như có kích thước tương đương với trước khi di chuyển hai năm trước, điều này chứng tỏ rằng quyết định này là một khoản đầu tư hợp lý. Hơn nữa, các cuộc khảo sát nội bộ cho thấy mức độ hài lòng của nhà phát triển đã tăng vọt thêm 129 điểm NPS và Kotlin là một yếu tố quan trọng được đưa ra trong các câu trả lời.

Duolingo không ngừng mở rộng và phát triển, giống như các ngôn ngữ. Thử nghiệm A/B nghiêm ngặt và ý kiến phản hồi trong ứng dụng đảm bảo nhóm sẽ tiếp tục tinh chỉnh phương pháp và cung cấp chương trình giáo dục ngôn ngữ tốt nhất trên thế giới. Giờ đây, với cơ sở mã 100% Kotlin trong ứng dụng Android, họ có thể làm việc này một cách tự tin và hiệu quả hơn nữa.

Bắt đầu

Tìm hiểu thêm về cách phát triển ứng dụng Android bằng Kotlin.