#Livestream #Swift #Multiplatform
Swift на Android. Как Spark код между iOS и Android шарили
Когда: Сегодня, 26 мая, 20.00 (GMT+3)
Где: YouTube канал Android Broadcast
Team Lead Android команды разработки Spark Mail расскажет о том, как они шарят код между iOS и Android, используя при этом Swift. Посмотрим появится ли конкурент у Kotlin Multiplatform.
Мы будем вести прямую трансляцию и вы сможете задать свои вопросы
Ведущий Кирилл Розов. Android и Kotlin fan. Mobile Lead в Replika.ai
Гости:
- Андрей Друк. Team Lead Android команды Spark Mail в Readdle
- Данис Тазетдинов. Евангелист платформ Apple. Chief Software Engineer в EPAM. Ведущий подкаста Mobile People Talks
Swift на Android. Как Spark код между iOS и Android шарили
Когда: Сегодня, 26 мая, 20.00 (GMT+3)
Где: YouTube канал Android Broadcast
Team Lead Android команды разработки Spark Mail расскажет о том, как они шарят код между iOS и Android, используя при этом Swift. Посмотрим появится ли конкурент у Kotlin Multiplatform.
Мы будем вести прямую трансляцию и вы сможете задать свои вопросы
Ведущий Кирилл Розов. Android и Kotlin fan. Mobile Lead в Replika.ai
Гости:
- Андрей Друк. Team Lead Android команды Spark Mail в Readdle
- Данис Тазетдинов. Евангелист платформ Apple. Chief Software Engineer в EPAM. Ведущий подкаста Mobile People Talks
Не по теме Android, но в тему дня - календарь переворачивает автор @ios_broadcast - Андрей Зонов.
https://t.iss.one/ios_broadcast/740
https://t.iss.one/ios_broadcast/740
Telegram
iOS Broadcast
Переворачиваем вечный SwiftUI календарь при помощи UIKit
Специально для вас сделал демо проект с которым можно переворачивать календарь прямо на своем телефоне
👉 70 строк кода
👉 UIPageViewController
👉 Всего 2 инстанса и полный реюз 3 сентября
#swift #swiftUI…
Специально для вас сделал демо проект с которым можно переворачивать календарь прямо на своем телефоне
👉 70 строк кода
👉 UIPageViewController
👉 Всего 2 инстанса и полный реюз 3 сентября
#swift #swiftUI…
👍53👎24
Forwarded from Kotlin Multiplatform Broadcast
👉 Новые фичи языка (разберу отдельно в @kotlin_broadcast, но ничего такого)
👉 Улучшения K2 компилятора, что также повлияло и на kapt (который deprecated)
👉 KMP Базовая поддержка Swift Export, стабильный Gradle для опций компилятора и много чего ещё
👉 В Kotlin/Native улучшили поддержку iosArm64
👉 Поддержка новых версий Gradle и Android Gradle Plugin
Ждем багфиксы в 2.1.10 и потом обновляемся. За разборами с большими подробностями идите в @kotlin_broadcast
#kotlin #gradle #k2 #kmp #swift
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥28👍7 7❤1
Forwarded from Kotlin Multiplatform Broadcast
В официальной документации по Kotlin Multiplatform появился раздел по интеграции с iOS. Описываются как подходы локальные, так и через SPM и CocoaPods
Теперь подключение iOS в KMP проект перестало быть магией. До этого приходилось потратить прилично времени на разбор
#ios #kmp #spm #swift #документация
Теперь подключение iOS в KMP проект перестало быть магией. До этого приходилось потратить прилично времени на разбор
#ios #kmp #spm #swift #документация
👍31🔥4
Язык от Apple развивается с поддержкой других платформ. Можно попробовать ранний прототип интерорпа в обе стороны для работы с Java.
Язык постепенно ступает на территорию Kotlin. Про аналог мультиплафтормы конечно не говорится пока, но чем чёрт не щутит
#swift #java
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔46❤7🔥5
В Swift 6 появилась возможность работать с Android NDK из Swift и всё это потом вызывать из Java при помощи JNI.
Java Native Interface (JNI) – это мост который позволяет нативному коду обращаться к Java Virtual Machine (JVM). Когда вы пишете Java код, то вы используете Android SDK. Но когда вы используете языки как Swift или C++, которые не компилируются в Java байткод, вам уже нужен Android NDK для коммуникации с Java через JNI.
Пример нативного кода
#if os(Android)
@_cdecl("Java_com_habr_swiftlib_myfirstandroidproject_SwiftInterface_initialize")
public func initialize(
envPointer: UnsafeMutablePointer<JNIEnv?>,
clazzRef: jobject,
callerRef: jobject
) {
// Активируем Android logger
LoggingSystem.bootstrap(AndroidLogHandler.taggedBySource)
// Инициализируем JVM
let jvm = envPointer.jvm()
JNIKit.shared.initialize(with: jvm)
// ДАЛЕЕ: кэшируем class loader
// ДАЛЕЕ: пример `toString`
// ДАЛЕЕ: пример `Task`
}
#endif
Инструменты сгенерят вам код для работы из Java/Kotlin
package com.habr.swiftlib.myfirstandroidproject
object SwiftInterface {
init { System.loadLibrary("MyFirstAndroidProject") }
external fun initialize(caller: Any)
}
#android #ndk #swift
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔31🔥16❤3🤯3👍1🆒1
Android Broadcast
#kmp #swift #native
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22❤6🔥5🤔1
Стало доступно для загрузки первое nightly превью Swift Android SDK (SA SDK). Можно писать натив кода не C++.
Авторам можно начать портировать свои пакеты на Android, а 25% уже все существующих поддерживают Android таргет.
Что надо сделать (Windows, Linux, macOS):
Подробная инструкция тут
Я же сегодня сяду попробовать всё это и поделюсь на Boosty
#swift #android #ndk
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔46👍16🤯9❤2🔥2
Рабочая группа Swift on Android показала первую раннюю сборку Swift на Android. Я её изучил, посмотрел возможности и делюсь своими мыслями зачем они идут и смогут ли составить конкуренцию Kotlin Multiplatform
#AndroidBroadcast #kotlin #swift #apple #google #android
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🤔10❤2🔥2