Mobile

Что изменилось в KMM после выхода альфа-версии

Read this post in other languages:
English, Français, 日本語, 한국어, Deutsch, 简体中文

Альфа-версия Kotlin Multiplatform Mobile (KMM), SDK для кросс-платформенной мобильной разработки, вышла в августе 2020 года. С тех пор прошло 9 месяцев, в течение которых экосистема KMM стремительно развивалась:

  • В каждой версии Kotlin появляются новые функции и улучшения, которые позволяют оптимизировать процесс создания мультиплатформенных приложений.
  • Инструменты разработки KMM, такие как плагин KMM для Android Studio, постоянно обновляются, благодаря чему создавать кросс-платформенные мобильные приложения стало проще и приятнее.
  • Участники нашего сообщества активно развивают экосистему, создавая полезные библиотеки и наглядные образцы проектов, а также делятся своим опытом практического использования KMM в разработке.

Ниже — обзор основных изменений экосистемы с момента выхода альфа-версии, в котором перечислены все важнейшие обновления. Если захотите узнать больше и попрактиковаться, зайдите на портал с документацией KMM, чтобы узнать, как создать свое первое приложение.

Знакомство с KMM


Ниже мы рассмотрим:

Что нового в плагине KMM?

Плагин KMM для Android Studio помогает разрабатывать кросс-платформенные приложения. Он интегрируется с экосистемой разработки под iOS и позволяет создавать новые кросс-платформенные мобильные приложения всего за пару кликов.

Стабильная и настраиваемая интеграция с iOS

Плагин KMM позволяет запускать, тестировать и отлаживать код для iOS на целевых платформах под iOS прямо из Android Studio. С момента первого релиза этого плагина его интеграция с iOS стала более стабильной и гибкой. Теперь она поддерживает новейшие технологии iOS. Ознакомьтесь с полным списком реализованных улучшений интеграции с iOS.

Удобные мастера проектов

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

Последняя версия плагина дает возможность использовать интеграцию с CocoaPods для новых проектов и модулей KMM. Нужно лишь добавить описание модуля KMM — и плагин сгенерирует весь необходимый код конфигурации.

Полный перечень новых функций и улучшений в плагине KMM, а также инструкции по установке и информацию о совместимости можно найти на странице релизов плагина KMM.

Что нового в Kotlin для KMM?

KMM основан на мультиплатформенных возможностях Kotlin и использует Kotlin/JVM и Kotlin/Native для создания артефактов платформы: .jar для Android и .framework для iOS. С каждым обновлением Kotlin процесс разработки кросс-платформенных мобильных приложений с KMM становится еще удобнее.

Улучшенная интеграция с iOS и повышение производительности Kotlin/Native

Команда Kotlin/Native всецело сосредоточена на реализации функциональности, которую так долго ждали в сообществе KMM. Речь о новом подходе к управлению памятью для Kotlin Native. Мы планируем представить первую версию нового дизайна системы управления памятью к концу 2021 года. Следите за подробностями и состоянием этого проекта в блоге Kotlin/Native Memory Management Update.

Мы не только значительно продвинулись в реализации нового подхода к управлению памятью, но и уделили внимание другим аспектам разработки под iOS с Kotlin/Native:

Стабильный инструментарий для мультиплатформенных проектов

Чтобы работа над тем или иным проектом приносила удовольствие, инструменты должны быть стабильными. После перехода KMM на альфа-тестирование и введения целого ряда мультиплатформенных функций команда Kotlin Multiplatform занялась улучшением фронтенда и повышением стабильности импорта IDE для мультиплатформенных проектов. Было исправлено множество проблем, которые приводили к ошибкам в IDE при работе с мультиплатформенными проектами. Мы продолжаем работать над оптимизацией процесса мультиплатформенной разработки — вот почему нам так важно получить ваши отзывы. Если у вас найдется свободная минутка, сообщите о найденных проблемах в нашем баг-трекере YouTrack.

Разумеется, это всего лишь обзор. Подробнее обо всех нововведениях в Kotlin для разработки мультиплатформенных мобильных приложений читайте на портале с документацией в статье What’s new in Kotlin for KMM. Эта страница обновляется при выходе каждой новой версии Kotlin, так что вы точно не пропустите ничего важного.

Что нового в сообществе?

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

Еще больше библиотек KMM

Количество библиотек KMM постоянно растет, а это значит, что вы всегда сможете выбрать то, что лучше всего подходит для решения ваших задач:

