Telegram Web Link
Оптимизация памяти при работе с JPEG

При работе с растровыми изображениями можно сэкономить объем потреьляемой памяти путем конвертации RGB в YUV и последующих оптимизаций. Проблема в том, что UIImage не дает из коробки всех нужных API. Разработчик Телеграма рассказывает в статье о том, как обойти ограничения и сэкономить 50% потребляемой памяти.
Как настроить CodeQL для Swift на GitHub

С недавних пор встроенный в GitHub сканер уязвимостей CodeQL поддерживает и Swift. Если в вашей кодовой базе появляются какие-то проблемы вроде потенциальных SQL инъекций, сканер предупредит об этом на PR. В заметке – инструкция, как его правильно настроить.
Серия статей про кишки Objective-C

Отличные статьи про дизайн и реализацию некоторых особенностей Objective-C. Например, про tagged pointers, non-fragile instance variables и associated references.
Примеры использования TipKit

Опенсорсное приложение, в котором реализованы разные виды подсказок на TipKit.
Шифрование файлов в бандле с помощью Swift плагина

В статье разбирается, как написать простой Swift плагин, который будет шифровать все файлы в определенной папке с помощью уникального ключа, усложняя доступ к ним для тех, кто решит разобрать ipa файл.
Composable Architecture 1.0

Спустя три года разработки и 983 PR'а вышла первая версия TCA. Ключевое изменение, в результате которого библиотека стала стабильной – добавление навигации. В дальнейших планах – интеграция новых фичей Swift 5.9, включая макросы и Observable.
Как SwiftData сохраняет изменения

Одно из отличий SwiftData от Core Data – то, что изменения сохраняются автоматически. Это происходит либо по событиям изменения жизненного цикла приложения, либо по таймеру. В остальном ручное сохранение изменений и индикация об изменениях в объектах работают похожим на Core Data образом.
HuggingFace выпустили инструменты для запуска LLM на Apple девайсах

HuggingFace, GitHub в мире машинного обучения, выпустили набор инструкций и инструментов для запуска LLM вроде Llama 2 на macOS и iOS.

👉Семпловое приложение swift-chat
👉swift-transformers, библиотека для реализации трансформеров
👉exporters, пакет для конвертации моделей в CoreML

А по ссылке – подробный гайд по тому, как запустить модель на своем девайсе.
KeyboardKit – библиотека для разработки кастомных клавиатур

KeyboardKit – опенсорсная библиотека, с помощью которой можно делать кастомные Keyboard Extensions для всех Apple платформ. Основная ценность проекта – куча готовых компонентов для создания клавиатуры, потому что системный API довольно примитивный. Из фичей:

👉61 локаль для клавиатур.
👉Системные кнопки с возможностью переопределить их логику.
👉Поддержка тем.
👉Автокомплит, эмодзи, голосовой ввод и куча чего еще.
Поддержка загружаемых ресурсов

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

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

Туториал по тому, как написать простой шейдер на Metal и применить его к тексту на SwiftUI.
Swift на сервере в 2023

Рабочая группа, занимающаяся развитием Swift на сервере, делится своим прогрессом за год. Из самого интересного:

👉Куча новых библиотек: Kafka, Cassandra, GraphQL и RabbitMQ.
👉Swift concurrency продолжает адоптиться значимыми библиотеками.
👉Тулинг: 1.0 версия расширения для VSCode, Swiftly для менеджмента версий Swift на Linux.
👉Улучшился билдтайм в специфичных для серверсайда кейсах.

Цели на 2023 практически такие же: рост экосистемы, адопшн concurrency, улучшение тулинга и документации.
Как можно использовать Sourcery

Sourcery – кодогенератор для Swift, работающий поверх библиотеки SwiftSyntax от Apple. В статье разбирается несколько кейсов, в которых он может помочь.

👉Найти в кодовой базе все классы, которые можно сделать final.
👉Найти все классы, которые реализуют нужный протокол.
Ozon Tech приглашает на митап по мобильной разработке

29 августа в 19:00 | Москва
Офлайн l Онлайн

Кому будет полезно?
Android-, iOS-разработчикам и QA mobile

О чём встреча?
Главная тема митапа — дизайн-система. Затронем вопросы:
Декларативная дизайн-система и Figma + SwiftUI/Jetpack Compose
Тестирование и shapshot-тесты в частности.
Как подружить дизайн-систему и BDUI.

❗️Не забудьте зарегистрироваться на офлайн/онлайн.
Please open Telegram to view this post
VIEW IN TELEGRAM
Как переключаться шорткатом между версиями Xcode

С помощью Hammerspoon и скрипта на Lua пишем логику поиска всех установленных версий Xcode и их биндинга на удобный вам шорткат.
tl;dr legal – опенсорсные лицензии простым языком

Если вы имеете дело с опенсорсными лицензиями – либо принимаете решения о затаскивании зависимостей в проект, либо распространяете свою библиотеку, сохраните себе этот сайт. Tl;dr Legal – каталог всех опенсорсных лицензий с разбором их требований простым языком.
Обнаружение утечек памяти с помощью XCTest

С утечками памяти можно бороться не только реактивно, профилируя приложение, когда они уже случились, но и проактивно, проверяя их наличие в юнит-тестах. В статье разбирается, как написать такие тесты.
This media is not supported in your browser
VIEW IN TELEGRAM
Lottielab – среда для создания Lottie анимаций

Вышла Beta версия приложения-редактора Lottie анимаций. Дизайн можно импортировать из Figma, есть куча готовых настраиваемых шаблонов анимаций
2024/10/01 02:38:22
Back to Top
HTML Embed Code: