SmartNews zmniejsza liczbę wierszy kodu o 20% i poprawia morale zespołu dzięki Kotlin

SmartNews pomaga milionom ludzi codziennie odkrywać świat, udostępniając aktualne wiadomości z różnych źródeł. Firma została założona w 2012 roku w Japonii, a jej aplikację pobrano już ponad 50 milionów razy na całym świecie.

W czerwcu 2019 r. zespół zauważył, że tworzenie aplikacji na Androida zmierza w kierunku języka Kotlin, i postanowił zacząć go testować. Chcieli skorzystać z bibliotek Jetpack, które są w pierwszej kolejności tworzone w Kotlinie, zmniejszyć ilość kodu, który muszą utrzymywać, oraz wykorzystać ekspresyjną i łatwą do zrozumienia składnię tego języka.

Rozwiązanie

Zespół SmartNews dobrze zna język Java, więc rozpoczęcie pisania w Kotlinie było dla niego dość łatwe. Kotlin jest w 100% interoperacyjny z Javą, więc zespół mógł łatwo zacząć pisać nowe funkcje, takie jak radar pogodowy i wiadomości z różnych źródeł, w Kotlinie, pracując jednocześnie w dotychczasowej bazie kodu. Do zarządzania pobieraniem i buforowaniem obrazów w ramach opatentowanej funkcji radaru pogodowego wykorzystano korutyny. Dyspozytorzy coroutines zapewniają przydatną abstrakcję do zarządzania zadaniami, co pomogło inżynierom SmartNews uniknąć pułapek związanych z zarządzaniem surowymi wątkami.

Zespół przekształcił też część kodu Java i był pod wrażeniem funkcji bezpieczeństwa Kotlin w zakresie wartości null. Składnia języka Kotlin do identyfikowania zmienności, dopuszczalności wartości null i inicjowania pomogła zespołowi wcześnie wykrywać błędy i skróciła czas sprawdzania zmian w kodzie o 10%. Dzięki zwięzłej i wydajnej składni języka Kotlin udało im się też zwiększyć czytelność bazy kodu, co ułatwia utrzymanie kodu w miarę rozwoju firmy.

Wyniki

Pisanie w Kotlinie zwiększyło ogólną produktywność od wdrożenia do uruchomienia. Największą zmianą było to, że pisanie w języku Kotlin zmniejszyło liczbę przekonwertowanych wierszy kodu o 20%. Około połowa aplikacji SmartNews jest obecnie napisana w Kotlinie, a zespół programistów planuje pisać w tym języku wszystkie nowe funkcje, a także refaktoryzować część istniejącego kodu, aby zwiększyć jego łatwość utrzymania.

Gdy zespół programistów wdrażał język Kotlin i ograniczał kod szablonowy, zauważył wzrost morale zespołu. Zespół był podekscytowany możliwością wyrażania swoich pomysłów w bardziej efektywny sposób i zwiększenia czytelności kodu w przyszłości. Hideo Ohashi, menedżer ds. inżynierii w firmie SmartNews, zauważył, że Kotlin pomógł w rekrutacji inżynierów. „Najczęstsze pytania kandydatów to: „Czy używacie języka Kotlin? Jak często z niego korzystasz? Wygląda na to, że wielu inżynierów jest zainteresowanych przejściem na język Kotlin i chce go obsługiwać”. Chociaż te zmiany w morale zespołu i rekrutacji nie były głównymi powodami, dla których zespół zdecydował się na język Kotlin, te pozytywne zmiany pomogą firmie w dalszym rozwoju w tej konkurencyjnej branży.

Rozpocznij

Dowiedz się więcej o tworzeniu aplikacji na Androida w języku Kotlin.