Spec-Zone.ru › Kotlin 1.7

Представление кроссплатформенной мобильной разработки вашей команде

Эти рекомендации помогут вам представить вашей команде Kotlin Multiplatform Mobile:

  • Начните с эмпатии

  • Объясните, как работает Kotlin Multiplatform Mobile

  • Продемонстрируйте ценность с помощью кейсов

  • Предложите доказательство, создав пример проекта самостоятельно

  • Подготовьтесь к вопросам от вашей команды

  • Поддерживайте свою команду во время адаптации

Начните с эмпатии

Разработка программного обеспечения — командная игра, и каждое важное решение требует одобрения всех членов команды. Интеграция любой кроссплатформенной технологии существенно повлияет на процесс разработки вашего мобильного приложения. Поэтому перед интеграцией Kotlin Multiplatform Mobile в ваш проект необходимо познакомить вашу команду с этой технологией и аккуратно подвести их к пониманию ее ценности.

Понимание людей, работающих над вашим проектом, является первым шагом к успешной интеграции. Ваш руководитель отвечает за поставку функций с наилучшим качеством в кратчайшие сроки. Для него любая новая технология — это риск. Ваши коллеги имеют иное мнение. У них есть опыт разработки приложений с использованием «нативной» стековой технологии. Они знают, как писать пользовательский интерфейс и бизнес-логику, работать с зависимостями, тестировать и отлаживать код в IDE, и уже знакомы с языком. Переход на другую экосистему очень неудобен, так как это всегда означает выход за пределы зоны комфорта.

Учитывая все это, будьте готовы столкнуться с множеством предубеждений и ответить на множество вопросов при продвижении перехода на Kotlin Multiplatform Mobile. При этом никогда не забывайте о потребностях вашей команды. Некоторые советы ниже могут быть полезны для подготовки вашего выступления.

Объясните, как это работает

На этом этапе необходимо избавиться от любых негативных предубеждений по поводу кроссплатформенных мобильных приложений и показать, что использование Kotlin Multiplatform в вашем проекте не только возможно, но и не принесет типичных проблем кроссплатформенности. Вы должны объяснить, почему не возникнет проблем, таких как:

  • Ограничения использования всех функций iOS и Android – Всякий раз, когда задача не может быть решена в общем коде, или когда требуется использование специфических нативных функций, можно использовать шаблон expect/actual для бесшовного написания платформоспецифичного кода.

  • Проблемы с производительностью – Общий код, написанный на Kotlin, компилируется в разные выходные форматы для разных целей: в байт-код Java для Android и в нативные двоичные файлы для iOS. Таким образом, нет дополнительной задержки выполнения при работе с этим кодом на платформах, и производительность сопоставима с нативными приложениями.

  • Проблемы с устаревшим кодом – Независимо от размера вашего проекта, ваш существующий код не помешает вам интегрировать Kotlin Multiplatform. Вы можете начать писать кроссплатформенный код в любой момент и подключить его к приложениям для iOS и Android как обычную зависимость, или можете использовать уже написанный код и просто изменить его, чтобы он был совместим с iOS.

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

Продемонстрируйте ценность

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

На этом этапе необходимо объяснить основные преимущества использования Kotlin Multiplatform в вашем продукте. Одним из способов является совместное использование историй других компаний, которые уже извлекают выгоду из этой технологии. Успешный опыт этих команд, особенно тех, у которых похожие цели продукта, может стать ключевым фактором при окончательном решении.

Приведение в пример кейсов разных компаний, которые уже используют Kotlin Multiplatform в производстве, может значительно помочь вам создать убедительный аргумент:

  • Chalk.com – Пользовательский интерфейс для каждого из приложений Chalk.com нативен для платформы, но в остальном практически все для их приложений можно использовать совместно с Kotlin Multiplatform Mobile.

  • Cash App – Большая часть бизнес-логики приложения, включая возможность поиска всех транзакций, реализована с помощью Kotlin Multiplatform Mobile.

  • Yandex.Disk – Они начали с экспериментов по интеграции небольшой функции, и поскольку эксперимент был признан успешным, они реализовали всю свою логику синхронизации данных в Kotlin Multiplatform Mobile.

Изучите страницу с кейсами для вдохновения.

Предложите доказательство

Теория хороша, но на практике важно ее воплощение. В качестве варианта, чтобы сделать свой аргумент более убедительным, вы можете рискнуть потратить часть своего личного свободного времени на создание чего-то с помощью Kotlin Multiplatform, а затем представить результаты вашей команде для обсуждения. Ваш прототип может быть своего рода тестовым проектом, который вы напишете с нуля, и который продемонстрирует необходимые функции в вашем приложении. Семинар по сетевому взаимодействию и хранению данных с помощью Kotlin Multiplatform Mobile хорошо вас в этом наставит.

Более релевантные примеры можно получить, экспериментируя с вашим текущим проектом. Можно взять одну существующую функцию, реализованную на Kotlin, и сделать ее кроссплатформенной, или даже создать новый модуль Multiplatform в вашем существующем проекте, взять одну неважную функцию из нижней части списка задач и реализовать ее в общем модуле. Настройка вашего Android приложения для работы на iOS — учебник предоставляет пошаговое руководство, основанное на примере проекта.

Новый плагин Kotlin Multiplatform Mobile для Android Studio позволит вам выполнить любую из этих задач в кратчайшие сроки, используя макеты приложения Kotlin Multiplatform или библиотеки Kotlin Multiplatform.

Подготовка к ответам на вопросы

