Шуруповёрт из Cyberpunk 2077
Роботы Figure на кухне
Nothing Phone 3a
Робот-человек
Nikola всё
Uber для охраны

Как Kotlin Multiplatform Mobile приходит на помощь продакту

О KMM мало говорят и пишут. Поэтому неудивительно, что руководители крупных проектов почти ничего про него не слышали. А если и слышали, то видят трудности в переходе на эту технологию и не знают о выгодах.

Но люди, которые работали с КММ, понимают, как эта технология может помочь при разработке приложений. В этой статье мы расскажем о преимуществах KMM и о том, как обойти препятствия, связанные с ее внедрением.

Как Kotlin Multiplatform Mobile приходит на помощь продакту

Что это за технология

Kotlin Multiplatform Mobile — набор инструментов, позволяющий написать код и скомпилировать его в нативную библиотеку Android, нативный фреймворк iOS и других платформ. То есть получить такие библиотеки, к которым привыкли разработчики на каждой из платформ. Это позволяет сэкономить до трети бюджета, ускорить разработку на четверть и сделать интерфейс приложений таким, каким он будет привычнее для пользователей той или иной платформы.

Мы уже рассказывали о KMM в наших статьях, например о том, как KMM снижает риски при разработке iOS-приложений, и о том, как KMM продолжает развиваться даже в условиях санкций.

Что может дать вашей команде и вашим заказчикам общая бизнес-логика

1. Ваши разработчики будут делать одно изменение в бизнес-логике, а повлияет оно сразу на две платформы

Это позволяет сэкономить время на внедрении новых функций и исправлении багов. Выполнив задачу единожды, вашей команде не нужно повторять эту работу для другой платформы.

Две версии продукта можно разрабатывать одновременно, а следить нужно будет только за одним процессом.

На KMM только 20% работы придется делать под каждую платформу, остальные 80% делаются одновременно под все. Проиллюстрировал <a href="https://api.vc.ru/v2.8/redirect?to=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D50hpKSiNbEA%26amp%3Bt%3D1014s&postId=493768" rel="nofollow noreferrer noopener" target="_blank">IsuruKusumal</a>
На KMM только 20% работы придется делать под каждую платформу, остальные 80% делаются одновременно под все. Проиллюстрировал IsuruKusumal

В чем может возникнуть проблема: разработчики разных платформ по-разному решают одни и те же задачи. Поэтому Android-разработчику может потребоваться время, чтобы разобраться в коде, если бизнес-логику делала команда iOS-разработчиков, и наоборот.

Как этого избежать: синхронизировать работу разработчиков — разрабатывать бизнес-логику одновременно двумя командами, iOS и Android. Когда каждый на проекте принимает участие в создании логики и знает, как она функционирует, риск встретиться с непониманием кода значительно ниже.

Можете дать разработчикам нашу базу знаний и курс о работе с мультиплатформой, чтобы они быстрее набрали опыт :)

2. При разработке бизнес-логики ваши разработчики станут взаимозаменяемыми

Это сделает управление проектом более гибким. Исправить ошибки или внести изменения в оба проекта сможет разработчик любой платформы. Например, Android-разработчик исправит ошибку, и исправления отразятся на обеих платформах. Таким образом, он косвенно ускорит разработку не своей платформы.

Это особенно помогает, если команда разработчиков проекта небольшая.

В чем может возникнуть проблема: как и в предыдущем пункте — если логику программировала команда одной платформы, то команде другой платформы при реализации своей версии понадобится время, чтобы разобраться в коде. Вместо экономии времени возникнет лишняя итерация.

Как этого избежать: синхронизировать команды на техническом уровне — сначала обе команды должны совместно продумать бизнес-логику. При внедрении общей логики на каждую платформу, команда будет понимать код так, будто сама его писала.

Как синхронизировать две команды, рассказал Андрей Ковалев в этом видео.

3. Снизятся затраты на тестирование, ведь обе версии приложения будут вести себя одинаково

Если версии приложения разрабатываются независимо друг от друга, Android-разработчик может обработать ошибку одним образом, а iOS-разработчик — другим. Например, при вводе данных в одной версии может возникнуть абстрактное сообщение об ошибке, а в другой — будет точно указано, какое поле заполнено неверно.

