Telegram Web Link
Komondor – пакет для описания Git Hooks, использующихся в проекте

С помощью Komondor вы можете описать все git hooks, нужные вашему проекту, в одном блоке Package.swift файла. Он поддерживает аж 19 разных видов хуков, в том числе экзотику вроде pre-auto-gc или sendemail-validate.

Пакет вдохновлен Husky – аналогичным инструментом в Node.js экосистеме.
for-case-let

Вместо того, чтобы писать if let внутри for цикла, вы можете использовать case let прямо при его объявлении. Уровень вложенности кода падает, да и выглядит чище.
This media is not supported in your browser
VIEW IN TELEGRAM
Как пропустить экран логина с помощью брейкпойнтов в Xcode

Xcode позволяет автоматически выполнять различные lldb команды при остановке на брейкпойнте. В статье разбирается как настроить брейкпойнты таким образом, чтобы автоматически заполнять логин и пароль при дебаге приложения.

Перевод на русский язык
Результаты Swift Community Awards

Подборка самых высоко оцененных сообществом инструментов, сервисов, опенсорсных проектов и докладов. Загляните, может быть, пропустили интересные штуки! Вот несколько классных:

🍍TelemetryDeck – легковесная аналитика с упором на приватность собираемых данных
🍍IceCubes – очень красивый опенсорсный клиент для Мастодона
🍍Bakery – простой конструктор иконок приложений
Foundation на Swift

В конце прошлого года Apple заанонсили, что переписывают Foundation на Swift, параллельно разбивая его на маленькие пакеты. Спустя всего четыре месяца первое превью уже выпущено на GitHub!

Пока в библиотеке доступна только часть типов, например AttributedString, Date и Calendar. Ключевая особенность – улучшенный перфоманс. Например, Calendar показывает 20% улучшение, а форматирование дат через FormatStyle – 150%. Самое крутое, конечно, JSONEncoder/JSONDecoder, которые показывают прирост в 2-5 раз.

Следующие планы – перенести URL, Bundle, FileManager, FileHandle, Process, SortDescriptor, SortComparator, а заодно – обрабатывать фичереквесты и баги от коммьюнити.
Swift для TensorFlow все

Вторая новость про Swift чуть менее радостная. Google тихо прикрыл все работы, связанные со Swift для TensorFlow, и заархивировал проект. Из заметных достижений за время их работы:

👉В компилятор добавили поддержку differentiable programming, причем ее саппорт продолжится.
👉Запустили несколько проектов, которые продолжат поддерживаться: PythonKit для интеропа с Python, swift-jupyter для возможности использовать ноутбуки, swift-benchmark для, как ни удивительно, бенчмарков кода.
Предсказания анонсов на WWDC’23

Bloomberg подбили все известные утечки в одном материале:

😎Reality Headset, премиальная AR/VR гарнитура
📱Новая операционка для гарнитуры, xrOS
⌚️Крупный апдейт в watchOS 10, в котором должны сильно переработать интерфейс
💻Новые макбуки, но вроде как все еще на М2
Никаких крупных апдейтов в iOS/macOS не ожидается, не считая возможности загружать приложения на iOS в обход официального магазина

Перевод на русский язык
VK запускает Weekend Offer для мобильных разработчиков

Получите возможность присоединиться к командам VK Мессенджера, VK Видео, Почты Mail.ru и Облака Mail.ru всего за одни выходные — 20–21 мая. Разработчики требуются на направления iOS и Android.

Отправить отклик можно до 18 мая включительно.
Несколько советов про Reachability

👉Вместо проверок на наличие соединения перед каждым запросом используйте флаг waitsForConnectivity, благодаря которому активный запрос будет дожидаться появления сети.
👉Если вам надо ограничить приложение работой только по WiFi, настройте URLSessionConfiguration таким образом, чтобы разрешать только определенные типы соединений.

Перевод на русский язык
Когда пользователь лучше всего конвертится во внутреннюю покупку

Феликс Краузе, бывший ментейнер Fastlane, сейчас запускает новый продукт – ContextSDK. Он предсказывает, когда лучше всего предложить пользователю совершить внутреннюю покупку, основываясь на анализе кучи факторов. Вот несколько примеров того, что может значимо влиять на конверсию:

🌟Хуже всего люди совершают покупки, когда пользуются приложением на ходу, когда телефон лежит на столе, у него остается мало заряда батареи, или когда он воспроизводит музыку.
🌟Лучше всего конвертятся те, кто лежит или сидит.
🌟Чем новее модель телефона и чем свежее версия операционной системы, тем выше конверсия в покупку.
🌟Время суток тоже влияет. В первой половине дня конверсии в целом лучше.
ETTrace – новый фреймворк для профилирования приложений

Основные отличия от Time Profiler:

- Более простой интерфейс для поиска проблем в перфомансе
- Более быстрый, менее флакующий профилировщик
- Корректная символизация
- Готов к работе в CI

Перевод на русский язык
Проблемы MVx архитектур

В статье разбирается три проблемы, из-за которой типичные «слоистые» архитектуры вроде MVC, MVP и MVVM плохо ложатся на большинство приложений.

🤏Проблема остатка: не все фичи идеально раскладываются на все слои, в результате приходится иметь много бесполезного бойлерплейта.
🔎Проблема масштабирования: при расширении фичи ее код начинает сильно разбухать, так как вместо нормальной декомпозиции ее пытаются впихнуть в уже написанный юзкейс.
🤔Проблема разрывов в логике: архитектура пишется таким образом, который зависит от строгой последовательности выполнения действий в разных компонентах, в то время как механизмов, обеспечивающих эту последовательность, нет.

Любви достоин только VIPER.
This media is not supported in your browser
VIEW IN TELEGRAM
Анимация песочных часов на SwiftUI

Эффект реализован с помощью заблюренных линейных градиентов и SpriteKit частиц. Код можно посмотреть здесь.
Как оптимизировать count запросы в Core Data

В статье приводится 12 способов писать более эффективные count запросы к данным. Для каждого из них разбирается сгенерированный в итоге SQL.
Overlays в SwiftUI

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

TabularData – системный фреймворк для того, чтобы готовить данные для обучения ML моделей. Если работали с DataFrame в Python – вот это он.

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

Перевод на русский язык
This media is not supported in your browser
VIEW IN TELEGRAM
Кастомный SegmentedControl на SwiftUI

Стандартный SegmentedControl практически не кастомизируется, поэтому, если ваш дизайн отличается от стандартного, компонент придется реализовывать самому. Автор начинает с самой наивной реализации, и заканчивает гибким контролом с плавными анимациями.
Mojo – новый язык от Криса Латтнера

Новость не про iOS, но зато про Латтнера, человека, который раньше стоял за Swift. Так вот, на прошлой неделе он запустил новый язык Mojo, с синтаксисом, похожим на Python, и производительностью, стремящейся к С++. Основной юзкейс – обучать модели и работать с ними на сервере, используя один и тот же язык.
2024/09/30 04:39:28
Back to Top
HTML Embed Code: