Обновление главы "View Identity" - cердце SwiftUI
Доброго вечера, давно руки тянулись дойти до моего любимого - SwiftUI. Сегодня получилось это завершить, поэтому и представляю вниманию промежуточный патчноут, вот ссылка на обновлённую и улучшенную секцию.
Всё как обычно: первые 5 как было раньше / остальные 5 как сейчас. Эти фотографии лишь на 15-18% показывают весь контент секции "View Identity".
1. Структура и навигация
Прошлая информация могла привести к хаотичным обрывкам знаний, перескакивая с одного на другое каждую секцию, но хоть такого и было мало, теперь это полностью исключено. Появились нужные секции под это дело, и не только под исправление, но и для изучения всей темы.
Добавлено постепенное усложнение материала через серию экспериментов, чёткое разделение на тематические блоки для легкой навигации, а так же введение, для постепенного погружения.
2. Технические детали и точность
Добавил про AttributeGraph, но не детально, потому-что детально отдельная секция выше. Расписал про разницу между @StateObject и @ObservedObject в контексте identity и расписал новую главу "Жизненный цикл View и Identity"
3. Шпаргалка: выбор правильной Identity
Бывает изучил тему, понял её, а примеров не хватает, и не только здесь и сейчас для закрепления, но и для будущего, чтобы концептуально понять - что хорошо / плохо и почему.
4. Почему some View, а не View?
На самом деле это очень интересный вопрос, потому-что сам по себе `some` не такой уж и легкий, а тут бы ещё и для понимания, почему же именно some View? Когда как можно 'просто View' или же 'any View'?
Учитывая новую секцию "Система типов как основа Identity" - изучение секции "Почему some View, а не View?" будет ещё легче и при этом кросс изучение двух тем даст закрепление к каждой теме более лучше, нежели изучение каждой изолированно.
Это не означает, что нужно обязательно изучить / знать 2 темы, нет. Это означает, что ещё легче будет понять друг - друга, если прочитать первое и второе.
5. Вывод
Все секции подверглись большому обновлению, это фундаментальная и базовая информацию которую нужно уметь понимать. Можно писать приложения и экраны на SwiftUI, но если допускать фундаментальные ошибки - будет больно при увеличении кодовой базы: приложения / экрана.
И если для работы не всегда может потребоваться эта информация, то для собеседования - это настоящий маст хэв, потому-что см. абзац выше, с ув.