Что вам понравилось больше всего на WWDC (можно выбрать несколько вариантов)
Anonymous Poll
23%
Федериги за рулём болида
33%
Liquid Glass (и в целом визуальный стиль)
53%
ChatGPT в Xcode
10%
Обновлённый CarPlay
15%
Live Translation
19%
Foundation Models Framework
18%
Новый Spotlight (дополненный фичами AI)
11%
Песня про отзывы
12%
Ничего не понравилось
🔥6 6🤯5✍2❤🔥2👍2
⚡️ Все новые фреймворки iOS 26
Собрал все анонсированные фреймворки и их краткие фичи в одном посте.
🛠 AlarmKit — для создания кастомных будильников и таймеров в приложении.
🛠 AVRouting — для добавления устройств и протоколов сторонних производителей в AVRoutePickerView.
🛠 DeclaredAgeRange — для запроса возраста в приложении.
🛠 EnergyKit — для помощи использования электроэнергии (пока доступно для USA).
🛠 FinanceKitUI — стандартизированный интерфейс для взаимодействия с FinanceKit и FinanceStore.
🛠 FoundationModels — предоставляет доступ к большой языковой модели Apple на устройстве (которая в основе Apple Intelligence).
🛠 GameSave — хранение и синхронизация в iCloud.
🛠 GeoToolbox — для создания PlaceDescriptor и использование технологий Maps и картографических системах сторонних разработчиков.
🛠 IdentityDocumentServices — обмен мобильными документами с помощью API Digital Credentials.
🛠 IdentityDocumentServicesUI — содержит объекты интерфейса, которые поддерживают функции IdentityDocumentServices.
🛠 ImmersiveMediaSupport — позволяет создавать кастомные процессы для обработки Apple Immersive Video (AIV).
🛠 PermissionKit — для настройки правил учёток в iCloud.
🛠 RelevanceKit — интеллектуальное управление на устройстве с помощью контекстных подсказок (повышают видимость и на Apple Watch).
🛠 TelephonyMessagingKit — для отправки и получения сообщений через сотовые сети.
🛠 TouchControls — для интеграции сенсорного управления на экране в игры на основе Metal.
🛠 VisualIntelligence — для включения релевантного контента приложения в результаты поиска.
🛠 WiFiAware — позволяет устройствам безопасно обнаруживать и взаимодействовать с близлежащими устройствами без подключения к Интернету или точки доступа.
🛠 WirelessInsights — уведомляет ваше приложение о состоянии сети, которое может повлиять на его способность использовать данные.
📖 Для фильтрации и поиска всех фреймворков и их доступности рекомендую этот ресурс.
😃 iOS Dev
Собрал все анонсированные фреймворки и их краткие фичи в одном посте.
🛠 AlarmKit — для создания кастомных будильников и таймеров в приложении.
🛠 AVRouting — для добавления устройств и протоколов сторонних производителей в AVRoutePickerView.
🛠 DeclaredAgeRange — для запроса возраста в приложении.
🛠 EnergyKit — для помощи использования электроэнергии (пока доступно для USA).
🛠 FinanceKitUI — стандартизированный интерфейс для взаимодействия с FinanceKit и FinanceStore.
🛠 FoundationModels — предоставляет доступ к большой языковой модели Apple на устройстве (которая в основе Apple Intelligence).
🛠 GameSave — хранение и синхронизация в iCloud.
🛠 GeoToolbox — для создания PlaceDescriptor и использование технологий Maps и картографических системах сторонних разработчиков.
🛠 IdentityDocumentServices — обмен мобильными документами с помощью API Digital Credentials.
🛠 IdentityDocumentServicesUI — содержит объекты интерфейса, которые поддерживают функции IdentityDocumentServices.
🛠 ImmersiveMediaSupport — позволяет создавать кастомные процессы для обработки Apple Immersive Video (AIV).
🛠 PermissionKit — для настройки правил учёток в iCloud.
🛠 RelevanceKit — интеллектуальное управление на устройстве с помощью контекстных подсказок (повышают видимость и на Apple Watch).
🛠 TelephonyMessagingKit — для отправки и получения сообщений через сотовые сети.
🛠 TouchControls — для интеграции сенсорного управления на экране в игры на основе Metal.
🛠 VisualIntelligence — для включения релевантного контента приложения в результаты поиска.
🛠 WiFiAware — позволяет устройствам безопасно обнаруживать и взаимодействовать с близлежащими устройствами без подключения к Интернету или точки доступа.
🛠 WirelessInsights — уведомляет ваше приложение о состоянии сети, которое может повлиять на его способность использовать данные.
📖 Для фильтрации и поиска всех фреймворков и их доступности рекомендую этот ресурс.
Please open Telegram to view this post
VIEW IN TELEGRAM
12 33🔥24⚡10👍8✍3🤩2❤🔥1☃1💯1 1
@Observable
в UIKit!В новой оси UIKit может автоматически трекать изменения в данных и обновлять вью c помощью макро
@Observable
. import Observation
@Observable
class Counter {
var count: Int = 0
}
А в самом
UIViewController
можно чекать значение внутри viewWillLayoutSubviews
.class TestViewController: UIViewController {
let counter = Counter()
private let label = UILabel()
override func viewWillLayoutSubviews() {
super.viewWillLayoutSubviews()
label.text = "Read example for iOS Dev: \(counter.count)"
}
@objc private func incrementCounter() {
counter.count += 1
}
}
Так как мы читаем значение внутри
viewWillLayoutSubviews
, UIKit автоматически будет следить за ним (а вот тут есть ещё пример и для ячейки в коллекции).И хотя эта фича включена по умолчанию в iOS 26, её можно юзать и в iOS 18, добавив нужный ключ в info.plist:
UIObservationTrackingEnabled
(нужно установить в YES).А ещё добавили новый метод
updateProperties
(сработает и для UIView, и для UIViewController). Он запускается непосредственно перед layoutSubviews (но независим и позволяет заинвалидэйтить свойства без обновления лэйаута).Кроме этого, пошарили возможность добавлять badge для
UIBarButtonItem
(а не пилить собственный, что наверняка многие делали).Ещё из важного:
В релизе, следующем за iOS 26, любое приложение UIKit, созданное с помощью последней версии SDK, должно будет использовать жизненный цикл UIScene, иначе оно не запустится.
📺 Целиком сессию можно посмотреть здесь.
Please open Telegram to view this post
VIEW IN TELEGRAM
5 28🔥17✍9👍5🤯3🎉3👏1
Что под капотом в новом дизайне для UITabBar?
🤩 Seb Vidal уже покопался внутри, и выяснил, что для реализации Apple используют приватное вью
Он состоит из большого количества subviews, в которых много знакомых вещей:
А ещё очень похоже, что используется несколько
😃 iOS Dev
_UILiquidLensView
.Он состоит из большого количества subviews, в которых много знакомых вещей:
_UIPortalView
, CABackdropLayer
, CAFilter
.А ещё очень похоже, что используется несколько
CAFilter
специально для эффекта стекла, opacityPair
и displacementMap
.Please open Telegram to view this post
VIEW IN TELEGRAM
7 28🔥13👍9💯2🍓2⚡1✍1
⭐️ Apple планирует добавить Обсуждения - новый способ общения с разработчиками в реальном времени
Пол Хадсон поделился скриншотом с закрытого показа фичи, на основании которого уже сейчас можно сделать вывод, что это будет огромный шаг вперёд к открытости.
Учитывая то, что появляются дополнительные группы и обновляются команды для экосистемы в целом, можно только порадоваться (особенно вместе с новостями про опенсорс).
😃 iOS Dev
Пол Хадсон поделился скриншотом с закрытого показа фичи, на основании которого уже сейчас можно сделать вывод, что это будет огромный шаг вперёд к открытости.
Учитывая то, что появляются дополнительные группы и обновляются команды для экосистемы в целом, можно только порадоваться (особенно вместе с новостями про опенсорс).
Please open Telegram to view this post
VIEW IN TELEGRAM
7 24🔥9✍6👍2🤩2👏1💯1🏆1
Теперь при загрузке билда в стор можно будет использовать тот же номер при ошибке!
🚀 И это здорово, наверняка многие ловили ситуацию (а скорее всего, вообще все), когда вы заливали билд и по какой-то причине он фэйлился. Кроме этого, теперь можно будет на сайте посмотреть и детальное сообщение о полученной ошибке.
📺 А ещё в этой сессии:
➡️ Можно использовать apple-hosted background assets (до 200 гб).
➡️ Обратная связь с уведомлениями от юзеров в тестфлайте (доступно в приложении AppStore Connect для iOS).
➡️ Теги в AppStore (генерируются автоматически, но также будет дополнительная проверка ревью-командой, а разработчики смогут включать/выключать необходимые).
➡️ Теперь offer codes можно делать для всех типов встроенных покупок (до 10 активных офферов на каждую, максимум 1 000 000 на приложение).
➡️ Summary по отзывам (генерируются автоматически), будет доступно на странице приложения в сторе. Обновляются регулярно. Разработчики смогут оспорить в консоли, если будут не согласны с этим текстом.
➡️ В аналитике более 100 новых метрик. Редизайн, новое отображение для анализа подписок и монетизации.
😃 iOS Dev
📺 А ещё в этой сессии:
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥25 10❤🔥7✍3👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Автогенерация Playground в Xcode 26
🤩 Тестовые наборы данных также создаются автоматически.
Для того, чтобы запустить и проверить самим, обязательно нужна бетка macOS Tahoe.
😃 iOS Dev
Для того, чтобы запустить и проверить самим, обязательно нужна бетка macOS Tahoe.
Please open Telegram to view this post
VIEW IN TELEGRAM
5 30❤🔥11👍10 6🔥4🤯3💯1🤝1🆒1
Пара слов про новый фреймворк Containerization
Во-первых, эта история не для iOS-разработчиков.
Новая тулза «container» предназначена для создания и запуска Linux-контейнеров (вкратце, это легковесная виртуалка).
А анонсированный Containerization и позволит использовать эти Linux-контейнеры (в этом процессе каждый контейнер выполняется внутри собственной виртуальной машины, если вы использовали когда-нибудь докер, то поймёте, о чем речь).
Ещё раз, если вы вдруг раньше использовали Linux-виртуалку для таких процессов (раньше альтернативы не было), это вам пригодится. В ином случае смело можно пропустить эту сессию.
P.S. Надеюсь, фанаты нашего канала смогут позволить себе купить более дорогую подписку на AI-помощников, чтобы разобраться, о чём пишут. Или удалят пост как обычно.
😃 iOS Dev
Во-первых, эта история не для iOS-разработчиков.
Новая тулза «container» предназначена для создания и запуска Linux-контейнеров (вкратце, это легковесная виртуалка).
А анонсированный Containerization и позволит использовать эти Linux-контейнеры (в этом процессе каждый контейнер выполняется внутри собственной виртуальной машины, если вы использовали когда-нибудь докер, то поймёте, о чем речь).
Ещё раз, если вы вдруг раньше использовали Linux-виртуалку для таких процессов (раньше альтернативы не было), это вам пригодится. В ином случае смело можно пропустить эту сессию.
P.S. Надеюсь, фанаты нашего канала смогут позволить себе купить более дорогую подписку на AI-помощников, чтобы разобраться, о чём пишут. Или удалят пост как обычно.
Please open Telegram to view this post
VIEW IN TELEGRAM
88🔥21 12❤🔥9⚡2👍2👏2✍1🤩1
Использование памяти в Swift 6.2 и возможности для повышения производительности
📺 Одна из самых полезных сессий WWDC25, в которой есть несколько важных моментов.
➡️ Cпецификация и пример парсера для QOI (относительного нового формата, придуманного Dominic Szablewski несколько лет назад).
➡️ Примеры работы с инструментами (Allocations и Time Profiler).
➡️ Stack vs Heap (и новый InlineArray).
➡️ Что таят в себе unsafe pointers.
➡️ Новая группа типов Span (в Swift 6.2) и как они помогут писать более безопасный код, чем позволяют указатели.
И, как говорится, one more thing!
🥳 Выкатили в открытый доступ Swift Binary Parsing — либу для создания безопасных и эффективных бинарных парсеров на Swift.
😃 iOS Dev
📺 Одна из самых полезных сессий WWDC25, в которой есть несколько важных моментов.
И, как говорится, one more thing!
Please open Telegram to view this post
VIEW IN TELEGRAM
8 17🔥13👍10✍3👏1
Новый инструмент для оптимизации SwiftUI-приложений на WWDC25
Джед из команды Instruments и Стивен из команды Apple Music рассказали про обновлённые Instruments, а также про полезный способ для профилирования SwiftUI-проектов.
С его помощью можно упростить поиск узких мест в приложении, среди которых долгие (и лишние) обновления view, которые могут вызывать краши, зависания, лаги анимации и переходов, а также задержку при скролле.
📺 В этой сессии можно посмотреть, как на примере реального приложения можно устранить эти проблемы с помощью нового инструмента SwiftUI, Time Profiler (а также Hangs и Hitches).
Умение пользоваться инструментами и понимание, для чего нужен каждый из них не просто полезный скилл, это фактор, который поможет создавать действительно быстрые и отзывчивые приложения.
Что ещё может быть полезно?
🛠 Analyze hangs with Instruments (c WWDC23).
🛠 Optimize CPU performance with Instruments (новое видео на WWDC25).
🛠 Исследование причин зависаний приложений — серия уроков от Apple
А большой разбор возможных кейсов при проблемах с производительностью (и способов предотвращения такого поведения есть💰 тут и ⭐️ прямо здесь).
😃 iOS Dev
Джед из команды Instruments и Стивен из команды Apple Music рассказали про обновлённые Instruments, а также про полезный способ для профилирования SwiftUI-проектов.
С его помощью можно упростить поиск узких мест в приложении, среди которых долгие (и лишние) обновления view, которые могут вызывать краши, зависания, лаги анимации и переходов, а также задержку при скролле.
📺 В этой сессии можно посмотреть, как на примере реального приложения можно устранить эти проблемы с помощью нового инструмента SwiftUI, Time Profiler (а также Hangs и Hitches).
Умение пользоваться инструментами и понимание, для чего нужен каждый из них не просто полезный скилл, это фактор, который поможет создавать действительно быстрые и отзывчивые приложения.
Что ещё может быть полезно?
🛠 Analyze hangs with Instruments (c WWDC23).
🛠 Optimize CPU performance with Instruments (новое видео на WWDC25).
🛠 Исследование причин зависаний приложений — серия уроков от Apple
А большой разбор возможных кейсов при проблемах с производительностью (и способов предотвращения такого поведения есть
Please open Telegram to view this post
VIEW IN TELEGRAM
9🔥20 9✍6❤🔥4👍1 1
Hidden gem для скруглений элементов в новом API — containerConcentric
Бывает множество ситуаций, в которых хочется реализовать cornerRadius в зависимости от формы девайса - начиная от модальных вьюх и заканчивая обычными кнопками, чаще снизу (уверен, что на многих проектах дизайнеры и вас просили придумать способ для таких скруглений).
Так вот - в этой сессии рассказали, что такой способ появится!
🤩 Если использовать
Получается, от приватного апи и лишнего кода для девайсов наконец можно будет избавиться.
Лучший способ применения нового API — тулбары, панель поиска и другие контролы.
😃 iOS Dev
Бывает множество ситуаций, в которых хочется реализовать cornerRadius в зависимости от формы девайса - начиная от модальных вьюх и заканчивая обычными кнопками, чаще снизу (уверен, что на многих проектах дизайнеры и вас просили придумать способ для таких скруглений).
Так вот - в этой сессии рассказали, что такой способ появится!
containerConcentric
, то скругление будет автоматически соответствовать контейнеру на разных дисплеях и в разных формах окон. Получается, от приватного апи и лишнего кода для девайсов наконец можно будет избавиться.
Лучший способ применения нового API — тулбары, панель поиска и другие контролы.
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥38 11👍9🤩2 2👏1
This media is not supported in your browser
VIEW IN TELEGRAM
Алгоритмы обработки видео в iOS 26
Одна из задач на моей работе — это интеграция и поддержка аудио и видеозвонков (p2p и конференций в том числе). Вообще, в этом моя команда прошла довольно большой путь, в том числе пробуя и PJSIP, и решения вроде LiveKit. А про CallKit, например, делился и реальными кейсами. К слову, в рамках теста и поддержки разных алгоритмов, я даже как-то влетел в призы в одном из конкурсов.
Было интересно последить за теми шагами, которые Apple предпринимает в улучшении работы с передачей видео (и добавлении эффектов).
Например, VTFrameProcessor, изначально доступный только в macOS 15.4, теперь появится и в iOS 26.
Но самое интересное для меня в новой сессии - улучшение поддержки передачи видео с низкой скоростью соединения. Появился способ, в котором можно повышать качество видоса в таких условиях с помощью VTLowLatencySuperResolutionScalerConfiguration (не мог не вспомнить мем из CSI).
📺 Рекомендую посмотреть эту сессию всем командам, которые реализуют видеозвонки (и в целом работают с видеоэффектами).
И сразу целых три (!) тестовых проекта (нужна бета оси и Xcode):
➡️ Работа с видео для low-latency конференций
➡️ Лайстрим видео и настройка сессии
➡️ Настройте процесса сжатия
😃 iOS Dev
Одна из задач на моей работе — это интеграция и поддержка аудио и видеозвонков (p2p и конференций в том числе). Вообще, в этом моя команда прошла довольно большой путь, в том числе пробуя и PJSIP, и решения вроде LiveKit. А про CallKit, например, делился и реальными кейсами. К слову, в рамках теста и поддержки разных алгоритмов, я даже как-то влетел в призы в одном из конкурсов.
Было интересно последить за теми шагами, которые Apple предпринимает в улучшении работы с передачей видео (и добавлении эффектов).
Например, VTFrameProcessor, изначально доступный только в macOS 15.4, теперь появится и в iOS 26.
Но самое интересное для меня в новой сессии - улучшение поддержки передачи видео с низкой скоростью соединения. Появился способ, в котором можно повышать качество видоса в таких условиях с помощью VTLowLatencySuperResolutionScalerConfiguration (не мог не вспомнить мем из CSI).
📺 Рекомендую посмотреть эту сессию всем командам, которые реализуют видеозвонки (и в целом работают с видеоэффектами).
И сразу целых три (!) тестовых проекта (нужна бета оси и Xcode):
Please open Telegram to view this post
VIEW IN TELEGRAM
22🔥19 11👍7⚡3✍2❤🔥2 2💯1
This media is not supported in your browser
VIEW IN TELEGRAM
Элегантное решение для растягивающегося заголовка в SwiftUI
Один из наиболее эффектно выглядящих и несложных в реализации элементов — сохранять позицию вью при скролле (чаще всего вместе с масштабированием).
📖 В этом способе, предложенном Натальей Парфёновой используется модификатор visualEffect (доступен с iOS 17).
Пример использования:
К слову, вот в этом проекте можно чекнуть и другие эффекты при скролле (+ работу с цветами, переходами и не только с помощью шейдеров и рендеринга текста).
😃 iOS Dev
Один из наиболее эффектно выглядящих и несложных в реализации элементов — сохранять позицию вью при скролле (чаще всего вместе с масштабированием).
📖 В этом способе, предложенном Натальей Парфёновой используется модификатор visualEffect (доступен с iOS 17).
Пример использования:
extension View {
func stretchy() -> some View {
visualEffect { effect, geometry in
let currentHeight = geometry.size.height
let scrollOffset = geometry.frame(in: .scrollView).minY
let positiveOffset = max(0, scrollOffset)
let newHeight = currentHeight + positiveOffset
let scaleFactor = newHeight / currentHeight
return effect.scaleEffect(
x: scaleFactor, y: scaleFactor,
anchor: .bottom
)
}
}
}
К слову, вот в этом проекте можно чекнуть и другие эффекты при скролле (+ работу с цветами, переходами и не только с помощью шейдеров и рендеринга текста).
Please open Telegram to view this post
VIEW IN TELEGRAM
13 39👍22🔥12✍6❤🔥5
От массивных SwiftUI-view к переиспользуемым компонентам: рут-подход к MVVM для модульных интерфейсов
📖 В этой статье Маттео Манфердини делится своим взглядом на массивные вью (и почему они являются проблемой).
1️⃣ Почему это причина многих архитектурных проблем.
2️⃣ Создание модульных (и переиспользуемых) вью.
3️⃣ Почему content-вьюхи должны быть связаны только с пользовательским интерфейсом приложения.
Здесь, кстати, автор рассматривает популярное заблуждение с его стороны:
Многие разработчики ошибочно полагают, что MVVM добавляет слишком много бойлерплейт-кода, так как считают что абсолютно для каждой вью должна быть своя viewmodel. Маттео добавляет, что viewmodel должна быть только у корневой вью.
4️⃣ Рут-вью как мост между контент-вьюхами и нижними слоями архитектуры приложения.
😃 iOS Dev
📖 В этой статье Маттео Манфердини делится своим взглядом на массивные вью (и почему они являются проблемой).
1️⃣ Почему это причина многих архитектурных проблем.
2️⃣ Создание модульных (и переиспользуемых) вью.
3️⃣ Почему content-вьюхи должны быть связаны только с пользовательским интерфейсом приложения.
Здесь, кстати, автор рассматривает популярное заблуждение с его стороны:
Многие разработчики ошибочно полагают, что MVVM добавляет слишком много бойлерплейт-кода, так как считают что абсолютно для каждой вью должна быть своя viewmodel. Маттео добавляет, что viewmodel должна быть только у корневой вью.
4️⃣ Рут-вью как мост между контент-вьюхами и нижними слоями архитектуры приложения.
Please open Telegram to view this post
VIEW IN TELEGRAM
8 15✍9👍9❤🔥4🔥2💯1
Универсальное руководство по использованию Foundation Models Framework
Foundation Models позволяет нам использовать мощные возможности генеративного ИИ на девайсах, включая понимание естественного языка, создание контента и многое другое, сохраняя при этом конфиденциальность и производительность благодаря работе исключительно на устройстве.
📖 В своём блоге Азам уже начал работу над изучением и поделился своим взглядом на основные концепции. Конечно же, статья будет дополняться, но уже сейчас можно посмотреть на базовые шаги по настройке.
Логически материал разделён на несколько блоков:
🔘 Требования
🔘 Управляемая генерация
🔘 Добавление Foundation Models в приложение на SwiftUI
🔘 Инструменты
🔘 Работа с сохранением ответов (без повторной генерации)
🔘 Производительность
Кроме этого, уже сейчас есть репа с примерами кода:
🛠 Генерация Summary для длинного текста
🛠 Планировщик поездок
🛠 Генератор шуток
🛠Создание рецептов с учётом ингредиентов
Напомню, что для теста нужна Tahoe, Xcode 26 и Apple Silicon.
😃 iOS Dev
Foundation Models позволяет нам использовать мощные возможности генеративного ИИ на девайсах, включая понимание естественного языка, создание контента и многое другое, сохраняя при этом конфиденциальность и производительность благодаря работе исключительно на устройстве.
📖 В своём блоге Азам уже начал работу над изучением и поделился своим взглядом на основные концепции. Конечно же, статья будет дополняться, но уже сейчас можно посмотреть на базовые шаги по настройке.
Логически материал разделён на несколько блоков:
Кроме этого, уже сейчас есть репа с примерами кода:
🛠 Генерация Summary для длинного текста
🛠 Планировщик поездок
🛠 Генератор шуток
🛠Создание рецептов с учётом ингредиентов
Напомню, что для теста нужна Tahoe, Xcode 26 и Apple Silicon.
Please open Telegram to view this post
VIEW IN TELEGRAM
7 13🔥10❤🔥6✍2👍1💯1😎1
Почему люди глупеют при использовании ИИ
Прочитал масштабную работу исследователей из MIT, посвященную важному эксперименту.
Ввводные данные: три группы людей, в которых писали эссе на разные темы. Первая юзала ChatGPT, вторая - поисковики, третья - решала самостоятельно.
У всех чекали активность мозговой деятельности в процессе.
🔘 Те, кто использовал ChatGPT - хуже всего вспоминали, о чём писали даже несколько минут назад. 80% не привели ни одной цитаты даже после первого эссе.
🔘 Стиль становился все более однобоким, критический подход применялся все меньше, и в итоге текст превращался буквально в одно и то же.
🔘 Даже после того, как просили перестать юзать ИИ-помощника - испытуемые все равно уступали другим группам по активности мозговой деятельности.
Кроме этого, была и побочка: люди перестали выходить за пределы тех советов, которых им предлагал бот.
Вопрос мышления, инноваций и подходов к нашей работе подвережен тем же проблемам. Важно изучать проблему с разных сторон, следить за тем, как ещё можно решить поставленную задачу.
Например, решая алгоритмические задачи, иногда достаточно интуитивного решения (не самого оптимального по скорости), прежде чем искать подсказки где-то ещё.
Пару дней назад глава Сбера произнёс важную мысль:
«Проблема в том, как бы нам не разучиться думать и как нам перестроить процесс образования так, чтобы дети не разучились считать, писать и решать элементарные задачки.»
Я писал про это полтора года назад и совсем недавно.
Пожалуйста, не верьте слепо всему, что видите. Всегда сохраняйте ясность мышления, как бы сложно это не было. Мы уже находимся в новой реальности, в которой ИИ будет так или иначе рядом (или буквально в качестве агентов), но несмотря на это всё также будет цениться инженерное мышление и способность сохранять ясность ума даже когда из каждого утюга говорят, что ИИ - серебряная пуля.
😃 iOS Dev
Прочитал масштабную работу исследователей из MIT, посвященную важному эксперименту.
Ввводные данные: три группы людей, в которых писали эссе на разные темы. Первая юзала ChatGPT, вторая - поисковики, третья - решала самостоятельно.
У всех чекали активность мозговой деятельности в процессе.
Кроме этого, была и побочка: люди перестали выходить за пределы тех советов, которых им предлагал бот.
Вопрос мышления, инноваций и подходов к нашей работе подвережен тем же проблемам. Важно изучать проблему с разных сторон, следить за тем, как ещё можно решить поставленную задачу.
Например, решая алгоритмические задачи, иногда достаточно интуитивного решения (не самого оптимального по скорости), прежде чем искать подсказки где-то ещё.
Пару дней назад глава Сбера произнёс важную мысль:
«Проблема в том, как бы нам не разучиться думать и как нам перестроить процесс образования так, чтобы дети не разучились считать, писать и решать элементарные задачки.»
Я писал про это полтора года назад и совсем недавно.
Пожалуйста, не верьте слепо всему, что видите. Всегда сохраняйте ясность мышления, как бы сложно это не было. Мы уже находимся в новой реальности, в которой ИИ будет так или иначе рядом (или буквально в качестве агентов), но несмотря на это всё также будет цениться инженерное мышление и способность сохранять ясность ума даже когда из каждого утюга говорят, что ИИ - серебряная пуля.
Please open Telegram to view this post
VIEW IN TELEGRAM
23❤🔥29💯18⚡6👍4🔥3🏆3🫡2 2 1
Как выиграть Apple Design Award: Any Distance теперь опенсорс
Приложение Any Distance изначально было создано с целью поделиться красивыми графиками своих тренировок в социальных сетях. В итоге она превратилась в венчурный стартап, нацеленный на свержение Strava. И хотя этого не случилось, в 2023 году оно получило награду за оформление и графику.
📖 Daniel Kuntz пишет, почему оно в итоге стало опенсорсным (вкратце делится ошибками стартапа и недостатком сбора средств на развитие).
А ещё высказывается о том, что в SwiftIUI не так много полезных примеров в доках:
Даниэль также рассказывает, что потратил много времени на эксперименты с Metal, прежде чем получилось такое красивое (и производительное) приложение.
🛠 Фактически, это супер-эксклюзив на GitHub.
✅ Напомню, что целую серию экспериментов с Metal и многое другое можно найти 💰 в бусти и ⭐️ прямо здесь.
😃 iOS Dev
Приложение Any Distance изначально было создано с целью поделиться красивыми графиками своих тренировок в социальных сетях. В итоге она превратилась в венчурный стартап, нацеленный на свержение Strava. И хотя этого не случилось, в 2023 году оно получило награду за оформление и графику.
📖 Daniel Kuntz пишет, почему оно в итоге стало опенсорсным (вкратце делится ошибками стартапа и недостатком сбора средств на развитие).
А ещё высказывается о том, что в SwiftIUI не так много полезных примеров в доках:
Apple покажет вам 100 способов составить простой TODO-лист, который компилятор едва ли сможет проверить за разумное время, но если вы захотите что-то более сложное, то дальше вы сами. А поскольку в SwiftUI мало кода в примерах, LLM не могут быть очень полезны за пределами шаблонов.
Даниэль также рассказывает, что потратил много времени на эксперименты с Metal, прежде чем получилось такое красивое (и производительное) приложение.
🛠 Фактически, это супер-эксклюзив на GitHub.
Please open Telegram to view this post
VIEW IN TELEGRAM
7👏17 10❤🔥7👍4🔥3🤩1🏆1
Обзорный пост по WWDC25 (Swift, Память, Инструменты), включая полезные ссылки и инструменты
За последние пару недель в канале было множество постов и разборов самых интересных моментов с прошедшей конференции. По традиции я подготовил обзорный пост с лучшими и самыми интересными сессиями на мой взгляд. А также дополнил его полезными материалами и тулзами.
📼 Использование памяти в Swift 6.2 и возможности для повышения производительности
📼 Новый инструмент для оптимизации SwiftUI-приложений на WWDC25
📼 Что нового в Swift?
📼 Повышение качества приложения с помощью concurrency в Swift
📼 Что изменилось в Xcode 26?
📼 Все изменения в UIKit
📼Про конфиденциальность и защиту данных
📼 Разбор нового фреймворка Foundation Models
➡️ А ещё есть ресурс, на котором можно попробовать поискать интересующий контент на WWDC по ключевым запросам.
А если вам понравилось WWDC (трансляция, анонсы и разборы), то вы можете:
❤️🔥Поставить лайк •🚀 Дать буст • ✅ Подписаться на закрытую базу.
➡️ Подборка лучших сессий с WWDC 24
➡️ Подборка лучших сессий с WWDC 23
😃 iOS Dev
За последние пару недель в канале было множество постов и разборов самых интересных моментов с прошедшей конференции. По традиции я подготовил обзорный пост с лучшими и самыми интересными сессиями на мой взгляд. А также дополнил его полезными материалами и тулзами.
📼 Использование памяти в Swift 6.2 и возможности для повышения производительности
Про Stack, Heap, InlineArray и опасности unsafe pointers. Кстати, огромная подборка материалов, вопросов и разборов кейсов, связанных с памятью есть тут.
📼 Новый инструмент для оптимизации SwiftUI-приложений на WWDC25
В этой сессии можно посмотреть, как на примере реального приложения можно устранить эти проблемы с помощью нового инструмента SwiftUI, Time Profiler (а также Hangs и Hitches).
📼 Что нового в Swift?
Рассказывают про новые возможности языка, позволяющие улучшить подход к параллелизму и добиться максимальной производительности, когда это необходимо.
📼 Повышение качества приложения с помощью concurrency в Swift
О распараллеливании кода, разбор и фикс ошибок, связанных с гонками данных.
📼 Что изменилось в Xcode 26?
Можно узнать, как использовать LLM в процессе разработки. А также ознакомиться с улучшениями в редактировании и отладке, улучшенной производительностью и инструментами тестирования, а также с Swift Build - движком системы сборки с открытым исходным кодом, используемым в Xcode.
📼 Все изменения в UIKit
Обзор всех новых API. А про @Observable с примерами в UIKit можно почитать вот тут.
📼Про конфиденциальность и защиту данных
В этой сессии рассмотрены различные атаки, их влияние на существующие криптографические протоколы и способы защиты от них с помощью квантово-безопасной криптографии.
📼 Разбор нового фреймворка Foundation Models
Про использование Apple Intelligence на устройстве. Этот обзор охватывает буквально все шани: от создания структур данных на языке Swift до вызова инструментов для интеграции источников данных и сессий для управления контекстом.
А вот тут есть репозиторий с уже готовыми примерами.
А если вам понравилось WWDC (трансляция, анонсы и разборы), то вы можете:
❤️🔥Поставить лайк •
Please open Telegram to view this post
VIEW IN TELEGRAM
24🔥23 10✍6❤🔥2💯2👍1👏1👌1
FaultOrdering — опенсорсный инструмент от Emerge tools для ускорения запуска iOS-приложения
Emerge Tools (которые недавно стали частью Sentry), вновь вернулись к интересной и сложной теме.
Первый совместный релиз с Sentry — это шаринг тулзы для генерации файлов порядка (order file).
В своей статье разработчики пишут, что и Spotify, и Snapchat, и AriBnb - все юзают ордер-файлы в своих приложениях.
Такие файлы нужны, чтобы указать линкеру инструкции, как сгруппировать критически важные для запуска символы.
По факту же просто текстовый файл, содержащий по одной строке на каждый символ в приложении. Например, файл порядка приложения Emerge Tools HackerNews содержит такие строки, как:
В примере выше символы для Objective-C, C и Swift-кода, используемого во время запуска приложения. Соответственно, при увеличении количества отслеживаемых символов будет сокращаться время запуска приложения при использовании такого файла.
📖 В этом материале можно почитать, как FaultOrdering генерит такие файлы.
🛠 А вот тут можно чекнуть сам репозиторий.
Emerge Tools на вопрос самого профита по ускорению отвечают не совсем точно, но на практике они наблюдали, как время запуска приложений сокращалось на 20 %.
Напишите, используете ли вы такие методы для ускорения запуска. Или может знаете способы попроще?
😃 iOS Dev
Emerge Tools (которые недавно стали частью Sentry), вновь вернулись к интересной и сложной теме.
Первый совместный релиз с Sentry — это шаринг тулзы для генерации файлов порядка (order file).
В своей статье разработчики пишут, что и Spotify, и Snapchat, и AriBnb - все юзают ордер-файлы в своих приложениях.
Такие файлы нужны, чтобы указать линкеру инструкции, как сгруппировать критически важные для запуска символы.
По факту же просто текстовый файл, содержащий по одной строке на каждый символ в приложении. Например, файл порядка приложения Emerge Tools HackerNews содержит такие строки, как:
+[SentryAppStartTracker load]
+[SentryCrashDefaultMachineContextWrapper load]
_main
_$s10HackerNews0aB3AppVAC7SwiftUI0C0AAWl
_$s10HackerNews0aB3AppV7SwiftUI0C0AadEPxycfCTW
_$s10HackerNews0aB3AppVACycfCTf4d_n
В примере выше символы для Objective-C, C и Swift-кода, используемого во время запуска приложения. Соответственно, при увеличении количества отслеживаемых символов будет сокращаться время запуска приложения при использовании такого файла.
📖 В этом материале можно почитать, как FaultOrdering генерит такие файлы.
🛠 А вот тут можно чекнуть сам репозиторий.
Emerge Tools на вопрос самого профита по ускорению отвечают не совсем точно, но на практике они наблюдали, как время запуска приложений сокращалось на 20 %.
Напишите, используете ли вы такие методы для ускорения запуска. Или может знаете способы попроще?
Please open Telegram to view this post
VIEW IN TELEGRAM
6 9👍6🤯6💯3✍2❤🔥2🔥2👏1