Экспериментальная рубрика про проекты из реальной жизни. Долго думал, стоит ли делиться не iOS темами в канале и решил делиться с вами тем что связано с инженерией и программированием. Сегодня хочу поделиться первым опытом взаимодействия с набором для робототехники. Изначально это проект Lego, я купил аналог, который совместим с оригинальным ПО. Суть проекта была найти общее хобби с ребенком 6 лет. Я сам люблю программирование и конструкторы, а дочь хотела пойти на кружок робототехники. Мой опыт:
Как вам подобная рубрика? 👍 / 🤔
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24❤5🔥1🤔1
По мере роста проектов SwiftUI элементы View становятся длинными и сложными. Простой экран быстро превращается в десятки вложенных VStack, HStack и пользовательских модификаторов.
Искушение: extension-ы и вычисляемые свойства
Альтернативный подход: извлечение и повторное использование
Эмпирическое правило для хорошей архитектуры SwiftUI:
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍6
Интересная особенность работы taskGroup которая не вызывает удивления если уже знаешь о ней, но может привести к неожиданным результатам, если написать похожий код не сильно задумавшись. Суть особенности отлично представлена в примере:
withTaskGroup, метод fetchData заменяет сетевой запрос случайной длительностиfetchDatafetchData cсобираются в итоговый массив resultsresults в том порядке, в котором они были возвращены задачами, а не в том порядке, в котором они были созданыВ целом, не на столько важно сохранять исходный порядок, важно понимать что порядок будет случайным и не стоит надеяться на сохранение исходного порядка.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Несмотря на то что я чаще привожу примеры статей про Swift Concurrency, в сердечке все равно Combine. И вот отличная статья для всех, кто еще не использует Combine и сомневается в его полезности.
@Published, @ObservedObject, @StateObject, .onReceive(_:) и @EnvironmentObjectПрелесть
Combine в том, что его можно объяснить объяснить за несколько часов, за несколько дней по-настоящему освоить и больше никогда не быть прежнимPlease open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2❤1👍1🤔1
Давайте разберемся, что же нам представили. Swift продолжает выходить за пределы Apple-экосистемы: представлена Nightly Preview версии SDK для Android.
Как это работает:
Текущие проблемы:
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍1🔥1
Новый язык дизайна Apple - светящийся, анимированный эффект обводки для выделения форм и компонентов. Если вы захотите внедрить подобный эффект для индикации работы AI - можно взять готовое расширение SwiftUI и применить этот эффект.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤2
Проблем, не много:
Заметели какие-то особенности?
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
Известные проблемы
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Итоги розыгрыша - 06 ноября
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍2
С выходом iOS 17 и новых версий SwiftUI Apple представила протокол
TextRenderer — инструмент, который даёт полный контроль над отрисовкой текста: от линий и слов до отдельных глифов.Теперь текст можно анимировать, трансформировать и буквально «оживлять».
Ограниченные возможности стандартного
Text.font(), .foregroundStyle(), .kerning(), без доступа к самому процессу отрисовки.Использование TextRenderer
draw(layout:in:), который позволяет работать напрямую с каждой строкой, глифом или атрибутом.Animatable для создания динамических эффектов (например, пульсации текста).TextAttribute можно задавать разные визуальные эффекты для отдельных частей текста — слово или даже буква могут «жить» отдельно.Практические идеи:
TextRenderer превращает текст в полноценный графический объект SwiftUI.
Теперь дизайнерская выразительность и контроль за рендерингом текста доступны без выхода из декларативной модели SwiftUI.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6
iOS Broadcast
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1