Telegram Web Link
Как генерировать консистеные палитры со случайными цветами

На прошлой неделе я делился записью подкаста про цветовые пространства. Если вам стало интересно, то можете продолжить знакомство с темой этой статьей. Автор рассказывает о недостатках RGB, и делится алгоритмом генерации палитр из подходящих друг другу цветов с помощью пространств HSL и LCh.

Перевод на русский язык
Судьба Fastlane

Начнем с предыстории. Когда-то у Twitter был замечательный сервис Fabric, в который входило распространение тестовых билдов, аналитика по крешам и перфомансу. В какой-то момент в команду Fabric наняли Felix Krause, основного ментейнера Fastlane. Не очень понятно, что в этот момент произошло с правами на IP, но основной идеей было дать Феликсу возможность фуллтайм работать над проектом, важным для всех разработчиков.

Спустя два года, Fabric был продан гуглу, которые интегрировали его в Firebase. В нагрузку к Fabric к ним перешел и Fastlane, причем уже, кажется, без Феликса.

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

У сообщества появилась идея передать Fastlane в Mobile Native Foundation. К этому готовы и основной ментейнер проекта, и сам фонд. Основная проблема – найти в Google хоть кого-то, кто готов задрайвить принятие решения о переносе проекта. Пока, кажется, безуспешно.

upd: Процесс пошел
IceCube – опенсорсный клиент для Mastodon на SwiftUI

IceCube – один из лучших айосных клиентов для Мастодона по наполненности фичами, интерфейсу и удобству пользования им. Но что еще круче – он полностью бесплатный, а код приложения лежит в опенсорсе и активно допиливается айосным коммьюнити. Например, автор Pulse, про который я регулярно тут рассказываю, периодически закидывает PR по оптимизации перфоманса.

Если вам стало интересно залезть в кодовую базу, то в статье по ссылке рассказано больше деталей про организацию проекта, архитектуру и реализацию навигации. За проектом я рекомендую следить – у него есть все шансы стать одним из лучших открытых примеров крупных SwiftUI проектов.

💻Проект на GitHub
VK Mini Apps в 3 раза увеличила выплаты за показ в приложениях баннерной рекламы.

Платформа стремится сделать всё, чтобы разработчики могли монетизировать свои проекты и зарабатывать на них. Новая технология ротации баннерной рекламы в опубликованных сервисах позволит легче интегрировать рекламу в мини-приложения и увеличит доход владельцев сервисов.

Объявления подбираются под аудиторию конкретного сервиса, рендерятся и отображаются с помощью инструментов VK Mini Apps. Также не нужно адаптировать элементы объявления вручную, как было раньше. Все очень удобно.
Heroku без предупреждения удаляет продакшн базы данных

А помните, был такой Heroku? Благодаря хорошо проработанному UX и бесплатным тарифам многие мобильщики использовали его для хостинга бэкенда своих проектов.

Полгода назад они решили изменить прайсинг и убить бесплатные тарифы. Причем сделали они это довольно не красиво, дав довольно мало времени на миграцию с сервиса.

А сейчас выяснилась еще одна проблема. Даже для платных инстансов могут удалить подключенную базу, причем без уведомлений об этом и без возможности восстановить ее. Поэтому, если у вас остаются проекты на Хероку, задумайтесь о переезде или хотя бы о бэкапе.
EditKit Pro – расширение для Xcode с поддержкой разных рефакторингов

Примеры фичей:
💅Beautify JSON
📐Разбитие длинной строки кода на мультилайн
👀Сортировка импортов или любого выделения по алфавиту
🤷Оборачивание в ifdef
📘Автооборачивание строк в NSLocalizedString
KMM глазами iOS разработчика

Команда автора статьи использует КММ для шаринга всей независимой от платформы бизнес-логики: запросов в сеть, парсинга и хранения данных, авторизации, валидации, работы со стейтом экранов.

Основные проблемы, с которыми сталкиваются у них iOS разработчики:

- Интероп Kotlin с Objective-C/Swift не всегда простой и очевидный.
- Для разработки требуется держать открытыми сразу несколько IDE, что повышает требования к железу.

Помимо проблем, в статье разбирается, как использование КММ влияет на архитектуру проекта, как проще всего прокидывать зависимости, реализовывать навигацию и дебажить проект.
Поддержка merge queues на GitHub

