🚀 Роадмап по принципу работы тайп-чекера и планов на его улучшение в Swift
Наконец-то в одном месте появилось детальное объяснение не только существующих проблем, но и вообще того, как устроен тайп-чекер.
📖 В официальной документации появился огромный пост (за авторством Славы Пестова) о том, что проводится уже сейчас для улучшения проверки типов выражений в компиляторе.
Сюда входят изменения, которые уже были реализованы в Swift 6.2, изменения, которые находятся в мэйн-ветке, изменения, над которыми планируется работать в следующем, а также предварительные долгосрочные планы.
Речь о том самом:
Слава прошёлся и разложил по полочкам несколько важных разделов:
➡️ Про перегрузку (какие вообще варики допускает Swift)
➡️ Решение ограничений (как вообще это реализуется компилятором)
➡️ Алгоритмическая сложность
➡️ Что вообще значит reasonable time
➡️ Недопустимые выражения, режим восстановления и диагностика
➡️ Цели (и не только они)
➡️ Что уже улучшили в Swift 6.2
➡️ А что планируется в Swift 6.3
➡️ Будущие улучшения (про оптимизацию биндингов, удаление хаков производительности и многое другое)
➡️ Планы на будущее
😃 iOS Dev
Наконец-то в одном месте появилось детальное объяснение не только существующих проблем, но и вообще того, как устроен тайп-чекер.
📖 В официальной документации появился огромный пост (за авторством Славы Пестова) о том, что проводится уже сейчас для улучшения проверки типов выражений в компиляторе.
Сюда входят изменения, которые уже были реализованы в Swift 6.2, изменения, которые находятся в мэйн-ветке, изменения, над которыми планируется работать в следующем, а также предварительные долгосрочные планы.
Речь о том самом:
the compiler is unable to type-check this expression in reasonable time (тут можно чекнуть пару подходов).Слава прошёлся и разложил по полочкам несколько важных разделов:
Please open Telegram to view this post
VIEW IN TELEGRAM
7 15🔥7✍6💯4👍3 2❤🔥1👏1
Доклады с конференции Swift Connection 2025
В открытом доступе появился список докладов с парижской конференции этого года.
Среди наиболее любопытных:
📺 Что на самом деле происходит с вашим iOS-приложением во время компиляции
В этой сессии разбирают файлы .xcarchive и .ipa, чтобы показать на примерах, что Xcode делает с исходным кодом. Рассказывают и о процессе компиляции, Mach‑O, Info.plist, метаданных Obj-C/Swift и много другом.
📺 Улучшенная обработка ошибок в Swift: от Obj-C Legacy к Swift 6
Докладчик рассказывает, почему даже LocalizedError не всегда надежён, и как выглядит по-настоящему нативная обработка ошибок в Swift.
📺 Удивительный мир приватных API
В этом докладе рассказывается не только о том, как они работают, но и то, как их, например, искать и применять в Objective-C (и пытаться использовать в Swift).
📺 Создание приложений для iOS без Xcode, с использованием Cursor+Claude
В лекции можно узнать больше про Cursor, Claude Code и настроить свой проект для сборки за пределами Xcode.
➡️ Большая подборка докладов с других конференций в этом посте.
😃 iOS Dev
В открытом доступе появился список докладов с парижской конференции этого года.
Среди наиболее любопытных:
📺 Что на самом деле происходит с вашим iOS-приложением во время компиляции
В этой сессии разбирают файлы .xcarchive и .ipa, чтобы показать на примерах, что Xcode делает с исходным кодом. Рассказывают и о процессе компиляции, Mach‑O, Info.plist, метаданных Obj-C/Swift и много другом.
📺 Улучшенная обработка ошибок в Swift: от Obj-C Legacy к Swift 6
Докладчик рассказывает, почему даже LocalizedError не всегда надежён, и как выглядит по-настоящему нативная обработка ошибок в Swift.
📺 Удивительный мир приватных API
В этом докладе рассказывается не только о том, как они работают, но и то, как их, например, искать и применять в Objective-C (и пытаться использовать в Swift).
📺 Создание приложений для iOS без Xcode, с использованием Cursor+Claude
В лекции можно узнать больше про Cursor, Claude Code и настроить свой проект для сборки за пределами Xcode.
Please open Telegram to view this post
VIEW IN TELEGRAM
10 14🔥6 6✍4👍3❤🔥2💯2👏1
Интеграция функциональности камеры в SwiftUI
Хотя на SwiftUI проще создавать практически любые компоненты интерфейса, для работы с камерой требуются более низкоуровневые возможности AVFoundation.
📖 В этом материале можно посмотреть на пример решения такой задачи.
Для этого в примере используется четыре основных компонента:
😃 iOS Dev
Хотя на SwiftUI проще создавать практически любые компоненты интерфейса, для работы с камерой требуются более низкоуровневые возможности AVFoundation.
📖 В этом материале можно посмотреть на пример решения такой задачи.
Для этого в примере используется четыре основных компонента:
CameraManager, CameraPreview (для бриджа превью-слоя AVFoundation в SwiftUI через UIViewRepresentable), CameraView - для взаимодействия с камерой и PhotoView (для фотогалереи).В комментариях ниже указали на недостатки этого примера.
И справедливое уточнение, что у Apple также есть хороший пример настройки в официальной документации (кстати, они там показывают пример использования и LockedCameraCapture).
Please open Telegram to view this post
VIEW IN TELEGRAM
8 12👍6🔥5❤🔥3 2✍1