Advent of Code 2023
Вы думаете, почему в понедельник и вторник не было постов? Да потому, что начался advent of code, и я ушел решать задачи (на самом деле нет, конечно, просто ленился). Так вот, кто не в курсе – каждый год с 1 по 25 декабря появляется новая задача, которую вы можете решать любыми способами и на любом языке. Чтобы поучаствовать в соревновании, нужно просто отправить правильный ответ. В этом году Swift присоединился к официальной тусовке, выпустил шаблон для быстрого старта и завел официальный лидерборд. Так что присоединяйтесь, это весело!
Видео с конференции SwiftLeeds
Вышли в открытый доступ все видео с недавней конференции SwiftLeeds. Из интересных сессий:
👉Как iOS разработчику стать Staff+ инженером
👉Под капотом 3D трансформаций вьюх
👉Accessibility для карт и навигации
Observation вне SwiftUI
Observation framework можно использовать за пределами SwiftUI для того, чтобы следить за изменениями интересующего объекта. В статье разбирается простой пример такого использования и несколько особенностей поведения, с которыми вы можете столкнуться.
Скидки в Подлодке на черную пятницу
Мы в Подлодке решили подключиться к волне распродаж и запустили сразу несколько акций:
🐦На все конференции сезона 2024 скидка 30% по промокоду: BLACK_FRIDAY_23
📚Доступ ко всей библиотеке записей конференций, и прошедших, и будущих, на целый год за 9999 рублей
📹Скидка на отдельные плейлисты до 35%
Для тех, кто не в курсе, напоминаю – мы делаем одну из лучших айосных конференций, в которой каждый сезон посвящен какой-то одной конкретной теме. Например, перфоманс и профайлинг, или инфраструктура. Зовем спикеров из топовых компаний, проводим и доклады, и воркшопы – так что точно найдете что-то себе по душе.
👉Ссылка (акции действуют до 30 ноября)
Обзор новой библиотеки swift-testing
Пару недель назад я рассказывал, что Apple выложили раннее превью swift-testing – новой библиотеки для тестирования, основанной на макросах. Автор статьи поэкспериментировал с ней и подробно описал все фичи.
Заменяем Xcode на Neovim
Если Xcode очень сильно бесит, и вы готовы добавить своей жизни сложностей, можно попробовать пересесть на Neovim. В статье разбирается, как по максимум заточить его на работу с iOS – настроить автокомплит, линтинг, форматтинг, дебаг, сборку и запуск приложения.
Inferno – коллекция готовых Metal шейдеров для SwiftUI
Пол Хадсон релизнул новый проект – коллекцию Metal шейдеров вместе с семпловым приложением, в котором их все можно пощупать. Каждый шейдер написан максимально просто, с детальным объяснением всех использованных алгоритмов.
Детальный разбор ViewThatFits
ViewThatFits – адаптивный контейнер, появившийся в SwiftUI с iOS 16. В статье детально разбирается логика его работы, поведение в различных ситуациях и расчет идеального размера.
App of the Year Awards
Apple объявили финалистов ежегодной премии лучших приложений. Как минимум в категории приложений для айфона ничего неожиданного – те же Duolingo и Flighty регулярно светятся в списках победителей разных наград Apple.
Новые туториалы от Apple с введением в iOS разработку
Отличный курс для того, чтобы отправлять ссылку на него вашим друзьям, которые решили вкатиться в iOS.
👉Знакомство со SwiftUI и Xcode
👉Создание кастомных вьюх
👉Работа с лэйаутом и стилями
👉Работа со стейтом и его изменениями
👉Списки и текстовые поля
Пишем iOS приложение на KMP + Compose
Kotlin Multiplatform буквально на днях наконец-то вышел в Stable. Если хотите разобраться в технологии, научиться шарить бизнес-логику между платформами, или UI с помощью Compose Multiplatform, приходите на интенсив с Анной Жарковой. Он состоит из двух частей: на первом вебинаре разбирается, как шарить общий код, на втором – как шарить UI.
📆Дата: 20 и 21 ноября в 20:00 по Москве
👉Регистрация
Интенсив приурочен к старту продвинутого онлайн-курса «iOS Developer. Professional» от Отус.
После интенсивна вы сможете продолжить обучение на курсе, в том числе, в рассрочку.Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
jamesswiney/111357839997839410">Пример визуальных эффектов в играх на Vision Pro
Вы просто посмотрите, как же круто выглядят эффекты в иммерсивном режиме!
Адаптивный цвет статус-бара
Начиная с iOS 17, статус-бар умеет самостоятельно менять свой цвет в зависимости от бэкграунда. Причем цвет меняться может даже у части элементов.
Алгоритм chunked
В пакете swift-algorithms есть удобная функция chunked
, с помощью которой можно разбивать коллекцию на несколько по любому ее признаку.
Видео с конференции Swift Connection 2023
На днях опубликовали все видео с конфы Swift Connection. Из интересного:
👉Доклад про макросы
👉Offline-first архитектура
👉Переезд из облачного CI/CD на свой стек
Как сделать CTF, интересный для разработчиков
Как сделать интересный CTF для разработчиков? СHО Start X рассказал основные правила: CTF должен реалистично имитировать логику приложений, соревнования должны содержать задачи для разработчиков разного уровня, а задания внутри — подчиняться общей логике.
Реклама ООО «Антифишинг»
ИНН: 6950191442, erid 2SDnjcgP2Pa
Миграции в SwiftData
Пошаговая инструкция по определению версионированных схем данных в SwiftData, описанию порядка миграции с версии на версию и выбору между кастомной и легковесной миграцией.
Опыт реализации App Clips
Ребята из Додо делятся своим опытом работы с App Clips для создания облегченной версии приложения для официантов. Из интересного:
👉В iOS 17 значительно подняли лимит размера бинарника, до 50MB
👉Ephemeral пуши, созданные специально под App Clips, могут работать без разрешения только 8 часов
👉Нельзя реализовывать уникальные фичи, которых нет в основном приложении
👉После создания App Clip может пройти несколько недель, пока Apple индексирует URLы, и все это время работать он не будет
Полезное применение Quick Actions
В Твиттере предложили топовую идею использования Quick Actions – добавить туда просьбу поделиться обратной связью. Когда пользователь захочет удалить приложение, он точно на нее наткнется, и шанс получить полезный фидбэк вырастет.
Привет! На связи Podlodka iOS Crew — онлайн-конференция для мобильных разработчиков.
🤔 Развитие в IT порой напоминает блуждание по лабиринту. Куда свернуть, какой путь выбрать? C джунами всё понятно — нужно растить грейд до middle и senior, но что делать дальше?
📈 Как правильно выстроить карьеру iOS-разработчика — вот основная тема нового сезона, который стартует 27 ноября.
В этот раз вас ждут важные пойнты про эволюцию iOS-программиста. Спикеры из крупных компаний уделят внимание трём китам развития — опыту, навыкам и практике:
🔹 Помогут составить карьерный роадмап — найти точки роста, источники вдохновения, преодолеть ментальные барьеры.
🔹 Объяснят, как привести pet-проект к результату в 10к пользователей в месяц.
🔹 Обсудят, как работать в зарубежных компаниях в разных частях мира на круглом столе.
🎁 Бонус: новый формат Podlodka Lightning Talks. Это короткие авторские видео от экспертов iOS-разработки о hard и soft-навыках.
📍 Купить билет можно на сайте: https://podlodka.io/ioscrew
Доклады о мобильной разработке на YaTalks 2023
Делимся некоторыми темами конференции Яндекса ↓
«Тестировать нельзя мучиться: собственная ферма мобильных устройств для тестирования в Сбере» — зачем нужна ферма мобильных устройств, откуда она в Сбере и почему специалистам без неё уже никуда.
Владимир Коржев, руководитель направления в Digital Platform, Сбер
«Виджет Android vs виджет iOS» — как в Apple переизобрели виджеты для мобильных устройств, какие возможности особенно полезны и можно ли обойти ограничения.
Анна Жаркова, руководитель группы разработки, Usetech
«Три архитектуры одной покупки на Маркете» — как разрабатывать интерфейсы для приложений с логистической вариативностью и какие данные нужны от пользователя для оформления заказа.
Рустам Кенджаев, руководитель группы мобильной разработки, Яндекс Маркет
Эти и другие доклады можно послушать 5 декабря. Офлайн — в Москве и Белграде, онлайн — из любой точки мира. Если придёте лично, сможете поучаствовать в нетворкинге, полайвкодить с коллегами и посоветоваться с HR Яндекса, как написать резюме.
Всё бесплатно, регистрируйтесь ↓
Зарегистрироваться
Реклама. ООО "Яндекс". erid: 2VtzqxfRHHz
Как дебажить динамические SwiftUI вьюхи
В Xcode 15.1 появился новый способ выяснить, что заставило вашу вьюшку перерисовываться – вызов метода Self._logChanges()
прямо из body. После его вызова в консоль выведутся имена всех свойств, которые триггерили перерисовку. В статье подробнее разбираются этот и другие подходы к дебагу.
Открытая сессия Podlodka iOS Crew про поиск работы за рубежом
На следующей неделе стартует новый сезон Подлодки про карьеру в iOS разработке. Мы решили сделать одну из его сессий открытой для всех, поэтому сегодня вечером Дарья Шульгина из AgileFluent расскажет про иностранный рынок вакансий:
👉 На что делать ставку iOS-разработчику при поиске работы за рубежом
👉Как выделиться среди других кандидатов
👉На какие грабли наступает каждый второй, и как их обойти
📆Дата: 21 ноября, 19:00 по Москве
👀Ссылка на YouTube, никакой регистрации не нужно!
Как Spotify следит за размером приложения
Эксперимент Google показал, что каждый прирост размера приложения на 6MB уменьшает конверсию в установку на 1%. Платформенная команда Spotify делится тем, как они следят за влиянием каждой конкретной продуктовой команды на размер бинарника, оценивают импакт каждой фичи, и не допускают регрессий.
Новые Tech Talks от Apple
👉GPU advancements in M3 and A17 Pro
👉New Metal profiling tools for M3 and A17 Pro
👉Performance best practices for Metal shaders
Новый модификатор visualEffect
В SwiftUI появился новый модификатор visualEffect. С его помощью к любой вьюхе можно применить набор анимаций, которые меняют только внешний вид, а не лейаут. Например, прозрачность или блюр.
Разбор проблем GeometryReader
GeometryReader доступен в SwiftUI практически с самого релиза. В последних апдейтах его важность постепенно падает, так как появляются неплохие альтернативы. В посте разбирают основные минусы GeometryReader и то, как его можно заменить.
Первые кейс-стади Vision Pro
Apple начали публиковать первые истории того, как компании разрабатывают приложения под Vision Pro:
👉JigSpace, специализирующиеся на AR приложениях
👉PTC, разрабатывающие CAD системы
Статус готовности Swift 6
Из изначально заявленных целей для Swift 6 оставляют только одну – data-race safety by default. Новых фичей в ее рамках ждать уже не надо, все усилия пойдут на стабилизацию.
Мигрировать уже можно постепенно начинать, включая основные фичи, которые попадут в Swift 6.
Эволюция видеоэффектов
В статье разбирается эволюция эффектов, применяемых на реалтайм видео, начиная с MSQRD, заканчивая модными диффузионными моделями.