Изучение Kotlin Мультиплатформенный мобильный: Запись 1

Итак, чтобы заставить себя не бросать этот проект, я попытаюсь написать о своих впечатлениях от изучения Kotlin Multiplatform Mobile. Моя страница на GitHub начинает становиться местом, где идеи умирают 🫠.

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

Мой интерес к KMM возник из-за работы с Xamarin Forms. Совместное использование кода потрясающе, и я очень люблю C#, но если вам нужно добавить какие-либо изыски или изыски в ваш пользовательский интерфейс, что ж, вам лучше пристегнуться и начать создавать эти пользовательские рендереры 🚧.

То, что меня заинтересовало в KMM:

1. Code sharing so you only have to write core code once.

2. Ability to use native cutting edge tech like Jetpack Compose and SwiftUI

3. You can quickly write native code if you need to get the job done. (Kotlin, Swift)
Вход в полноэкранный режим Выход из полноэкранного режима

🎉 Вот мой опыт от 0 до создания нового проекта:

Я практически слово в слово следовал руководству «Начало работы», которое можно найти здесь.

Шаг 1: 💻 Настройка окружения

  • Здесь все достаточно просто: на моей машине уже была установлена android studio (сборка Electric Eel canary) и плагины/язык Kotlin.

  • Однако мне пришлось установить плагин Kotlin Multiplatform для android studio.

Шаг 2: 📦 Создание проекта

  • После установки плагина KMM для android studio я последовал подсказкам для создания нового приложения KMM и уже через минуту создал и загрузил его.

Шаг 3: 🤖 Запуск приложения для Android

  • Все просто, дождался завершения синхронизации Gradle и сборки и просто нажал кнопку run в правом верхнем углу!

Шаг 4: 🍎 Запуск приложения для iOS

  • Вот это было немного сложно… Когда я впервые переключил конфигурацию на «iosApp», я заметил красную отметку X на картинке. После попытки запустить приложение мне была показана эта ошибка.

  • Мне пришлось немного погуглить, но этот пост на stack overflow
    здесь помог решить проблему.

  • Я закрыл Android studio и запустил следующее в терминале, после чего мой симулятор заработал как надо.

cd ~/Library/LaunchAgents/
rm com.jetbrains.AppCode.BridgeService.plist
Войти в полноэкранный режим Выйти из полноэкранного режима


🎬 Заключительные мысли:
В целом, это был довольно простой опыт с iOS, как обычно, проблемным ребенком. Запуск приложения iOS непосредственно из Xcode, вероятно, имеет меньше ошибок, но исправление было не слишком сложным. После исправления я был готов к работе, изучая структуру проекта и сгенерированный код.

В следующий раз я хотел бы посмотреть, смогу ли я заставить работать что-то небольшое, например, создание общей модели представления. Мои конечные цели для проекта — заставить Firebase Authentication работать для обоих приложений и заставить приложение взаимодействовать с Ktor Kotlin backend api для отправки и получения сообщений чата.

Спасибо за прочтение 👋 и надеюсь, что этот проект не отправится на кладбище в ближайшее время 🪦.

Оцените статью
Procodings.ru
Добавить комментарий