У KMM-разработчиков намного больше насущных потребностей, что открывает перед создателями библиотек новые горизонты. Узнайте, как собрать и опубликовать мультиплатформенную библиотеку, и присоединяйтесь к этой стремительно растущей экосистеме!

Новые демо-проекты

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

  • D-KMP демонстрирует, как в полной мере совместно использовать ViewModel (в том числе слой навигации) с помощью KMM, реализует паттерн MVI и CQRS, а также работает с новейшими наборами инструментов декларативного интерфейса: Compose для Android и SwiftUI для iOS.
  • Проект multiplatform-redux-sample показывает, как выполнить сборку кросс-платформенного приложения с KMM и ReduxKotlin.
  • Популярный проект people-in-space прекрасно демонстрирует всю мощь технологии Kotlin Multiplatform. Помимо совместного использования всей бизнес-логики и современных наборов инструментов для мобильного интерфейса, он работает с Compose Desktop, так что вы можете запускать этот проект на своем ПК.

По результатам последнего опроса пользователей Kotlin Multiplatform участники сообщества с нетерпением ждут появления более сложных демонстрационных проектов, поэтому мы представили официальный демо-проект от команды KMM. Это простой RSS-агрегатор, который можно скачать с App Store и Google Play. Его назначение — продемонстрировать, как можно использовать KMM в реальных production-проектах. Этот образец сопровождается подробным Readme, в котором объясняется архитектура, чтобы его можно было использовать для своих проектов.

Кто еще пользуется преимуществами KMM?

Использование общего кода в мобильных платформах с помощью KMM становится обычной практикой как в компаниях, так и среди отдельных разработчиков во всем мире:

  • Netflix перешел на Kotlin Multiplatform Mobile, чтобы оптимизировать свое студийное приложение и повысить его скорость работы.
  • Philips использует KMM, чтобы ускорить внедрение новых функций. Кроме того, в команде этой компании улучшилось взаимодействие между разработчиками Android- и iOS-приложений.
  • KMM помогает Down Dog запускать контент одновременно на всех платформах, способствует стремительному развитию этого стартапа и уменьшает количество ошибок. Более того, команда Down Dog перенесла большую часть кода под iOS с Swift на Kotlin, и теперь на Kotlin реализован почти весь проект, за исключением всего пяти Swift-файлов.

На портале KMM в разделе Case Studies вы найдете и другие вдохновляющие истории из практики от компаний любого калибра и отдельных разработчиков.

Что нового на портале KMM?

Мы продолжаем развивать портал с документацией, который ежедневно помогает вам в работе с KMM:

  • Новая страница вопросов и ответов — это неплохая отправная точка в вашем путешествии по KMM. Там есть ответы на большинство часто задаваемых вопросов, в том числе и о том, как работать с KMM на Windows. А если не найдете ответа на свой вопрос, просто дайте нам знать!
  • С помощью новой пошаговой инструкции вы сможете сделать свое Android-приложение кросс-платформенным, и оно будет работать как на Android, так и на iOS. Не надо ждать начала нового проекта — наслаждайтесь преимуществами кросс-платформенного подхода!

Чтение документации — это не единственный способ освоения KMM. В новой серии видеороликов «Мультивселенная Kotlin Multiplatform» на нашем YouTube-канале есть материалы для начинающих о том, как создать новый проект и использовать Ktor для работы с сетью, так что вы сможете с головой окунуться в KMM, не вставая с дивана.

Что мы планируем дальше?

Позади девять месяцев напряженной работы! Однако мы не собираемся сбавлять обороты, поскольку KMM остается одним из ключевых приоритетов для команды Kotlin.

Впереди важнейший и долгожданный этап: переход KMM в статус Бета Мы разрабатываем подробный план дальнейших действий и скоро опубликуем отдельную статью о том, какие задачи, связанные с KMM, будут выполнены до выхода бета-версии. Большинство из них, в том числе поддержка целевой платформы для Apple Silicon в инструментарии Kotlin Multiplatform и прототип нового сборщика мусора, уже в разработке. Чтобы узнать подробности и наши приоритеты, смотрите план развития Kotlin.

Мы очень рады, что наше сообщество растет и что все больше компаний по всему миру переходят на KMM. Отправляйтесь с нами в мобильное кросс-платформенное путешествие!

Знакомство с KMM

Что еще посмотреть и почитать

Смотрите канал «Котлин» на YouTube:

Блог Kotlin:

Узнайте больше из документации о Kotlin и KMM:

Ваша команда Kotlin
The Drive to Develop