SmartNews giúp hàng triệu người khám phá thế giới mỗi ngày bằng cách chia sẻ tin tức kịp thời từ nhiều nguồn tin. Công ty này được thành lập vào năm 2012 tại Nhật Bản và hiện có hơn 50 triệu lượt tải xuống trên toàn cầu.
Vào tháng 6 năm 2019, nhóm nhận thấy hoạt động phát triển Android đang chuyển sang ưu tiên Kotlin và quyết định tự bắt đầu thử nghiệm Kotlin. Họ muốn tận dụng các thư viện Jetpack ưu tiên Kotlin, giảm lượng mã mà họ phải duy trì và hưởng lợi từ cú pháp dễ hiểu và biểu cảm của Kotlin.
Những việc họ đã làm
Nhóm tại SmartNews rất thành thạo Java, nên họ có thể dễ dàng bắt đầu viết bằng Kotlin. Vì Kotlin có thể tương tác 100% với Java, nên họ có thể dễ dàng bắt đầu viết các tính năng mới như Radar thời tiết và Tin tức đa chiều bằng Kotlin, trong khi vẫn làm việc trong cơ sở mã hiện có. Họ đã sử dụng các coroutine để quản lý việc tải xuống và lưu vào bộ nhớ đệm hình ảnh trong tính năng Radar thời tiết được cấp bằng sáng chế. Trình điều phối coroutine cung cấp một lớp trừu tượng hữu ích để quản lý các tác vụ và điều này đã giúp các kỹ sư SmartNews tránh được những cạm bẫy khi quản lý các luồng thô.
Nhóm này cũng tái cấu trúc một số mã Java và rất ấn tượng với các tính năng kiểm tra biến null an toàn của Kotlin. Cú pháp của Kotlin để xác định tính biến đổi, khả năng có giá trị rỗng và quá trình khởi tạo đã giúp nhóm phát hiện lỗi từ sớm và giảm 10%thời gian xem xét các thay đổi về mã. Bằng cách sử dụng cú pháp ngắn gọn và hiệu quả của Kotlin, họ cũng có thể tăng khả năng đọc của cơ sở mã, giúp họ dễ dàng duy trì mã hơn khi công ty tiếp tục phát triển.
Kết quả
Việc viết bằng Kotlin đã cải thiện năng suất tổng thể của họ từ quá trình triển khai đến khi ra mắt. Điểm cải thiện lớn nhất mà họ nhận thấy là việc viết bằng Kotlin đã giảm 20%số dòng mã được chuyển đổi. Hiện tại, khoảng một nửa ứng dụng SmartNews được viết bằng Kotlin và nhóm phát triển dự định viết tất cả các tính năng mới bằng Kotlin cũng như tái cấu trúc một số mã hiện có để tiếp tục tăng khả năng duy trì mã.
Khi nhóm phát triển triển khai Kotlin và giảm mã nguyên mẫu, họ nhận thấy tinh thần của nhóm tăng lên. Nhóm rất vui khi có thể thể hiện ý tưởng của mình một cách hiệu quả hơn và giúp mã của họ dễ đọc hơn trong tương lai. Hideo Ohashi, Quản lý kỹ thuật của SmartNews nhận thấy Kotlin đã giúp họ nỗ lực tuyển dụng kỹ sư. "Câu hỏi thường gặp nhất của các ứng viên là "Bạn có đang sử dụng Kotlin không? Bạn có thường xuyên sử dụng không?" Có vẻ như hiện tại, nhiều kỹ sư quan tâm đến việc di chuyển sang Kotlin và muốn hỗ trợ ngôn ngữ này." Mặc dù những cải tiến này về tinh thần đồng đội và việc tuyển dụng không phải là lý do chính khiến nhóm áp dụng Kotlin, nhưng những thay đổi tích cực này sẽ giúp công ty tiếp tục phát triển trong ngành cạnh tranh này.
Bắt đầu
Tìm hiểu thêm về cách phát triển ứng dụng Android bằng Kotlin.