Telegram Web Link
История переезда Spotify на Bazel

🤔Дано:
- 200 iOS разработчиков в 120 командах
- 3 миллиона строк кода только в тестах
- Рост кодовой базы на 30% каждый год
- 80 минут ожидания сборки и прогона тестов на PR

После того, как Spotify перевел все приложение на сборку через Bazel, время ожидания сборки упало в 4 раза, до 20 минут. В статье подробно рассказывается их история миграции: начиная от бесшовной замены xcodebuild на Bazel, заканчивая его интеграцией с IDE.
Гайд по работе с make

Короткий гайд для тех, кто совсем ничего не знает про make. Автор использует его на примере скрипта настройки окружения для нового iOS проекта.
Запуск локальной LLM на iOS

LLaMA.cpp – проект для инференса различных LLM на девайсах. Основная проблема с запуском его на iOS – ограничения по памяти. В статье разбирается, как можно квантовать модель таким образом, чтобы не ухудшить ее точность, попасть в лимиты памяти и запустить ее локально.
Демон, который чинит проблемы с потреблением CPU симуляторов Xcode 15

В симуляторах Xcode 15 есть проблема. При прогоне тестов запускаются процессы, которые могут нагрузить несколько ядер CPU на 100%, и, как результат, значительно увеличить время на их прогон.

Yeetd – простой демон, который отслеживает такие процессы и убивает их. Костыль, но может помочь до исправления корневой проблемы.
Все возможности #Preview макроса

👉Можно использовать как со SwiftUI, так и с UIKit.
👉Если вы хотите сгенерировать несколько превью, макрос можно использовать сколько угодно раз.
👉Чтобы проще отличать превью друг от друга, в макрос можно передать название конкретного превью.
👉Начиная с iOS 17, макросу можно передать еще и параметр, определяющий размер и поворот экрана.
👉Превью можно использовать и с виджетами.
Советы по жизни со SwiftSyntax

Пару месяцев назад я постил обсуждение со Swift Forums про то, что SwiftSyntax, зависимость на который неизбежна при использовании макросов, существенно замедляет сборку и усложняет менеджмент версий ваших зависимостей. В статье от Pointfree дается несколько советов по тому, как эти проблемы можно минимизировать. Статья в первую очередь ориентирована на авторов библиотек, но помочь может и разработчикам приложений.
Fastlane переезжает в Mobile Native Foundation

В феврале я рассказывал про историю вокруг Fastlane. Если кратко, то по историческим причинам права на репозиторий принадлежали Google, который был совсем не заинтересован в развитии проекта. Так вот, все наконец-то закрутилось. Google согласился передать владение проектом в Mobile Native Foundation, который уже хостит несколько интересных вещей. Для Fastlane это в первую очередь развязывает руки для того, чтобы начать собирать донаты и гранты на оплату мейнтейнеров.
Skip – iOS-first кроссплатформа

Вышел первый релиз Skip – кроссплатформенной технологии, которая расчитана в первую очередь на айосеров. Основная идея – вы просто пишете Swift код, а он автоматически транспилится в нативное Android приложение. В чем суть:

👉Проприетарный транспилятор Swift->Kotlin автоматом переводит весь ваш код на Android
👉Стандартную библиотеку и Foundation заменяют написанные авторами библиотеки на Kotlin
👉SwiftUI код переводится в вызовы Kotlin-обертки поверх Jetpack Compose с похожим API
Улучшения в менеджменте бета-тестеров в TestFlight

Apple выкатил обновление TestFlight. Основная фича – расширенная статистика по всем бета-тестерам, включающая в себя количество сессий, пойманных крешей, отправленного фидбэка, и конкретную информацию про модель устройства и версию ОС.
Обзор всех улучшений логов в Xcode 15

👉Отображение разных видов метадаты
👉Скрытие записей, похожих друг на друга
👉Фильтрация по типу
Mojo – новый язык от Криса Латтнера

Крис Латтнер – разработчик LLVM и языковой дизайнер, который выпустил первые версии Swift, а потом ушел из Apple. Недавно я уже рассказывал, что он выпустил новый язык Mojo – надмножество Python с близким к С++ перфомансом, ориентированное на ML разработчиков.

Так вот, сначала короткая новость – Mojo SDK стал доступен для macOS, так что можете поиграться с языком.

Но самое интересное не новость, а слайды с выступления Латтнера и других разработчиков на LLVM Conference 2023 с подробнейшим разбором компилятора, языка и его принципов.
Эволюция мобильных релизов в Авито

Когда я работал в Авито, я в том числе руководил и командой, которая занималась релизами мобильных приложений. Уже тогда у них были построены супер крутые процессы и инфра (мы даже подкаст про это записали). На прошлой неделе ребята выложили статью, где рассказали про то, как они прокачали свой релизный процесс за последние пять лет:

👉Автоматизация мониторинга отзывов и крешей
👉Релизы, которые катятся каждую неделю вообще без участия людей
👉Дэшборд с текущим статусом всех релизов
👉Сервис релизов, который менеджерит все зависимости по определенным контрактам
100 советов по росту приложений

Твиттер-тред из 100 советов про то, как зарабатывать больше денег на вашем мобильном приложении, от фаундера с неплохим портфолио. Много деталей про ожидаемые конверсии на разных этапах и предложений по проведению монетизационных тестов.
Второй лайв шоу “Ламповый стол”

Активные участники нашего чата iOS Good Talks проводят уже второй лайв, на котором будут обсуждать AI, его использование в работе рядовым кнопкокрасом, и куда вообще все катится. Присоединяйтесь в качестве слушателя, участника или просто общайтесь в чате, рассказывайте успешные кейсы, боли и просто свои мысли по поводу этой темы, будет интересно!

📆Четверг, 2 ноября, 19:00 по Москве
👉Ссылка на Zoom
Поиск утечек памяти на CI

Инструкция по тому, как вместе с прогоном UI тестов генерировать граф потребляемой памяти и автоматически анализировать его для поиска утечек памяти.
Плюсы и минусы Swift OpenAPI Generator

Ребята из Озона проверили на тестовом проекте,как работает OpenAPI Generator, и готов ли он к использованию в продакшне. Из заметных минусов:

👉Нет поддержки Lossy Array
👉Нет поддержки multipart/form-data
👉Нет поддержки внешних JSON спецификаций
👉Нет возможности скорректировать шаблоны генерации
👉Довольно медленная генерация
Рекомендации библиотек на Swift.org

На официальном сайте Swift появился новый раздел Packages с рекомендациями лучших библиотек для нетворкинга, логов, тестирования, работы с макросами и других задач. Отображается только несколько топовых пакетов, но есть возможность посмотреть всю категорию на коммьюнити-сайте Swift Package Index.
This media is not supported in your browser
VIEW IN TELEGRAM
Rugby – кэш для CocoaPods

Rugby – консольный инструмент, который запускается сбоку от CocoaPods и ускоряет его работу.

👉Кеширует все зависимости и удаляет их из Pods проекта
👉Пересобирает только изменившиеся поды
👉Детектит и удаляет лишние таргеты

При этом никак не меняет Podfile или Podfile.lock.
Добавление поддержки шорткатов

В iOS 16 появился фреймворк AppIntents, который добавояет в приложение поддержку App Actions. Эти экшны могут быть использованы в Shortcuts, Siri и Spotlight.

В статье разбирается, как быстро интегрировать фреймворк к себе в проект и правильным образом обрабатывать переданный пользователем ввод.
2024/11/05 22:54:07
Back to Top
HTML Embed Code: