Использование
GeometryReader для управления layout-разметкой может усложнить и сделать более тяжелой иерархию View. Часто, чтобы центрировать контент или задать максимальную ширину (например, для iPad), разработчики оборачивают всё в GeometryReader, вычисляют размеры — но это влияет на layout, вызывает лишние пересчёты, усложняет структуру. Правильным решением в этом кейсе является использование onGeometryChange + contentMargins (iOS 17+ с бекпортом до iOS 16)onGeometryChange даёт возможность реагировать на изменение геометрии контейнера — без необходимости оборачивать интерфейс в GeometryReadercontentMargins можно задавать отступы для scroll-контента, центрировать и ограничивать ширину — делая layout адаптивным и чистымПрактические плюсы для iOS разработчика:
Что стоит проверить прямо сейчас:
GeometryReader просто ради вычисления ширины/центрирования. Возможно, его можно заменить на onGeometryChange + contentMarginscontentMargins + ограничение max-width, чтобы красиво центрировать контент на широких экранахonGeometryChange позволяет элегантно отлавливать это и обновлять layout без лишней обёрткиPlease open Telegram to view this post
VIEW IN TELEGRAM
👍2
Вышел обновленный стендфорский курс CS193p. Это бесплатный курс посвященный разработке приложений для iOS, объясняет основы создания приложений для iPhone и iPad с помощью SwiftUI. Почему культовый? В 2012 году я сам по нему учился и всю свою карьеру встречаю множество талантлевых iOS разработчиков, которые так же начали карьеру с него. На сайте представлены материалы, которые были доступны студентам Стэнфорда - записи домашних заданий и демонстрационный код.
Пока вышли первые 6 лекций, но скоро должны появиться еще 9-10 лекций. Появилась идея сделать обзор лекций в канале @ios_broadcast, если вам такой формат интересен, ставьте 🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥42❤9
Привет, хочу поделиться классным каналом, который и сам читаю, про iOS разработку и мобильную разработку в целом.
Ребята делятся только полезными гайдами, важными статьями, примерами кода, новостями и многим другим.
👉 Подписывайтесь на @hardworkerIT
Ребята делятся только полезными гайдами, важными статьями, примерами кода, новостями и многим другим.
👉 Подписывайтесь на @hardworkerIT
❤8👍4🤔2⚡1
Обычная вводная лекция, о курсе, требования для прохождения курса и знакомство со всем необходимым набором возможностей Xcode. Самая интересная часть 1 лекции это домашнее задание, до 4 лекции от студентов Stanford требуется изучить основы Swift:
Цветовая кодировка разделов
Материалы к прочтению:
Мои хайлдайты из плана для чтения:
Разобраться в разнице между
let и varПолучил достаточно много 🔥в реакциях, так что введу разбор одной лекции в неделю. Тем кто хочет погрузиться в iOS разработку-предлагаю за эту неделю смотреть саму лекцию и задавать вопросы по домашнему заданию прямо в комментарии к посту.
#cs193p
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍7❤1
Продолжаем предновогоднюю традицию - Advent of Code.
Это адвент-календарь небольших головоломок по программированию объединенных общей историей. Я создал приватную таблицу лидеров
1538681-2a00287b, если вы тоже не хотите соревноваться со всем миром - присоединяйтесь. Первая задача появилась только что! В этом году всего 12 задач на 12 дней и отличный довод чтобы опробовать AI ассистентов и узнать, достаточно ли они уже хороши (ставлю что нет)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Статья о том, как рост и успех компании могут быть подорваны из-за неправильного подхода к оптимизации. Команда Tuist рассказывают о паттерне "Перемещение нагрузки" в системах мышления, который приводит к симптоматическому решению проблем. В статье рассматривается метрика "Пропускная способность мержа", которая сигнализирует о состоянии инженерной организации.В статье подчеркивается важность оптимизации рабочих процессов, а не только оборудования, для повышения эффективности, естественно на примере Tuist:
Merge Throughput: Ключевой показатель
Фаза 1: Одинокий волк
Фаза 2: Добавление безопасности
Фаза 3: Умножение команды
Фаза 4: Стена сложности
Фаза 5: Ловушка грубой силы
Фаза 6: Умная оптимизация
Выводы:
Вы сталкивались с подобными проблемами? Самые интересные проблемы приходят при росте 100+ разработчиков, но на этом уровне уже нужен не Tuist
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Продолжаю делиться последними хайлайтами из блога Tuist. На этот раз про интересную точку приложения AI в той области, где знаний даже у опытных разработчиков порой не хватает: Анализ логов сборки Xcode
Ключевые выводы
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
Немного базы, я сам пропагандирую схожую позицию, если копирование снижает когнитивную нагрузку и не несет рисков бизнес логике - не стоит прибегать к преждевременному рефакторингу. Дублирование не всегда является антипаттерном. Плохие абстракции и тесная связь хуже дублирования.
Классы моделей данных
Код бизнес-логики
Общие рекомендации
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6