Переезжаем из Xcode в Zed
Zed – сравнительно новый редактор кода, который, в отличие от большинства остальных, не является форком VS Code. Он написан полностью на Rust, и его основная ценность – он супер быстрый и легковесный. В статье разбираемся, как перевести туда большую часть повседневных задач, включая редактирование Swift кода, дебаг и запуск приложений.
Zed – сравнительно новый редактор кода, который, в отличие от большинства остальных, не является форком VS Code. Он написан полностью на Rust, и его основная ценность – он супер быстрый и легковесный. В статье разбираемся, как перевести туда большую часть повседневных задач, включая редактирование Swift кода, дебаг и запуск приложений.
🔥20💅16👍6
This media is not supported in your browser
VIEW IN TELEGRAM
Чем плох TextKit 2
Marcin Krzyzanowski – один из самых больших экспертов по работе с текстом в iOS. Помимо прочего, вы можете знать его как ментейнера библиотеки STTextView. Держите обзор от него основных проблем TextKit 2, с которыми он столкнулся за годы работы с ним.
Marcin Krzyzanowski – один из самых больших экспертов по работе с текстом в iOS. Помимо прочего, вы можете знать его как ментейнера библиотеки STTextView. Держите обзор от него основных проблем TextKit 2, с которыми он столкнулся за годы работы с ним.
❤16👎2
Как сделать пиратское PassKit приложение для своей качалки
Отличная байка от Вадима Дробинина про то, как он зареверсил механизм генерации одноразовых QR-кодов для входа в тренажерку, и написал свой бэкенд на Swift и PassKit приложение, которое экономит ему 8 секунд каждый день!
Отличная байка от Вадима Дробинина про то, как он зареверсил механизм генерации одноразовых QR-кодов для входа в тренажерку, и написал свой бэкенд на Swift и PassKit приложение, которое экономит ему 8 секунд каждый день!
Vadim Drobinin - iOS Development Expert
How I accidentally became PureGym's unofficial Apple Wallet developer
Tired of fumbling with the PureGym app for 47 seconds every morning, I reverse-engineered their API to build an Apple Wallet pass that gets me in with a quick wrist scan. Along the way, I discovered their bizarre security theatre: QR codes that expire every…
🔥25❤1
Анатомия AVCaptureSession
Разбираемся, из каких элементов состоит сессия захвата камеры, как они взаимодействуют друг с другом, и какие классы за них отвечают.
Разбираемся, из каких элементов состоит сессия захвата камеры, как они взаимодействуют друг с другом, и какие классы за них отвечают.
Mfaani
High Level Anatomy of a Camera Capturing Session
I used the following tutorial series from Apple on ‘Capturing and Displaying Photos’. They’re great. Just that it took me a bit to be able to piece together how components from AVFoundation work together.
Working with AVFoundation isn’t really the kind where…
Working with AVFoundation isn’t really the kind where…
🔥16
Новый релиз Swift AWS Lambda Runtime
Недавно вышла первая бета второй версии Swift пакета для работы с AWS Lambda. По сравнению с первой версией, внутреннюю реализацию полностью переделали, и мигрировали на Swift Concurrency. Из ключевых новых фичей – background execution, streaming responses и поддержка Swift Service Lifecycle.
Недавно вышла первая бета второй версии Swift пакета для работы с AWS Lambda. По сравнению с первой версией, внутреннюю реализацию полностью переделали, и мигрировали на Swift Concurrency. Из ключевых новых фичей – background execution, streaming responses и поддержка Swift Service Lifecycle.
www.swifttoolkit.dev
What’s New in the Lambda V2 Runtime
Explore the new features: background execution, streaming responses, and more
🔥10❤1
Кэширование в GitHub Actions
Запуск билда на CI чаще всего довольно долгое занятие. Сначала пару минут загружаются Ruby гемы, затем 5 минут SwiftPM подгружает все на свете, и Xcode еще 10 минут собирает весь проект. А если вы собираете приватный репозиторий, то за каждую дополнительную минуту приходится доплачивать.
Держите инструкцию, как настроить кэширование на всех этапах сборки проекта, и в десятки раз ускорить весь пайплайн.
Запуск билда на CI чаще всего довольно долгое занятие. Сначала пару минут загружаются Ruby гемы, затем 5 минут SwiftPM подгружает все на свете, и Xcode еще 10 минут собирает весь проект. А если вы собираете приватный репозиторий, то за каждую дополнительную минуту приходится доплачивать.
Держите инструкцию, как настроить кэширование на всех этапах сборки проекта, и в десятки раз ускорить весь пайплайн.
nowham.dev
Supercharge Your GitHub Actions with Smart Caching | No-Wham Dev
Stop waiting around for builds and make your CI actually fast
👍4
Как работает ConcentricRectangle API
В iOS 26 Apple наконец-то взялись за одну из сложнейших проблем программирования – корректное скругление углов. Как результат – в SwiftUI появился новый API, который и разбирается в сегодняшней статье.
В iOS 26 Apple наконец-то взялись за одну из сложнейших проблем программирования – корректное скругление углов. Как результат – в SwiftUI появился новый API, который и разбирается в сегодняшней статье.
❤19💅12👍3🔥1
Swift Raw Identifiers
В Swift 6.2 появилась новая языковая фича, raw identifiers. В чем смысл – обычно названия переменных, функций и констант не могут начинаться с цифры, содержать пробелы и другие символы. Теперь – могут, если заключить их в кавычки.
Вот где это полезно:
👉Для понятных названий тестовых функций, заменяет аннотации
👉В enum'ах, когда вы перечисляете какие-то численные значения
В Swift 6.2 появилась новая языковая фича, raw identifiers. В чем смысл – обычно названия переменных, функций и констант не могут начинаться с цифры, содержать пробелы и другие символы. Теперь – могут, если заключить их в кавычки.
Вот где это полезно:
👉Для понятных названий тестовых функций, заменяет аннотации
👉В enum'ах, когда вы перечисляете какие-то численные значения
Use Your Loaf - iOS Development News & Tips
Swift Raw Identifiers
Swift 6.2 adds raw identifiers to the language.
💅33👍7👎4🔥2❤1
This media is not supported in your browser
VIEW IN TELEGRAM
На интервью в Apple ты щелкаешь задачи из LeetCode, а потом засовываешь в пикер времени очень длинный список чисел вместо бесконечного цикла.
💅75🔥10👎1
swift-parca – профилировщик для Server-side Swift
swift-parca – новая библиотека для continuous profiling ваших серверных приложений. В чем суть – вам не нужно заранее думать о том, чтобы начать логировать что-то в проде, все нужные события записываются автоматически, при этом практически никакого оверхеда на перфоманс это не дает.
swift-parca – новая библиотека для continuous profiling ваших серверных приложений. В чем суть – вам не нужно заранее думать о том, чтобы начать логировать что-то в проде, все нужные события записываются автоматически, при этом практически никакого оверхеда на перфоманс это не дает.
Swift Forums
Announcing swift-parca: low-overhead continuous profiling for Swift on Server
At Ordo One, we’ve been using perf_events + FlameGraph for a number of years to investigate Swift performance on Linux, but the manual sampling approach has limitations - you need to know when and what to profile, making it reactive rather than proactive.…
👍5🔥1
Поддержка Claude в Xcode
В новую бету Xcode завезли поддержку Claude (не путать с агентом Claude Code). Вы можете залогиниться в свой аккаунт Anthropic и использовать их модели во встроенном в Xcode AI Assistance.
В новую бету Xcode завезли поддержку Claude (не путать с агентом Claude Code). Вы можете залогиниться в свой аккаунт Anthropic и использовать их модели во встроенном в Xcode AI Assistance.
❤19👍9
Все про SwiftUI WebView
Как и всегда случается с новыми API, про WebView, добавленный в последней версии SwiftUI, пока нет ни нормальной документации, ни качественных семплов. Держите отличный разбор того, как правильно с ним работать, и с какими особенностями придется столкнуться.
А вот тут можно посмотреть на код.
Как и всегда случается с новыми API, про WebView, добавленный в последней версии SwiftUI, пока нет ни нормальной документации, ни качественных семплов. Держите отличный разбор того, как правильно с ним работать, и с какими особенностями придется столкнуться.
А вот тут можно посмотреть на код.
TrozWare
SwiftUI WebView - TrozWare
Crazy Mac lady. Mac author & developer. Lover of Apple computers and devices. Swift & SwiftUI enthusiast. Unofficial Mac app dev evangelist
👍13
OpenAI купил Alex Sidebar
Помните Alex Sidebar, надстройку над Xcode, которая дает Cursor-like опыт iOS разработчикам? Так вот, OpenAI купил команду, и подключает ее к разработке их агента Codex. Alex Sidebar продолжат поддерживать для существующих пользователей какое-то время, но вот новые загрузки будут отключены.
Ну что, ждем интеграцию Codex с Xcode?
Помните Alex Sidebar, надстройку над Xcode, которая дает Cursor-like опыт iOS разработчикам? Так вот, OpenAI купил команду, и подключает ее к разработке их агента Codex. Alex Sidebar продолжат поддерживать для существующих пользователей какое-то время, но вот новые загрузки будут отключены.
Ну что, ждем интеграцию Codex с Xcode?
www.alexcodes.app
Alex - Xcode AI Coding Assistant
Alex is the ultimate tool for iOS and Swift app development, empowering developers with AI for Xcode to streamline workflows, tackle complex coding challenges, and boost productivity. Discover what makes it an essential asset for modern app creation.
👍26❤5
Шейдер с эффектом стекла
Чтобы поверхность выглядела, как настоящее стекло, нужно реализовать четыре эффекта – отражение света, увеличивающая линза, тень и подсветка краев. Разбираемся, как это сделать на Metal шейдерах.
Чтобы поверхность выглядела, как настоящее стекло, нужно реализовать четыре эффекта – отражение света, увеличивающая линза, тень и подсветка краев. Разбираемся, как это сделать на Metal шейдерах.
🔥28💅7👍6
Разбираемся с Big-O нотацией
Держите простой гайд с интерактивными примерами про то, что такое Big-O нотация, и как отличаются друг от друга O(1), O(log n), O(n), O(n^2).
Держите простой гайд с интерактивными примерами про то, что такое Big-O нотация, и как отличаются друг от друга O(1), O(log n), O(n), O(n^2).
💅24🔥8❤1
Как в Duolingo используют макросы
Duolingo написано с использованием MVVM, и, как результат, там довольно много бойлерплейта. В статье они рассказывают, как перевели значимую часть этого бойлерплейта на макросы, и сократили кодовую базу на 4.5к строк, получив из минусов только дополнительные 10 секунд билдтайма.
Duolingo написано с использованием MVVM, и, как результат, там довольно много бойлерплейта. В статье они рассказывают, как перевели значимую часть этого бойлерплейта на макросы, и сократили кодовую базу на 4.5к строк, получив из минусов только дополнительные 10 секунд билдтайма.
❤16👎6👍2🔥2
AI-friendly документация Apple
Агентским IDE очень сложно обращаться к документации от Apple, потому что она не рендерится без включенного JavaScript. Держите сервис, который переводит все доки в текстовый формат, и дает удобный API, с помощью которого с ними можно работать.
Агентским IDE очень сложно обращаться к документации от Apple, потому что она не рендерится без включенного JavaScript. Держите сервис, который переводит все доки в текстовый формат, и дает удобный API, с помощью которого с ними можно работать.
👍29🔥10💅8
Релиз пакета swift-subprocess
Вышел первый релиз пакета swift-subprocess, который разрабатывался больше двух лет. В чем суть – в скриптах на Swift было очень больно работать со сторонними процессами и запускать другие CLI тулы. swift-subprocess дает API ровно для этого.
Вышел первый релиз пакета swift-subprocess, который разрабатывался больше двух лет. В чем суть – в скриптах на Swift было очень больно работать со сторонними процессами и запускать другие CLI тулы. swift-subprocess дает API ровно для этого.
2🔥46
Как WebKit переводят с C++ на Swift
WebKit – это гигантская кодовая база, целиком написанная на плюсах. Разработчики плотно занимаются вопросом memory safety, и в качестве одного из шагов переписывают части системы на Swift.
Слайды можно посмотреть тут.
WebKit – это гигантская кодовая база, целиком написанная на плюсах. Разработчики плотно занимаются вопросом memory safety, и в качестве одного из шагов переписывают части системы на Swift.
Слайды можно посмотреть тут.
YouTube
C++ Memory Safety in WebKit - Geoffrey Garen - C++Now 2025
https://www.cppnow.org
---
C++ Memory Safety in WebKit - Geoffrey Garen - C++Now 2025
---
Transitioning to memory safe programming is a requirement for modern browser engines. But… how? Is memory safety even possible in a large C++ codebase? And if so…
---
C++ Memory Safety in WebKit - Geoffrey Garen - C++Now 2025
---
Transitioning to memory safe programming is a requirement for modern browser engines. But… how? Is memory safety even possible in a large C++ codebase? And if so…
👍24❤6👎1
Вышел Swift 6.2
Самый не-неожиданный анонс этой недели – вышел стабильный релиз Swift 6.2. Ключевые фичи:
👉Упрощенная Swift Concurrency
👉Opt-in strict memory safety
👉Поддержка Wasm
👉Улучшенный перфоманс макросов
👉Улучшенный дебаг асинхронных функций
Самый не-неожиданный анонс этой недели – вышел стабильный релиз Swift 6.2. Ключевые фичи:
👉Упрощенная Swift Concurrency
👉Opt-in strict memory safety
👉Поддержка Wasm
👉Улучшенный перфоманс макросов
👉Улучшенный дебаг асинхронных функций
Swift.org
Swift 6.2 Released
We’re excited to announce Swift 6.2, a release aimed at making every Swift developer more productive, regardless of where or how you write code. From improved tooling and libraries to enhancements in concurrency and performance, Swift 6.2 delivers a broad…
1👍22