TGViewer
IT Makes Me Hate IT Makes Me Hate @iosmakesmehate · 4.16K subscribers
Post #3117 2.03K
Вы переоцениваете UI-архитектуры: Почему архитектуры UI временные и не так важны, как кажется

Разрабатывая приложения многие разрабы начинают с выбора архитектур UI слоя. Это ошибка.

Иногда перечитываю не полностью книги, а отдельные главы. Решил перечитать главу "UI Principle 2: UI architectures come and go" книги "Mobile System Design". Мне очень нравятся мысли и подходы книги и некоторые из них лучше переваривать порциями.

Например, я разделяю мнения, что к UI нужно подходить в конце. Сначала нужно уделить времени другим вещам. Даже автор книги подшучивает что про UI начали говорить только в середине книги.

Автор говорит:
Обычно под словом “архитектура” в мобильной разработке имеют в виду UI-архитектуру, а не архитектуру бизнес-логики (например, API, календарь и т.д.). Но если правильно спроектировать фичу, эти вопросы становятся менее важными. Мы научимся разделять UI и бизнес-логику так, чтобы можно было менять архитектуру без боли.


1️⃣ Первый принцип книги говорит: Откладывай реализацию UI

2️⃣ Второй принцип говорит: UI-архитектуры приходят и уходят

На этом этапе ты можешь задуматься:
“Какую архитектуру выбрать?”

- UIKit или SwiftUI?
- XML или Jetpack Compose?
- MVVM, MVC, MVI, Redux, TCA или вообще что-то своё?

Все эти аббревиатуры часто просто вариации одного и того же. Главное в разработке — не усложнять. Не нужна архитектура из шести букв, чтобы просто показать аватарку пользователя. Используй "модную" архитектуру только если простая не справляется.

Главная суть: Архитектуры как способ договориться внутри команды. Нет критической разницы если одна команда использует в своем модуле MVP, а другая VIPER. Ведь по сути все это одно и то же.

Автор ругает сторонние архитектурные фреймворки за частые изменения, сложность изучения новичкам, миграции в будущем (привет, TCA).

Люди пытаются проблемы процессов команды решить с помощью универсального шаблона. А ведь проблема не в архитектурах. Чаще всего любая архитектура подходит вашему проекту, просто нужно налаживать процессы:
- улучшить документацию
- добавлять примеры
- улучшать онбординг
- убирать плохие практики кодревью

Не нужно переживать, что выбрал "неправильную" архитектуру. Тренды постоянно меняются. Главное правило любой хорошей архитектуры — не усложнять и держать бизнес-логику вне UI.

Не стоит также переживать, что архитектура отличается по приложению и есть старые версии. Это нормально.

Это нормально, когда приложение состоит из разных архитектур, каждая из которых появилась в разное время. Но у них есть общее: Бизнес-логика меняется реже, чем UI.
More from @iosmakesmehate
  1. Oct 11, 2026На фоне последних событий решил изучить литературу по антикризисам и хаос инженерингу в IT…
  2. Oct 9, 2026https://yandex.ru/company/news/09-10-2026-01 В ночь с 7 на 8 октября дата-центр Яндекса в…
  3. Oct 9, 2026Эпоха огромной перестройки Последнее время все чаще задумываюсь, насколько непростой перио…
  4. Oct 8, 2026Ну тупые разрабы ща дизайнер сам все навайбкодит
  5. Oct 8, 2026но программисты будут точно в этих 5% жб рип
  6. Oct 8, 2026Глава Microsoft отменил ИИ-апокалипсис: «Через 10 лет под угрозой всего 5% рабочих мест» Н…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →