iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT
12.5K subscribers
699 photos
66 videos
4.08K links
Самые интересные статьи, видео и новости, связанные с iOS разработкой. Не больше трёх материалов в день.

Регистрация в РКН: https://gosuslugi.ru/snet/67b464d698a28c4e866d827a

Размещение рекламы: @tanyasanovna
Download Telegram
Учим Claude писать на Swift 6

Одна из проблем, о которой рассказывал автор вчерашней статьи – достаточно плохое знание агентом особенностей Swift. Эта проблема частично решается добавлением нужной информации в контекст модели. Если все-таки решите попробовать, то по ссылке – детальные правила работы с Swift 6 и Swift Concurrency.
👍22👎14
Как в Airbnb улучшают перфоманс SwiftUI

Пока самые слабые отказываются от SwiftUI из-за проблем с перфомансом, Airbnb пытается решать проблемы с ним. В сегодняшней статье они рассказывают про то, как работает diffing алгоритм и как его контролировать.
👍42👎14🔥3
FaultOrdering – ускоряем запуск приложения

Как вы помните, Sentry недавно купили Emerge Tools. Неожиданно, после этого они решили выложить свой ранее платный инструмент в опенсорс. FaultOrdering – пакет, автоматически генерирующий Order-файлы во время прогона UI-тестов. А использование этих файлов позволяет ускорить запуск приложения где-то на 20%.
👍334
Опыт со Swift Package Registry

Swift Package Registry – фича SwiftPM, позволяющая вам поднять собственный сервер для раздачи пакетов. Это важно в следующих случаях:

👉Вы хотите ускорить пайплайны за счет того, чтобы не клонировать каждый раз Git репозитории
👉Вы боитесь supply chain атак
👉Вы боитесь, что репозитории с пакетами, на которые вы полагаетесь, в какой-то прекрасный день удалят

В статье подробно разбирается опыт развертки своего Swift Package Registry поверх Artifactory.
👍29
Reaper – SDK для поиска мертвого кода

Sentry продолжают выкладывать в опенсорс инструменты, полученные в наследство после покупки EmergeTools. В этот раз очередь Reaper – инструмента, который помогает отслеживать код, который никогда не используется в проде.
👍345
Вкатываемся в Container

Один из самых важных анонсов WWDC – Container, инструмент, позволяющий собирать Linux контейнеры на macOS. В статье разбираемся, как собрать контейнер с Vapor приложением, запушить его в удаленный реестр и задеплоить.
👍172🔥2👎1💅1
Approachable Concurrency

В Xcode 26 появилась возможность активировать несколько фичей Swift 6.2 под общим зонтиком approachable concurrency. В статье разбирается, в чем суть каждой из них.
🔥13👍4👎3
Почему Gmail весит 700мб

За последний год приложение Gmail прибавило в весе 100мб, и теперь весит все 700. EmergeTools разбирают, откуда берется это астрономическое число в приложении, в котором, казалось бы, всего пара экранов.
💅244🔥4
Как использовать Gemini в Xcode

В Xcode 26 можно подключать любые LLM, если у вас есть их API ключ. Но с Gemini есть нюанс – их URL схема не соответствует тому, чего ожидает Xcode. При этом у Gemini довольно интересные модели: огромное окно контекста, низкие цены, хорошие рейтинги в бенчмарках по разработке. В статье разбирается, как с помощью нескольких хитрых костылей все-таки подключить модели Google к Xcode.
👍211👎1
Хотите научиться создавать приложения для iOS с картами, используя Swift и MapKit?

На открытом вебинаре 21 июля в 20:00 МСК мы разберем, как создать простое приложение на SwiftUI, познакомимся с основами работы с картой MapKit и узнаем, как использовать UIViewRepresentable для интеграции карт в ваше приложение.

Этот урок идеально подходит для начинающих iOS-разработчиков, а также для тех, кто хочет добавлять карты в свои проекты. Вы получите практические навыки для создания собственного приложения с картами, которые легко применить в реальных проектах.

Регистрируйтесь на вебинар и получите скидку на курс «iOS Developer»: https://otus.pw/ANhv/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👎452👍1
Август без феста — лето на ветер. В музее-заповеднике «Коломенское» пройдет ИТ-пикник для опытных специалистов.

