Technologie

Kotlin Multiplatform

Logika biznesowa napisana raz w Kotlinie, UI w pełni natywne: SwiftUI na iOS, Jetpack Compose na Androidzie. Start bez przepisywania aplikacji.

Co to jest

Kotlin Multiplatform współdzieli kod tam, gdzie żyje większość błędów: sieć, modele danych, walidacja, synchronizacja, reguły biznesowe. Każda platforma zachowuje w pełni natywny interfejs w SwiftUI i Jetpack Compose, więc wygląd i zachowanie aplikacji nie idą na żaden kompromis. Typowe produkty współdzielą 40 do 70 procent kodu, a każda współdzielona linia jest pisana, testowana i naprawiana raz.

Wygrywa tam, gdzie React Native i Flutter nie pasują: masz już dwie natywne aplikacje i zespoły, natywny charakter platformy jest nienegocjowalny albo logika domenowa jest na tyle złożona, że jej duplikacja to Twój prawdziwy koszt. Adopcja jest przyrostowa: pierwszy współdzielony moduł trafia do istniejących aplikacji w kilka tygodni, bez przepisywania i bez wielkiej migracji, a zatrzymać się można w dowolnym momencie z działającym oprogramowaniem.

Uczciwe kompromisy: nadal budujesz dwa interfejsy, więc KMP oszczędza mniej na pojedynczej funkcji niż frameworki ze współdzielonym UI; integracja z buildami iOS wymaga pracy narzędziowej; ekosystem bibliotek jest młodszy niż przy React Native czy Flutterze. Odkąd JetBrains ogłosił stabilność pod koniec 2023 roku, a Google uczynił KMP rekomendowaną ścieżką współdzielenia logiki, produkcyjnie używają go zespoły Netfliksa, Forbesa i McDonald's. Powiemy wprost, czy Twoja baza kodu się do tego nadaje.

Dlaczego to działa

01

Natywne UI bez podwójnej logiki

SwiftUI i Compose zostają dokładnie takie, jak zbudowały je Twoje zespoły platformowe. Znika druga implementacja każdej reguły biznesowej, klienta API i przypadku brzegowego.

02

Adopcja bez przepisywania

KMP kompiluje się do XCFrameworka, który aplikacja iOS konsumuje jak każdą inną zależność. Pierwszy moduł ląduje w wydawanych aplikacjach w kilka tygodni, a każdy kolejny to osobna decyzja.

03

Jedno źródło prawdy dla trudnych części

Reguły cenowe, synchronizacja offline, walidacja: napisane raz, przetestowane raz, naprawione raz. Klasa błędów, w której iOS i Android się nie zgadzają, po prostu znika.

04

Zakład z instytucjonalnym zapleczem

Kotlin Multiplatform jest stabilny, utrzymywany przez JetBrains i rekomendowany przez Google do współdzielenia logiki biznesowej. Buduje na języku, w którym Twój zespół Androida już pisze.

Technologie

Jak go wprowadzamy

01

Audyt duplikacji

Mapujemy obie bazy kodu i wyceniamy część wspólną: która logika istnieje dwa razy, jak często się zmienia, gdzie platformy już dziś się różnią. To jest business case, w liczbach.

02

Najpierw prawdziwy moduł

Pierwszy współdzielony moduł to kod produkcyjny w Twoich działających aplikacjach, klient API albo silnik synchronizacji, nie demo. Za jednym razem dowodzi pipeline'u builda, interopu z iOS i sposobu pracy zespołów.

03

Rozszerzanie wzdłuż szwów

Moduł po module przenosimy logikę domenową do wspólnego rdzenia, w kolejności ustalonej audytem. Każdy krok wydawany jest niezależnie, a pauza zawsze zostawia działającą całość.

04

Obydwa zespoły jako właściciele

Inżynierowie iOS uczą się konsumować współdzielony kod, a potem go współtworzyć; inżynierowie Androida uczą się projektować API, które dobrze wyglądają w Swifcie. Odchodzimy, gdy pipeline i nawyki należą do Was.

Co otrzymujesz

Współdzielone moduły Kotlin działające w Twoich produkcyjnych aplikacjach iOS i Android
Blueprint architektury: co jest współdzielone, co zostaje natywne i dlaczego
Pipeline budowania i publikacji: XCFramework, Swift Package lub CocoaPods, Maven
Zestaw testów wspólnego rdzenia uruchamiany na obu platformach w CI
Uporządkowana roadmapa migracji pozostałej zduplikowanej logiki
Wdrożenie obu zespołów platformowych: dokumentacja i sesje warsztatowe

Częste pytania

Ile kodu realnie da się współdzielić?

Zwykle 40 do 70 procent, zależnie od proporcji logiki domenowej do interfejsu. To mniej, niż obiecują React Native czy Flutter, ale to ta połowa, w której żyją drogie błędy, i dostajesz ją bez rezygnacji z natywnego UI. Audyt daje liczbę dla Twojej bazy kodu, zanim się zdecydujesz.

Czy nasi programiści iOS muszą pisać w Kotlinie?

Nie. Współdzielony kod przychodzi jako standardowy framework z API przyjaznym Swiftowi, a jego użycie wygląda jak korzystanie z dowolnej biblioteki zewnętrznej. W praktyce większość zespołów iOS po kilku miesiącach zaczyna współtworzyć wspólny moduł, bo alternatywą jest czekanie; to jednak wybór, nie wymóg.

Czy Kotlin Multiplatform jest gotowy na produkcję?

Tak. JetBrains ogłosił stabilność w listopadzie 2023, Google rekomenduje KMP do współdzielenia logiki między Androidem a iOS, a Netflix, Forbes, McDonald's i Cash App używają go produkcyjnie. Młodszą częścią jest Compose Multiplatform do współdzielonego UI; oceniamy go osobno i rekomendujemy tylko tam, gdzie jest gotowy.

KMP, React Native czy Flutter?

Nowa aplikacja, mały zespół, standardowe UI: na całkowitym koszcie zwykle wygrywa React Native albo Flutter. Dwie istniejące aplikacje natywne, mocne zespoły platformowe, złożona logika domenowa: wygrywa KMP, bo usuwa duplikację bez wyrzucania tego, co już zbudowano. Porównanie dla Twojego przypadku dostajesz na piśmie.

Przestań budować każdą funkcję dwa razy

Bezpłatna 30-minutowa rozmowa z doświadczonym architektem mobile. Przyjdź z dwiema bazami kodu; wyjdziesz z pierwszą estymacją tego, co warto współdzielić.

Porozmawiaj z architektem mobile