Swift на Android: создаём библиотеку
В Swift 6 появилась возможность работать сс минимальной болью вызывать его из Android среды (Java, Kotlin) c помощью JNI*.
Ловите подробную гайд-статью от @imike3049, как это всё можно завести.
Читать (Ru)
В Swift 6 появилась возможность работать с
Android NDK. Это значит, что мы можем писать код на Swift`е и в последствии, Java Native Interface (JNI)– это мост который позволяет нативному коду обращаться кJava Virtual Machine (JVM). Когда вы пишете Java код, то вы используете Android SDK. Но когда вы используете языки как Swift или C++, которые не компилируются в Java байткод, вам уже нужен Android NDK для коммуникации с Java через JNI.
Ловите подробную гайд-статью от @imike3049, как это всё можно завести.
Читать (Ru)
8❤7👍3🔥3
Новые подходы в Swift для тестирования: разбор технологии Swift Testing
Статья с разбором нового фреймворка для юнит-тестирования от Apple, представленного на WWDC 24 – Swift Testing.
🟢 Немного о Swift Testing
🟢 Expectation
🟢 withKnownIssue
🟢 Кастомизация тестов
🟢 Параметризованные тесты
🟢 Возможности миграции с XCTest к Swift Testing
Читать (Ru)
Статья с разбором нового фреймворка для юнит-тестирования от Apple, представленного на WWDC 24 – Swift Testing.
Читать (Ru)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥3❤2
Миграция на SPM: что мы выиграли и что потеряли
Разработчик из Core-команды Туту рассказывает про опыт миграции с CocoaPods на SPM, проблемы с которыми можно столкнуться в процессе и на что стоит обратить внимание.
Читать (Ru)
Разработчик из Core-команды Туту рассказывает про опыт миграции с CocoaPods на SPM, проблемы с которыми можно столкнуться в процессе и на что стоит обратить внимание.
Читать (Ru)
4🔥8❤4👍4
Как Swift Runtime влияет на производительность iOS-приложений
Большая статья, в которой рассказывается про механизмы приведения типов и создания generic-типов внутри Swift Runtime и разбирается метод
Читать (Ru)
Большая статья, в которой рассказывается про механизмы приведения типов и создания generic-типов внутри Swift Runtime и разбирается метод
swift_conformsToProtocolMaybeInstantiateSuperclasses, ĸоторый является узĸим местом в производительности приложения, ĸогда и почему он вызывается и ĸаĸие стратегии использовать для смягчения негативного воздействия.Читать (Ru)
❤4👍4🔥3
Компьютерное зрение + ARKit = AR-навигация внутри зданий
Крутой материал – ребята из 2ГИС запилили реалтайм навигацию внутри зданий, с помощью AR через камеру.
В статье рассказывают, как подошли к задаче с точки зрения компьютерного зрения, какие грабли собрали, как ускоряли локализацию и как боролись с погрешностями ARKit.
Читать (Ru)
Крутой материал – ребята из 2ГИС запилили реалтайм навигацию внутри зданий, с помощью AR через камеру.
В статье рассказывают, как подошли к задаче с точки зрения компьютерного зрения, какие грабли собрали, как ускоряли локализацию и как боролись с погрешностями ARKit.
Читать (Ru)
🔥6👍3❤1
Xcode: ключевые инструменты для ручного тестирования мобильных приложений
Автор статьи делится опытом тестирования мобильных приложений в Xcode для обнаружения критических багов в iOS-приложениях на этапе разработки.
👉 Симулятор устройств и управление конфигурациями
👉 Работа с логами и анализ крашей
👉 Инспектирование верстки
👉 Мокирование сетевых запросов
P.S. Материал может быть полезным для QA
Читать (En)
Автор статьи делится опытом тестирования мобильных приложений в Xcode для обнаружения критических багов в iOS-приложениях на этапе разработки.
👉 Симулятор устройств и управление конфигурациями
👉 Работа с логами и анализ крашей
👉 Инспектирование верстки
👉 Мокирование сетевых запросов
P.S. Материал может быть полезным для QA
Читать (En)
👍5🔥4❤3
Combine – швейцарский нож iOS-разработчика. Или нет?
Большая статья с обзором Combine: как устроен фреймворк, какие сущности лежат в основе и примеры использования.
Читать (Ru)
Большая статья с обзором Combine: как устроен фреймворк, какие сущности лежат в основе и примеры использования.
Небольшая сводка: Combine – фреймворк для работы с асинхронными событиями в декларативном стиле. Он помогает разработчикам управлять потоками данных, избавляя от множества колбэков, ручного управления очередями и других сложностей, связанных с асинхронностью.
Читать (Ru)
👍8🔥4❤2🕊2
This media is not supported in your browser
VIEW IN TELEGRAM
IntelligenceGlow – легковесная SwiftUI-библиотека, которая добавляет эффект светящейся обводки в стиле Apple Intelligence к любому элементу InsettableShape.
Библиотека на GitHub → IntelligenceGlow
Библиотека на GitHub → IntelligenceGlow
❤6👍6🔥5
Thread-Safe Classes: GCD vs Actors
Небольшая статья про многопоточку, а именно про то, как организовать потокобезопасные операции чтения/записи разными способами, чтобы избежать распространённых проблем по типу race condition. А в конце статьи, сводная таблица с сравнением подходов.
Читать (En)
Небольшая статья про многопоточку, а именно про то, как организовать потокобезопасные операции чтения/записи разными способами, чтобы избежать распространённых проблем по типу race condition. А в конце статьи, сводная таблица с сравнением подходов.
Читать (En)
🔥5👍3❤2
Навигация на SwiftUI: чего не хватает и как исправить
Разработчик из CleverPumpkin рассказывает с какими SwiftUI ограничениями столкнулись в части навигации на проекте, какие обходные решения применяли и разбирает в каких ситуациях какие инструменты использовать для контролируемой навигации.
Читать (Ru)
Разработчик из CleverPumpkin рассказывает с какими SwiftUI ограничениями столкнулись в части навигации на проекте, какие обходные решения применяли и разбирает в каких ситуациях какие инструменты использовать для контролируемой навигации.
Читать (Ru)
❤5🔥4👍1
Автоматизация ревью кода — не роскошь, а необходимость. Особенно в больших iOS-проектах, где человеческий фактор легко пропускает ошибки, а скорость релиза зависит от качества проверки.
На открытом уроке вы создадите полноценный плагин для Swift Package Manager: научитесь анализировать исходный код с помощью регулярных выражений, разберёте, как Xcode подсвечивает ошибки, и увидите, как плагин подключается к многомодульному проекту.
Это практический воркшоп для тех, кто хочет контролировать качество кода автоматически — iOS-разработчиков, релиз-инженеров и тимлидов. После урока вы поймёте, как написать собственный инструмент, который работает прямо внутри привычного пайплайна.
Встречаемся 11 декабря в 20:00 МСК в преддверие старта курса «iOS Developer. Professional».
Регистрация открыта:
https://otus.pw/nqx0/
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ", ИНН: 9705100963
На открытом уроке вы создадите полноценный плагин для Swift Package Manager: научитесь анализировать исходный код с помощью регулярных выражений, разберёте, как Xcode подсвечивает ошибки, и увидите, как плагин подключается к многомодульному проекту.
Это практический воркшоп для тех, кто хочет контролировать качество кода автоматически — iOS-разработчиков, релиз-инженеров и тимлидов. После урока вы поймёте, как написать собственный инструмент, который работает прямо внутри привычного пайплайна.
Встречаемся 11 декабря в 20:00 МСК в преддверие старта курса «iOS Developer. Professional».
Регистрация открыта:
https://otus.pw/nqx0/
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ", ИНН: 9705100963
👍3🔥2👏1