Улучшение удобства использования библиотек C в Swift
В экосистеме ПО есть огромное количество интересных, полезных и даже забавных библиотек C.
Хотя у нас всегда есть опция пойти и переписать эти библиотеки на Swift, обычно в этом нет необходимости, поскольку Swift обеспечивает прямую совместимость с C.
После небольшой настройки можно юзать существующие библиотеки C прямо из нашего Swift-кода.
Дуг Грегор, который работает над компилятором и рантаймом Swift, написал огромную детальную статью на официальном сайте, в которой поделился примерами такого использования, особенностями построения карты модулей и подводными камнями, которые могут возникнуть.
📖 Целиком руководство доступно здесь.
😃 iOS Dev
В экосистеме ПО есть огромное количество интересных, полезных и даже забавных библиотек C.
Хотя у нас всегда есть опция пойти и переписать эти библиотеки на Swift, обычно в этом нет необходимости, поскольку Swift обеспечивает прямую совместимость с C.
После небольшой настройки можно юзать существующие библиотеки C прямо из нашего Swift-кода.
Дуг Грегор, который работает над компилятором и рантаймом Swift, написал огромную детальную статью на официальном сайте, в которой поделился примерами такого использования, особенностями построения карты модулей и подводными камнями, которые могут возникнуть.
📖 Целиком руководство доступно здесь.
Please open Telegram to view this post
VIEW IN TELEGRAM
9 12🔥7👏6👍3💯2🆒1 1
🔥 Приложения для Windows можно будет писать на Swift
Буквально несколько часов назад была анонсирована новая рабочая группа Windows!
Windows уже является официально поддерживаемой платформой (с 2020 года), и с тех пор был достигнут значительный прогресс.
Новая рабочая группа сосредоточится на следующих задачах:
• Улучшение поддержки Windows для официального дистрибутива Swift.
• Рекомендации по улучшению основных пакетов Swift, таких как Foundation и Dispatch.
• Рекомендации Swift относительно будущей поддержки Windows.
• Выявление и рекомендация лучших практик для соединения Swift и Windows API, а также свифтовых либ с приложениями Windows.
🗓 Напомню, что в прошлом году аналогичная группа была создана и для Android.
😃 iOS Dev
Буквально несколько часов назад была анонсирована новая рабочая группа Windows!
Windows уже является официально поддерживаемой платформой (с 2020 года), и с тех пор был достигнут значительный прогресс.
Новая рабочая группа сосредоточится на следующих задачах:
• Улучшение поддержки Windows для официального дистрибутива Swift.
• Рекомендации по улучшению основных пакетов Swift, таких как Foundation и Dispatch.
• Рекомендации Swift относительно будущей поддержки Windows.
• Выявление и рекомендация лучших практик для соединения Swift и Windows API, а также свифтовых либ с приложениями Windows.
🗓 Напомню, что в прошлом году аналогичная группа была создана и для Android.
Please open Telegram to view this post
VIEW IN TELEGRAM
17🔥42 8👍7🆒3👏2🏆1🫡1
Swift Community Showcase - интересные проекты и достижения экосистемы
На форумах Apple разработчики регулярно делятся своими примерами проектов, подходами и тем, как можно использовать привычные инструменты в сложных системах.
Делюсь подборкой за прошедший месяц.
🔗 A little brother for Swift Argument Parser
Легковесный альтернативный парсер аргументов командной строки
🔗 Swift Context Management
Для более эффективного понимания лимитов токенов и работы с контекстом в приложениях на Swift
🔗 Modern DI for Swift Concurrency
Современная библиотека DI, разработанная для Swift Concurrency и SwiftUI
🔗 monocle
CLI для агентов, позволяет проверять символы Swift через SourceKit-LSP
🔗 TaylorTorch: современный Swift-враппер for LibTorch
Позволяет юзать всю мощь PyTorch для нативных Swift-приложений. В следующий раз попробую его использовать👩🎓
Остальные проекты можно посмотреть на скриншоте.
😃 iOS Dev
На форумах Apple разработчики регулярно делятся своими примерами проектов, подходами и тем, как можно использовать привычные инструменты в сложных системах.
Делюсь подборкой за прошедший месяц.
Легковесный альтернативный парсер аргументов командной строки
Для более эффективного понимания лимитов токенов и работы с контекстом в приложениях на Swift
Современная библиотека DI, разработанная для Swift Concurrency и SwiftUI
CLI для агентов, позволяет проверять символы Swift через SourceKit-LSP
Позволяет юзать всю мощь PyTorch для нативных Swift-приложений. В следующий раз попробую его использовать
Остальные проекты можно посмотреть на скриншоте.
Please open Telegram to view this post
VIEW IN TELEGRAM
8🔥17 10💯4✍1👍1👏1🤯1🏆1
Swift Actors: 6 подводных камней, которые подстерегают даже опытных разработчиков
Когда Apple представила акторы, среди обещаний особенно выделялось: «конец проблемам с гонками данных». Реальность оказалась гораздо сложнее.
После ряда экспериментов с акторами Рафал Дубиэль составил список ловушек, в которые регулярно попадают даже опытные разработчики.
Некоторые из них плохо документированы, а другие активно вводят в заблуждение.
📖 Целиком статью можно прочитать вот тут.
😃 iOS Dev
Когда Apple представила акторы, среди обещаний особенно выделялось: «конец проблемам с гонками данных». Реальность оказалась гораздо сложнее.
После ряда экспериментов с акторами Рафал Дубиэль составил список ловушек, в которые регулярно попадают даже опытные разработчики.
Некоторые из них плохо документированы, а другие активно вводят в заблуждение.
📖 Целиком статью можно прочитать вот тут.
Please open Telegram to view this post
VIEW IN TELEGRAM
9🔥24 11✍4👏2💯2👍1
Универсальность использования Tasks в Swift
Если вы уже давно занимаетесь разработкой для платформ Apple, ваше понимание «параллелизма» может уходить корнями к эпохе Grand Central Dispatch. А если вы в разработке для яблочных девайсов ещё дольше, то как заметил Макс Зелеманн, то даже и к pthreads.
В этой небольшой, но интересной статье рассматриваются моменты, которые могут быть не совсем очевидны при работе с тасками.
📖 Вот выводы, к которым в итоге пришёл автор статьи (но рекомендую посмотреть и сам пост):
😃 iOS Dev
Если вы уже давно занимаетесь разработкой для платформ Apple, ваше понимание «параллелизма» может уходить корнями к эпохе Grand Central Dispatch. А если вы в разработке для яблочных девайсов ещё дольше, то как заметил Макс Зелеманн, то даже и к pthreads.
В этой небольшой, но интересной статье рассматриваются моменты, которые могут быть не совсем очевидны при работе с тасками.
📖 Вот выводы, к которым в итоге пришёл автор статьи (но рекомендую посмотреть и сам пост):
➡️ В своей простейшей форме они представляют собой замыкания для длительных операций в фоне.➡️ Они предоставляют асинхронный контекст, позволяя вызывать асинхронный код.➡️ Если хранить дескриптор, можно ждать завершения в другом месте или отменить задачу вовсе, когда она больше не нужна.➡️ Если вы передаете дескриптор задачи, он служит в качестве промиса (будущего) для значения результата.➡️ Поскольку задачи являются потокобезопасными, они также служат в качестве механизмов синхронизации вокруг их комплишна и результата.
Please open Telegram to view this post
VIEW IN TELEGRAM
19🔥11 8👏6👍3
Разбор архитектуры SwiftUI в 2025 году: MVVM, MVC или TCA
Выбор правильной архитектуры для SwiftUI аналогичен выбору правильной программы тренировки.
Именно с такими словами выступает автор следующей статьи.
📖 А его взгляд на то, что стоит использовать - можно почитать вот здесь.
😃 iOS Dev
Выбор правильной архитектуры для SwiftUI аналогичен выбору правильной программы тренировки.
Каждый эксперт утверждает, что его метод лучший, но если попробовать одно или другое руководство, есть ненулевой шанс, что внезапно ваш проект разрастётся неизвестно во что.
Именно с такими словами выступает автор следующей статьи.
📖 А его взгляд на то, что стоит использовать - можно почитать вот здесь.
Please open Telegram to view this post
VIEW IN TELEGRAM
11🔥23 9👏4 2⚡1👍1💯1🏆1
iOS Dev
Просто напоминание, в Матрице плохих парней называли агентами. 25 лет спустя они уже здесь.
Тем временем в Xcode 26.3 рассказали, как работать с агентами
В новом видео за 5 минут рассказывают, как юзать OpenAI Codex и Claude Agent, для совместной работы над сложными многоэтапными задачами.
Например, как Xcode позволяет агентам создавать проекты, запускать тесты и искать документацию Apple — и все это через Model Context Protocol.
📺 А вот и ссылка!
😃 iOS Dev
В новом видео за 5 минут рассказывают, как юзать OpenAI Codex и Claude Agent, для совместной работы над сложными многоэтапными задачами.
Например, как Xcode позволяет агентам создавать проекты, запускать тесты и искать документацию Apple — и все это через Model Context Protocol.
📺 А вот и ссылка!
Please open Telegram to view this post
VIEW IN TELEGRAM
9🔥21👍9 6👏2🆒1
This media is not supported in your browser
VIEW IN TELEGRAM
3D-диаграммы в iOS 26 в 3 строчки кода
В 26 оси появилась крутая история с возможностью добавить 3D-диаграммы буквально в пару строк (можно юзать SurfacePlot или 3D-инициализаторы для PointMark, RuleMark, и RectangleMark).
Например, можно сделать так:
А для интерактивного управления, достаточно всего лишь использовать Chart3DPose с указанными значениями азимута и наклона.
А помните, всего несколько лет назад для этого надо было крутиться со сложной математикой и SceneKit.
Расширенный код (включая приятный премиум-эффект) и многое другое:💰 На бусти и ⭐️ в телеграме.
😃 iOS Dev
В 26 оси появилась крутая история с возможностью добавить 3D-диаграммы буквально в пару строк (можно юзать SurfacePlot или 3D-инициализаторы для PointMark, RuleMark, и RectangleMark).
Например, можно сделать так:
Chart3D {
SurfacePlot(x: "x", y: "y", z: "z") { x, z in
sin(2 * x) * cos(2 * z)
}
}
А для интерактивного управления, достаточно всего лишь использовать Chart3DPose с указанными значениями азимута и наклона.
А помните, всего несколько лет назад для этого надо было крутиться со сложной математикой и SceneKit.
Расширенный код (включая приятный премиум-эффект) и многое другое:
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥23 7🤩4👍3👏1💯1🏆1🎄1
Combine официально всё
Артем Новичков подсветил, что в AgentSystemPromptAddition в Xcode 26.3 есть такая строка:
Маякни реакцией 🎉, если ожидаемо.
😃 iOS Dev
Артем Новичков подсветил, что в AgentSystemPromptAddition в Xcode 26.3 есть такая строка:
Avoid using the Combine framework and instead prefer to use Swift's async and await versions of APIs instead.
Маякни реакцией 🎉, если ожидаемо.
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉184🤯31✍12 4👍3🔥3❤🔥1🏆1🤗1 1
🤯 Telegram превращается в VibeGram?
🛠 В десктопном клиенте на GitHub появились упоминания claude/codex и правил для агентов.
Уточнение: в комментариях добавили, что в iOS-клиенте это появилось куда раньше.
😃 iOS Dev
🛠 В десктопном клиенте на GitHub появились упоминания claude/codex и правил для агентов.
Уточнение: в комментариях добавили, что в iOS-клиенте это появилось куда раньше.
Please open Telegram to view this post
VIEW IN TELEGRAM
13🔥25🤯13 6❤🔥4 3👍1
Где iOS-разработчик быстрее деградирует?
Anonymous Poll
12%
В аутсорсе (частое переключение контекста, да и пилишь однотипные экраны почти всегда)
20%
В небольшой компании с одним продуктом (так как не изучаешь новые технологии)
8%
В стартапе (плохой код ради скорости)
29%
В бигтехах (долгие согласования, одна фича за год)
31%
Другое/посмотреть ответы