В программе:
— Лекции топов индустрии. Обсудим разные темы: от R&D и аналитики до продуктового менеджмента и научпопа.
— Интерактивы, квесты, мастер-классы, робототехника и VR, карьерная и ИТ‑лаборатории.
— Общение, знакомства и выступления известных артистов.


Захватите друзей, семью и коллег — развлечения найдутся для каждого.

Подробности и билеты — на сайте ИТ-пикника
👎222🔥1💅1
Что нового в тестировании

Продолжаем серию глубоких разборов того, что нового появилось в бета-версиях Xcode, iOS и Swift. В этот раз – про Swift Testing, XCTest и автотесты.

6 years on, there is still no way to unit test code using SwiftUI. The official guidance remains use UI Automation Tests and SwiftUI Previews. Unsurprising, but extremely disappointing
👍15
UI Kit для iOS 26

Подъехали обновленные наборы компонентов в Figma и Sketch для iOS и iPadOS 26.
🔥1
Хотите научиться создавать приложения для iOS с картами, используя Swift и MapKit?

На открытом вебинаре 21 июля в 20:00 МСК мы разберем, как создать простое приложение на SwiftUI, познакомимся с основами работы с картой MapKit и узнаем, как использовать UIViewRepresentable для интеграции карт в ваше приложение.

Этот урок идеально подходит для начинающих iOS-разработчиков, а также для тех, кто хочет добавлять карты в свои проекты. Вы получите практические навыки для создания собственного приложения с картами, которые легко применить в реальных проектах.

Регистрируйтесь на вебинар и получите скидку на курс «iOS Developer»: https://otus.pw/VPRq/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👎46👍31💅1
Java интероп в Swift 6.2

Как вы помните, в конце прошлого года Apple анонсировали нативный интероп с Java. Он помогает и самим Apple, которые постепенно начинают писать на Swift новые высоконагруженные сервисы, и сообществу, которое посматривает на Server-side Swift.

Так вот, держите хороший обзор того, как этот интероп работает в последней версии Swift, и как настраивать окружение, чтобы все работало.
👍232
Как упаковать Haskell в Swift Framework

Продолжая тему интеропов, зайдем в гораздо более странную сторону – Haskell. В статье разбирается, как обернуть библиотеку на этом языке в Swift фреймворк – на удивление все работает довольно просто.
🔥11👎2
Как в Swift работает мьютекс

Начиная с iOS 18, у нас появился Synchronisation framework. Помимо прочего, он дает поддержку мьютексов, которые хорошо заточены на работу со Swift Concurrency. В статье разбирается, как с ними работать, в чем отличие от других типов локов и акторов.
🔥224👎2💅1
This media is not supported in your browser
VIEW IN TELEGRAM
23 августа Яндекс проведет Mobile Runtime — фестиваль для мобильных разработчиков с фокусом на практику

В программе будут воркшопы по ускорению приложений и MCP, кодинг на скорость в тренажере CodeRun, консультации по карьере от лидов Яндекса, а также командный квиз про мобильную разработку с мемами, отсылками и музыкальными паузами.

Главная активность — AI-хакатон! За 5 часов команды, используя ИИ-ассистентов, должны создать работающее приложение. В составе жюри: Артур Василов, руководитель мобильной разработки Яндекс Браузера, Анна Жаркова, руководитель практики по мобильной разработке Usetech и другие эксперты. Для участия в хакатоне нужно зарегистрироваться на сайте ивента.

Если хочется выдохнуть — на фесте будут работать тематические зоны от сервисов Яндекса: обсуждайте метрики и BDUI с экспертами Городских сервисов, играйте в настолки с командами Поиска и рекламных технологий, пробуйте коктейли в баре от 360 и общайтесь с ребятами, работающими над Яндекс Почтой, Диском и Календарем.

Регистрируйтесь на сайте фестиваля.
👎4223🔥21👍18
Даем Claude Code доступ к SwiftUI

Claude Code – самый хайповый сегодня инструмент для AI-assisted разработки. Реализация максимально простая – консольный интерфейс, максимально тонкая прослойка между вами и моделями от Anthropic, и доступ к MCP и другим консольным тулам.

Полезнее всего агентв становятся, когда у них есть доступ к результатам выполнения написанного кода. В статье разбирается, как снепшотные тесты могут помочь агенту итерироваться по тому, какой интерфейс получается, и докручивать его до идеала.
👎5👍43