Больше не придется по несколько раз подливать main ветку и заново дожидаться прохождения всех проверок. Когда вы нажимаете кнопку «Merge», ваша ветка сравнивается не против main, а против main+всех остальных веток, которые висят в очереди перед вами.
Релиз VoiceOver Designer

Михаил Рубанов зарелизил инструмент для дизайна, прототипирования и тестирования accessibility.

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

🛒App Store
🎥Видео с историей создания
💻Код проекта

Если хотите получить промокод для стора, расскажите в комментариях, как вы организуете accessibility в ваших проектах. Миша отберет лучшие комменты и пришлет им промокоды!
В Xcode 14.3 пропадет совместимость с Rosetta

Если вы запускали Xcode в режиме совместимости с Rosetta, чтобы собирать старые Cocoapods зависимости на Apple Silicon, скоро у вас будут проблемы.
Как собрать XCFramework из Rust кода

В статье дается подробная инструкция по тому, как собрать Rust библиотеку для разных платформ и архитектур, собрать хэдеры и modulemap, завернуть это в XCFramework, подебажить его и подключить к своему проекту. Статья будет полезна и тем, кто хочет разобраться в структуре и принципах работы XCFramework в отрыве от Rust.
Почему Rust плохо подходит для работы с UI

Про Rust регулярно заходят разговоры в нашем чате, поэтому держите еще одну статью.

Несмотря на то, что Rust проникает практически везде – ядра операционных систем, браузеры и облака, UI проектов на Rust практически нет. При этом фреймворк для создания GUI – одна из самых часто запрашиваемых пользователями фичей. В статье разбирается, какие особенности языка делают работу с UI тяжелой, и как их можно обойти с помощью Elm или ECS like архитектур.
User breakpoints в Xcode

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

Для этого нажиите правой кнопкой мыши на брейкпойнте -> Move breakpoint to -> User.
This media is not supported in your browser
VIEW IN TELEGRAM
Новый модификатор scrollViewBounceBehavior

В iOS 16.4 появился новый модификатор для скроллящихся вьюх в SwiftUI – .scrollBounceBehavior(.basedOnSize). Благодаря ему сделать вьюху, которая будет скроллиться только когда ее контент выходит за границы ее фрейма, супер просто.
Appwrite – бесплатный self-hosted BaaS, альтернатива Firebase

- В Appwrite есть cloud-функции, база данных, хранение файлов, пуши.
- Инстанс Appwrite можно поднять в любом облаке, тарифы которого вам подходят.
- Есть готовые SDK для всех платформ.
ВКонтакте подготовили Weekend Offer для C++ и мобильных разработчиков

ВКонтакте — крупнейшая социальная сеть в России и странах СНГ, а Weekend Offer, в свою очередь, — шанс попасть в одну из десяти команд профессионалов за одни выходные. Направления три: Android, iOS и BackEnd (C++).

Отклики ждут до 9 марта тут: до этого времени с вами свяжутся, назначат короткий техскрининг и после - слот для онлайн-интервью в выходные.
This media is not supported in your browser
VIEW IN TELEGRAM
Градиенты на SwiftUI под любыми углами

У LinearGradient есть несколько стандартных направлений градиента, например top и leading. Под капотом эти направления представляют собой тип UnitPoint, и вы можете с его помощью задавать произвольные направления. В статье приводится пример кода по конвертации углов в нужные значения.

Перевод на русский язык
Best practices по работе с TCA

Команда The Browser Company, которые разрабатывают браузер Arc на Swift, самые крупные адоптеры архитектуры ТСА. Они подготовили набор рекомендаций, которых стоит придерживаться в больших кодовых базах с ТСА: моделирование стейта, редьюсеры, тестирование, зависимости и слой View.

Перевод на русский язык
Миграция большого проекта на Tuist

Asana перевели свой проект на Tuist и, как результат, сократили время сборки проекта с 45 до 15 секунд. В статье рассказывают про процесс миграции, встреченные проблемы и другие полученные плюсы.
Бенчмарки в App Store Connect

App Store Connect теперь дает возможность сравнить ключевые метрики своего приложения с о средним по конкурентам:

📈Конверсия в загрузку
📈Дневной, недельный и месячный ретеншн
📈Креш рейт
📈ARPPU
2024/10/01 09:32:00
Back to Top
HTML Embed Code: