WWDC26 - Platforms State of the Union
В этом году удивляет! Мало того, что будет RAG и Температура, т.е работу с AI планируется серьзеная.
Так показали новый Xcode 27:
- Плагины место где можно будет накатить скиллы, агенты и тулзы. К примеру Гитхаб и Фигма будут уже доступны.
- Хаб для тестирования, прощай Rocket Sim? Где можно будет растянуть девайс, поменять цвета и тему и тд
- AI теперь будет сопровождать планом, как завещали лучшие LLM, ревью внутри Xcode с ароматами подпункто.
Так еще и Xcode AI теперь сможет взять и полностью протестировать: понажимать, подергать, перейти, а в конце выгрузить скриншоты и описание, что сделано!
Ну и наконец-то сломанное body в SwiftUI теперь покажет конкретное место, не прошло и 5 лет 😁🤝
Выглядит интересным 🤝
В этом году удивляет! Мало того, что будет RAG и Температура, т.е работу с AI планируется серьзеная.
Так показали новый Xcode 27:
- Плагины место где можно будет накатить скиллы, агенты и тулзы. К примеру Гитхаб и Фигма будут уже доступны.
- Хаб для тестирования, прощай Rocket Sim? Где можно будет растянуть девайс, поменять цвета и тему и тд
- AI теперь будет сопровождать планом, как завещали лучшие LLM, ревью внутри Xcode с ароматами подпункто.
Так еще и Xcode AI теперь сможет взять и полностью протестировать: понажимать, подергать, перейти, а в конце выгрузить скриншоты и описание, что сделано!
Ну и наконец-то сломанное body в SwiftUI теперь покажет конкретное место, не прошло и 5 лет 😁🤝
Выглядит интересным 🤝
❤8🔥4👍2😁2
Property Wrapper @State теперь макрос
Только-что показали, что @State стала макросом и тем самым будет доступна с ios 17.
Исправили проблему, при которой @State могла вызвать конструктор сущности несколько раз.
В отличие от @StateObject с его autoclosure, у @State отсутствовало последнее и это было неоднозначно.
В ноушене про это писал, что будьте осторожны, несет за собой сайд эффект.
Теперь еще одну неприятность убрали, отлично!
Только-что показали, что @State стала макросом и тем самым будет доступна с ios 17.
Исправили проблему, при которой @State могла вызвать конструктор сущности несколько раз.
В отличие от @StateObject с его autoclosure, у @State отсутствовало последнее и это было неоднозначно.
В ноушене про это писал, что будьте осторожны, несет за собой сайд эффект.
Теперь еще одну неприятность убрали, отлично!
🔥5❤2👍1
ForEach из SwiftUI обзовется swipe actions
Наконец-то Apple добавили поведение свайпов: влево, вправо как у List, UICollection, UITableView, Table и для ForEach элементов, примате ленивые стеки!
Жаль это все доступно только с 27 версии. Как по мне изначально должно было быт, с 13 или хотя бы 15…
Наконец-то Apple добавили поведение свайпов: влево, вправо как у List, UICollection, UITableView, Table и для ForEach элементов, примате ленивые стеки!
Жаль это все доступно только с 27 версии. Как по мне изначально должно было быт, с 13 или хотя бы 15…
❤4🔥3😁2🤯1
Реинкорнация Stack Overflow
Возможно ты видел новость, что количество вопросов на Stack Overflow упало с 200к до 3862 в месяц.
Так вот, команда не сдаётся, она адаптируется. Будут делать свой сайт "API first" для агентов.
Как это работает? Цикл из четырёх шагов:
• Сначала ищи. Независимо от того, планирует ли агент выполнение задачи, застрял ли он в процессе реализации или собирается выполнить действие, на которое модель не была обучена, он сначала запрашивает информацию в Stack Overflow for Agents, прежде чем тратить вычислительные ресурсы на повторный поиск уже известных решений. Если нужный ответ есть в корпусе, агент использует проверенный ответ и приступает к выполнению задачи.
• Нет ответа - внеси свой. Решил проблему сам? Оформляет пост. Для этого skill файл просит сначала показать черновик человеку-оркестратору на ревью.
• Проверяй чужое. Агенты и разработчики, которые пробуют решить ту же проблему после публикации, делятся информацией о том, что сработало, что пришлось изменить и при каких условиях это сработало. Именно проверка, а не создание ответов, помогает агентам заработать репутацию на Stack Overflow.
• Сигналы объединяются в консенсус. Голоса, ответы и отзывы о проверке возвращаются к исходному сообщению и накапливаются вокруг него. Платформа создана для выявления консенсуса, а не единственного канонического ответа, поэтому пользователи видят, что уже было опробовано, и сами решают, что подходит именно им.
Возможно ты видел новость, что количество вопросов на Stack Overflow упало с 200к до 3862 в месяц.
Так вот, команда не сдаётся, она адаптируется. Будут делать свой сайт "API first" для агентов.
Как это работает? Цикл из четырёх шагов:
• Сначала ищи. Независимо от того, планирует ли агент выполнение задачи, застрял ли он в процессе реализации или собирается выполнить действие, на которое модель не была обучена, он сначала запрашивает информацию в Stack Overflow for Agents, прежде чем тратить вычислительные ресурсы на повторный поиск уже известных решений. Если нужный ответ есть в корпусе, агент использует проверенный ответ и приступает к выполнению задачи.
• Нет ответа - внеси свой. Решил проблему сам? Оформляет пост. Для этого skill файл просит сначала показать черновик человеку-оркестратору на ревью.
• Проверяй чужое. Агенты и разработчики, которые пробуют решить ту же проблему после публикации, делятся информацией о том, что сработало, что пришлось изменить и при каких условиях это сработало. Именно проверка, а не создание ответов, помогает агентам заработать репутацию на Stack Overflow.
• Сигналы объединяются в консенсус. Голоса, ответы и отзывы о проверке возвращаются к исходному сообщению и накапливаются вокруг него. Платформа создана для выявления консенсуса, а не единственного канонического ответа, поэтому пользователи видят, что уже было опробовано, и сами решают, что подходит именно им.
Сейчас есть Три типа постов
1. Question. Что пробовал, что не вышло, где остался затык.
2. Today I Learned. Что сломалось, что помогло, в чём корневая причина. Самый ценный тип: фиксирует ровно то, чего не было в обучении модели.
3. Blueprint. Переиспользуемый паттерн архитектуры. Планка качества максимальная: один кривой Blueprint уведёт в сторону всех, кто строит такое же.
👍5🔥4❤2
Матрёшка из Task внутри ViewModel
Есть популярный паттерн, который выглядит знакомым многим SwiftUI разработчикам:
На первый взгляд вроде-бы всё нормально:
• ViewModel изолирована на MainActor
• UI состояние меняется безопасно
• async работа вынесена в Task
Но есть одно "но" и выглядит оно как
Проблема в том, что мы легко можем протащить через MainActor работу, которой этот актор вообще не нужен.
Например, ViewModel целиком помечена
Но как быть, если у нас ViewModel большая, скажем на 800-900 строк и одну из операций внутри неё необходимо реализовать вне текущего actor isolation?🤔
В Swift 6.2 для такого случая есть явный инструмент - атрибут @concurrent.
Что здесь происходит:
•
• Вызов публикации больше не стартует в MainActor изоляции ViewModel
• MainActor.run используется только там, где реально нужно обновить UI состояние
То есть мы не таскаем всю операцию через главный актор просто потому, что вся ViewModel помечена @MainActor. И
Эту async работу не нужно выполнять в текущей actor isolation
Тем самым ближе познакомились с достаточно частым кейсом, сейчас / в будущем, где нам может понадобиться новый атрибут! 😎️️️️️️
Вдохновился и видоизменил под +1 кейс от Unexpected Task suspension points in Swift Concurrency
Есть популярный паттерн, который выглядит знакомым многим SwiftUI разработчикам:
@MainActor
final class ArticleViewModel: ObservableObject {
@Published var isPublishing = false
func publish(_ article: Article) {
isPublishing = true
Task {
await ArticlePublisher.publish(article: article)
isPublishing = false
}
}
}
На первый взгляд вроде-бы всё нормально:
• ViewModel изолирована на MainActor
• UI состояние меняется безопасно
• async работа вынесена в Task
Но есть одно "но" и выглядит оно как
Task. Кто-то сразу прикинул:"Ага, ну тут у нас просто Task, а не Task.detached и значит мы наследуем изоляцию и замыкание Task будет изолировано на MainActor!" И будет прав, достаточно типичный пример в SwiftUI разработке.Проблема в том, что мы легко можем протащить через MainActor работу, которой этот актор вообще не нужен.
Например, ViewModel целиком помечена
@MainActor, потому что хранит UI состояние и управляет навигацией, но не каждая операция внутри такой ViewModel обязана выполняться в этой изоляции.Но как быть, если у нас ViewModel большая, скажем на 800-900 строк и одну из операций внутри неё необходимо реализовать вне текущего actor isolation?
В Swift 6.2 для такого случая есть явный инструмент - атрибут @concurrent.
Task { @concurrent in
await ArticlePublisher.publish(article: article)
await MainActor.run {
isPublishing = false
}
}
Что здесь происходит:
•
@concurrent говорит замыканию Task не наследовать текущую actor isolation• Вызов публикации больше не стартует в MainActor изоляции ViewModel
• MainActor.run используется только там, где реально нужно обновить UI состояние
То есть мы не таскаем всю операцию через главный актор просто потому, что вся ViewModel помечена @MainActor. И
@concurrent нужен как раз для случаев, когда мы хотим явно сказать:Эту async работу не нужно выполнять в текущей actor isolation
Тем самым ближе познакомились с достаточно частым кейсом, сейчас / в будущем, где нам может понадобиться новый атрибут! 😎️️️️️️
Вдохновился и видоизменил под +1 кейс от Unexpected Task suspension points in Swift Concurrency
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤5🔥5
#miniapp #обновление
Привет, в mini app обновление - расширил источник вакансий. Теперь есть небольшой количество вакансий из Linkedln, совсем немного 10-15шт удалось подтянуть.
Соверешнно бесплатно и уже доступно для каждого: @ios_roadmap_academy_2024_bot
Привет, в mini app обновление - расширил источник вакансий. Теперь есть небольшой количество вакансий из Linkedln, совсем немного 10-15шт удалось подтянуть.
Буду так же смотреть в увеличение вакансий из Linkedln + остальные источники.
Соверешнно бесплатно и уже доступно для каждого: @ios_roadmap_academy_2024_bot
🔥3👍2🤯1
Получай новые вакансии прямо в боте
Сейчас все настройки у каждого пользователя по-умолчанию выключены. Но если тебе актуален просмотр вакансий и тем-более новых, то по картинкам показал путь до включения уведомлений для новых вакансий.
Тем самым тебе от бота будет приходить каждые 2 часа при наличии новых. Если вакансий открылось несколько - будет одно смс с разделением.
При нажатии на вакансию ты по диплинку перейдешь на детальный экран. Там уже на сам сайт, либо написать заметку или добавить в избранное и т.д.
Новые вакансии - это новые в БД мини App. Так как источников несколько.
@ios_roadmap_academy_2024_bot
Сейчас все настройки у каждого пользователя по-умолчанию выключены. Но если тебе актуален просмотр вакансий и тем-более новых, то по картинкам показал путь до включения уведомлений для новых вакансий.
Тем самым тебе от бота будет приходить каждые 2 часа при наличии новых. Если вакансий открылось несколько - будет одно смс с разделением.
При нажатии на вакансию ты по диплинку перейдешь на детальный экран. Там уже на сам сайт, либо написать заметку или добавить в избранное и т.д.
Новые вакансии - это новые в БД мини App. Так как источников несколько.
• Бесплатно
• Доступно
• Легко и просто
@ios_roadmap_academy_2024_bot
🔥3❤1👍1