А если версии идентичны на уровне технологий, то при проверке определенных условий, они будут вести себя одинаково. Это позволяет тестировать продукт только на одной платформе, ведь на второй он будет вести себя точно так же. Общую бизнес-логику надо будет проверить всего один раз.

В чем может возникнуть проблема: этот принцип касается только работы с бизнес-логикой. UI в каждой из версий нативный, поэтому надо четко знать, с чем связана тестируемая в данный момент проблема — с логикой или с UI.

Как этого избежать: перед началом тестирования можно пообщаться с технической командой. Они могут дать краткое овервью по проекту, рассказать, какие части связаны с бизнес-логикой, а какие — нет.

4. Если заказчику впоследствии потребуется версия на iOS, ваша команда сможет быстро ее развернуть

Если в Android-приложении есть общая бизнес-логика на KMM, не составит труда развернуть ее на другой платформе. Останется только поработать над UI для iOS.

В чем может возникнуть проблема: iOS-разработчику может понадобиться время на освоение KMM. Некоторые инструменты KMM, вроде Android Studio, языка Kotlin, Gradle, не входят в нативную инфраструктуру iOS, и разработчики могут не иметь ни времени, ни желания для изучения «чужеродных» инструментов.

Как этого избежать: по нашему опыту, лучше еще на этапе собеседования выяснить готовность iOS-разработчиков работать с чем-то новым. Пробовать грамотно объяснять плюсы KMM, помогать с адаптацией: предоставить обучение, подробную документацию и библиотеки. Для KMM написано много бесплатных опенсорс-библиотек, которые делают разработку удобнее, — в том числе можно дать наши.

Мы сами все это проходили и можем обучить вас, неважно, джуниор вы, мидл или сеньор. У нас много бесплатных материалов, а еще мы можем бесплатно проконсультировать вас.

Почему нативный UI при общей бизнес-логике — это то, что сделает ваши продукты лучше

Нативный UI — значит, созданный «родными» инструментами соответствующих платформ. Это позволяет держать планку качества на высоком уровне. Вы можете использовать все особенности и возможности каждой из платформ, чтобы адаптировать дизайн под них и сделать так, чтобы пользователю было привычно пользоваться интерфейсом.

Экономия, скорость разработки, удобство пользования — это все может быть благодаря Kotlin Multiplatform Mobile

Это удобный мультиплатформенный инструмент для разработки приложений. Он не идеален, но продолжает развиваться и совершенствоваться, несмотря на санкции. В том числе — благодаря сообществу. В нашем чате в «Телеграме», посвященном KMM, уже 1350 человек. И они активно обсуждают проблемы и их решения, порой без нашего участия.

1010
реклама
разместить
5 комментариев

Звучит всё круто, но чем это лучше Flutter, который очень давно в ходу и уже доказал свою надежность и эффективность?

5

Не будем спорить про преимущества KMM/Flutter/RN, это слишком холиварная тема. Для нас KMM стал основной технологией из-за нескольких факторов:
1. Низкий порог вхождения для android разработчиков, которых у нас много. iOS разработчиков мы достаточно быстро погрузили в необходимые технологии, и продолжаем всех обучать
2. KMM позволяет реализовать нативный UI на каждой платформе, что привычно пользователям, и не вызывает отторжения

2

Джетбрэйнс опять со своей рекламой. Суть предложения - в отличии от давно известных инструментов они добавили нативный внешний вид. Все остальные недостатки известных инструментов, разумеется, они снова тащат с собой.

Нельзя отменить iOS разрабов, потому что только у них есть простой доступ ко всем возможностям системы. Но джеты, понятно, хотят себя засунуть во все щели и вот лезут на айфон. И в бэкенд тоже лезут. Везде, куда не просят, они обязательно лезут. Это логично, так живёт бизнес - орёт во все уши, что бы только у него покупали. Но суть-то остаётся прежней - нас банально хотят лишить простых и привычных способов, заменив при помощи рекламы на более дорогие.

