Duolingo ย้ายข้อมูลไปยัง Kotlin เสร็จสมบูรณ์และลดจำนวนบรรทัดได้โดยเฉลี่ย 30%

Duolingo เป็นหนึ่งในแพลตฟอร์มการเรียนภาษาที่ได้รับความนิยมมากที่สุดในโลก และเป็นหนึ่งใน แอปการศึกษาฟรีที่มีการดาวน์โหลดมากที่สุดบน Google Play โดยมียอดดาวน์โหลดมากกว่า 200 ล้านครั้ง

ผู้คนส่วนใหญ่เรียนรู้ภาษาใหม่เพื่อเข้าถึงโอกาสที่ดีขึ้น และภารกิจของ Duolingo คือการให้การศึกษาด้านภาษาแก่ผู้เรียนกว่า 300 ล้านคนโดยไม่เสียค่าใช้จ่ายและเข้าถึงได้ง่าย

สิ่งที่พวกเขาทำ

หลังจากเห็นว่าจำนวนบรรทัดในโค้ดเบสเพิ่มขึ้น 46% ทุกปี นักพัฒนาแอป Android ของ Duolingo จึงตัดสินใจเป็นเอกฉันท์ที่จะย้ายข้อมูลจาก Java ไปยัง Kotlin

ทีมงานได้นำรูปแบบเกมมาใช้ในกระบวนการย้ายข้อมูลตามสไตล์ของ Duolingo โดยจัด การแข่งขันที่มีลีดเดอร์บอร์ดรายวันและส่งเสริมการเรียนรู้ นักพัฒนาซอฟต์แวร์ Kotlin ที่มีประสบการณ์ของทีมได้กลายเป็น "ผู้ตรวจสอบ Kotlin" และแชร์แนวทางปฏิบัติแนะนำ ในการตรวจสอบโค้ด จนกระทั่งนักพัฒนาซอฟต์แวร์ Android ทุกคนกลายเป็นผู้เชี่ยวชาญ Kotlin ด้วยตนเอง

หลังจาก 2 ปี การย้ายข้อมูลก็เสร็จสมบูรณ์ ซึ่งช่วยปรับปรุงความสามารถในการบำรุงรักษาโค้ด ได้อย่างมาก โดยพบว่าการแปลงไฟล์ Java เป็น Kotlin ช่วยลดจำนวนบรรทัดลงได้โดยเฉลี่ย 30% และในบางกรณีอาจลดลงได้มากถึง 90%

"โดยรวมแล้ว เรายินดีเป็นอย่างยิ่งที่ได้ย้ายข้อมูลไปยัง Kotlin และรู้สึกตื่นเต้นที่จะได้เห็นการใช้งาน Kotlin เติบโตต่อไปทั้งภายในบริษัทและทั่วทั้งอุตสาหกรรมซอฟต์แวร์" - Art Chaidarun วิศวกรซอฟต์แวร์อาวุโส

ผลลัพธ์

แม้จะมีฟีเจอร์ผลิตภัณฑ์ใหม่และมีผู้ร่วมให้ข้อมูลที่ใช้งานอยู่เพิ่มขึ้นกว่าเท่าตัว แต่โค้ดเบสก็มีขนาดเกือบเท่ากับก่อนการย้ายข้อมูลเมื่อ 2 ปีที่แล้ว ซึ่งพิสูจน์ให้เห็นว่าการตัดสินใจครั้งนี้เป็นการลงทุนที่คุ้มค่า นอกจากนี้ แบบสำรวจภายในยังแสดงให้เห็นว่าความพึงพอใจของนักพัฒนาแอปเพิ่มขึ้นอย่างมากถึง 129 คะแนน NPS และ Kotlin เป็นปัจจัยสำคัญที่ระบุไว้ในการตอบแบบสำรวจ

Duolingo ขยายและพัฒนาอยู่เสมอเช่นเดียวกับภาษา การทดสอบ A/B อย่างเข้มงวดและความคิดเห็นในแอปช่วยให้มั่นใจได้ว่า ทีมจะปรับแต่งวิธีการต่อไปและนำเสนอการศึกษาภาษาที่ดีที่สุดในโลก ตอนนี้แอป Android ของบริษัทมีโค้ดเบส Kotlin 100% จึงทำให้บริษัทสามารถทำเช่นนั้นได้อย่างมั่นใจและมีประสิทธิภาพมากยิ่งขึ้น

เริ่มต้นใช้งาน

ดูข้อมูลเพิ่มเติมเกี่ยวกับการพัฒนาแอป Android ด้วย Kotlin