Kotlin Multiplatform может сократить время разработки на 30 процентов — об этом написали статью наши коллеги из компании Archer Software. Они подробно разобрали проблемы, которые возникают в процессе работы, и то, может ли кроссплатформенная технология их решить. Мы считаем, что материал нужный и полезный, поэтому публикуем в нашем блоге перевод.
Или можно писать на Dart/Flutter, но недостатки те же.
Плюс может потребоваться платформозависимый код, от этого, насколько я понимаю, и в Kotlin Multiplatform никуда не деться.
Сравнение KMP и кроссплатформы типа Flutter/RN не совсем корректно.
В случае с KMP мы получаем нативные приложения.
Слой бизнес логики, обычно, у мобильных приложений не большой,
но если его держать общим для двух платформ, то очень сильно экономим на синхронизации меж командами. От сюда и экономия по времени разработки.
Не совсем так. Кроссплатформенные решения вида Flutter или React Native добавляют дополнительную абстракцию от платформ. Они усложняют работу с самой платформой и не дают использовать обширный набор библиотек от нативного iOS/Android-сообщества.
А Kotlin Multiplatform - решение лишено подобных недостатков, в связи с чем имеет заметные преимущества перед остальными т.к. платформозависимый код с kotlin multiplatform сильно проще реализуется, чем в Flutter и React Native - не надо никакие каналы и прокси строить, просто вызываешь функции напрямую, а UI приложения полностью нативный для Android и iOS, и развитие проекта наращивание функционала возможно без ограничений.
В итоге получается, что при отладке кода его нужно будет править лишь один раз, и исправления произойдут сразу на обеих платформах. Но вы правы, без платформенного кода никуда - UI используется полностью нативным (что мы считаем преимуществом).