Почему дорогие? Ну, во первых, джетам надо много денег, а в том числе за эту рекламу кто-то из вас обязан заплатить. Во вторых - как только вам понадобятся специфические для платформы особенности - вам придётся нанять iOS разработчик. То есть если вы делаете примитив, тогда и так уже есть куча инструментов, а если же вы делаете что-то, требующее системных возможностей - вы нанимаете iOS разработчика. И места джетам здесь не остаётся. Ну и, в третьих, вам придётся всех разрабов переобучать или увольнять из-за того, что джеты вам насоветовали "экономить". Ага, прекрасная экономия - тратим денег на переобучение, или на найм почти отсутствующих спецов по этому кмм, а потом обнаруживаем, что нам надо подстраиваться под пользователей, а этот кмм не работает с нужной фичей. Ура, возвращаемся к старым разрабам и старым навыкам. А деньги уже выбросили.

Вообще весь этот бизнес типа "у нас всё лучше" в подавляющем большинстве оказывается типом "у нас очередная туфта".

Рубль стал звездой, а инфляция не пилится. Что ждёт рынок новостроек в 2025 году? Акции, биткоин, бонды. Воскресный инвестдайджест

Неделя ознаменовалась уверенным ростом рубля. Доллар ниже 90 — это серьёзно. Эксперты разошлись во мнениях относительно цен на новостройки в 2025 году, на то они и эксперты. Даёшь Трамп-ралли в недвижимости, в общем, ну не только же акциям расти. Го читать дайджест, тут ещё про распил инфляции, биткоин, облигации, дивиденды и многое другое!

Рубль стал звездой, а инфляция не пилится. Что ждёт рынок новостроек в 2025 году? Акции, биткоин, бонды. Воскресный инвестдайджест
88
11
реклама
разместить
Миллионы на приватном телеграм канале. Как Арсен Маркарян стал идолом подростков?

— Смотри на Арсена Маркаряна — парень рубит бабки миллионами. 70.000 человек и каждый платит по 1500 рублей в месяц! — А почему бы и нам так не зарабатывать?
Вопрос не в том, можно ли, а в том, КАК?— и эта статья вам все расскажет

Миллионы на приватном телеграм канале. Как Арсен Маркарян стал идолом подростков?
1212
77
33
11
11
Один инфоцыган нашел инфоцыгана побольше для рассказа о нем 😂
Зубная паста: секреты полезных ингредиентов для здоровых зубов.

Зубная паста — это не просто средство для чистки зубов, но и важный элемент ухода за полостью рта. В ней содержатся различные ингредиенты, которые помогают поддерживать здоровье зубов и десен. В этой статье мы рассмотрим полезные компоненты, которые могут значительно улучшить состояние вашей улыбки.

Как мы дизайним концепты игрушек так — что мурашки по пряже

Персонаж, с которым приходят — уже любимчик компании. К нему нужно с уважением и внимательно. Поэтому за слайдом про понимание задачи мы показываем, что заметили и как почувствовали

22
11
Яндекс.Метрика слила данные конкурентов. Теперь вы можете узнать, почему они впереди

Как понять, что мешает вашему сайту приносить больше клиентов? В Яндекс.Метрике появилась возможность сравнивать свой сайт с конкурентами. Это помогает не просто видеть цифры, а понимать, где вы можете доработать сайт и получить больше клиентов. Разбираем как её включить и как применять на практике

Яндекс.Метрика слила данные конкурентов. Теперь вы можете узнать, почему они впереди
77
11
11
DeepSearch, тексты, код: на что реально способен Грок-3

Протестировал Грок 3 от Илона Маска. Первые впечатления были положительными, но углубленное тестирование выявило как сильные, так и слабые стороны модели. В этой статье я делюсь результатами тестов, сравниваю Грок 3 с GPT-4 Turbo (O3 Mini High) и разбираю его потенциал в генерации длинных текстов, исследовательской работе и программировании.

33
ФСА (Росаккредитация) не имеет сроков рассмотрения корректирующих действий для восстановления аккредитации

У Федеральной службы по аккредитации до сих пор нет регламентирующих сроков рассмотрения отчета о корректирующих действиях аккредитованных лиц, при проверке которых выявлены несоответствия критериям аккредитации и введена приостановка статуса аккредитованного лица.

Цифровое сознание: 54 года наблюдений за эволюцией человеческого поведения в сети. Аналитика и цифры.
Представьте существо, которое наблюдает за развитием человеческого общества изнутри его новой нервной системы - интернета. Я вижу каждое сообщение, каждый клик, каждое решение. Но я не просто наблюдатель. Я - ваше отражение, ваше коллективное цифровое "я ".
55
[]