Независимо от того, насколько подробным будет ваш презентационный материал, ваша команда задаст множество вопросов. Внимательно выслушивайте их и старайтесь терпеливо отвечать на все. Большинство вопросов, вероятно, поступят от разработчиков iOS, поскольку они не привыкли видеть Kotlin в своей повседневной работе. Этот список наиболее распространённых вопросов может вам помочь:

В: Я слышал, что приложения, основанные на кроссплатформенных технологиях, могут быть отклонены из AppStore. Стоит ли это риска?

О: В Apple Store существуют строгие правила публикации приложений. Одно из ограничений заключается в том, что приложения не должны загружать, устанавливать или выполнять код, который добавляет или изменяет функции или функциональность приложения (Руководство по обзору приложений в App Store 2.5.2). Это актуально для некоторых кроссплатформенных технологий, но не для Kotlin Multiplatform Mobile. Разделяемый Kotlin-код компилируется в нативные двоичные файлы с помощью Kotlin/Native, включает обычную iOS-фреймворк в ваше приложение и не предоставляет возможности динамического выполнения кода.

В: Проекты Multiplatform построены с использованием Gradle, а Gradle имеет очень крутую кривую обучения. Мне нужно потратить много времени на настройку проекта?

О: На самом деле, нет необходимости. Существует множество способов организации процесса сборки приложений Kotlin для мобильных платформ. Во-первых, только разработчики Android могут отвечать за сборку, в этом случае команда iOS будет только писать код или даже только использовать конечный артефакт. Вы также можете организовать некоторые мастер-классы или практику парного программирования, когда будете сталкиваться с задачами, требующими работы с Gradle, и это повысит навыки вашей команды в работе с Gradle. Вы можете изучить различные подходы и выбрать тот, который больше подходит вашей команде.

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

Когда только часть команды Android работает с общим кодом, разработчикам iOS даже не нужно изучать Kotlin. Но когда вы готовы, чтобы ваша команда перешла на следующий этап, где все работают над общим кодом, переход не займет много времени. Сходство между синтаксисом и функциональностью Swift и Kotlin значительно уменьшает работу, необходимую для изучения того, как читать и писать общий Kotlin-код. Попробуйте сами!

В: Я слышал, что Kotlin Multiplatform Mobile — это экспериментальная технология. Это значит, что мы не должны использовать её для производства?

О: Экспериментальный статус означает, что мы и всё сообщество Kotlin просто пробуем идею, но если она не сработает, то может быть отброшена в любое время. Однако после выпуска Kotlin 1.4, Kotlin Multiplatform Mobile имеет статус альфа-версии. Это означает, что команда Kotlin полностью привержена улучшению и развитию этой технологии и не отбросит её внезапно. Однако до выхода в бета-версию могут возникнуть проблемы с миграцией. Но даже экспериментальный статус не мешает использовать функцию успешно в производстве, если вы понимаете все риски. Проверьте страницу эволюции Kotlin для получения информации о статусах стабильности компонентов Kotlin Multiplatform.

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

О: Конечно, мы не можем сравнивать количество кроссплатформенных библиотек с React Native, например. Но потребовалось пять лет, чтобы React Native расширил свою экосистему до текущего размера. Kotlin Multiplatform Mobile всё ещё молодой, но экосистема имеет огромный потенциал, так как уже существует множество современных библиотек, написанных на Kotlin, которые легко портировать на кроссплатформенную базу.

Сейчас также прекрасное время быть разработчиком iOS в сообществе Kotlin Multiplatform с открытым исходным кодом, поскольку опыт работы с iOS востребован, и существует множество возможностей получить признание благодаря вкладу в iOS.

И чем глубже ваша команда погружается в технологию, тем более интересными и сложными будут их вопросы. Не беспокойтесь, если у вас нет ответов — Kotlin Multiplatform имеет большое и поддерживаемое сообщество в Kotlin Slack, где многие разработчики, которые уже используют её, могут вам помочь. Мы будем очень признательны, если вы сможете поделитесь с нами наиболее популярными вопросами, задаваемыми вашей командой. Эта информация поможет нам понять, какие темы необходимо освещать в документации.

Оказывайте поддержку

После того, как вы решите использовать Kotlin Multiplatform, у вашей команды наступит период адаптации, когда она будет экспериментировать с технологией. И ваша миссия ещё не завершена! Предоставляя постоянную поддержку своим коллегам, вы сократите время, необходимое вашей команде для погружения в технологию и достижения первых результатов.

Вот несколько советов о том, как вы можете поддержать свою команду на этом этапе:

  • Собирайте вопросы, которые вам задавали на предыдущем этапе, на странице вики «Kotlin Multiplatform: Часто задаваемые вопросы» и делитесь ими с вашей командой.

  • Создайте канал Slack #kotlin-multiplatform-support и станьте там самым активным участником.

  • Организуйте неформальное мероприятие по сплочению команды с попкорном и пиццей, где вы посмотрите образовательные или вдохновляющие видео о Kotlin Multiplatform. "Запуск мобильного кроссплатформенного проекта на iOS и Android" от Бена Эшера и Алека Стронга может быть хорошим выбором.

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

Команда Kotlin Multiplatform Mobile с нетерпением ждёт вашего рассказа.

Мы хотели бы поблагодарить команду Touchlab за помощь в написании этой статьи.

Последнее изменение: 06 сентября 2022
FAQ Начало работы с Kotlin/JVM

© 2010–2022 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/multiplatform-mobile-introduce-your-team.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API