Conway's Law
Закон Конуэя гласит, что архитектура пользовательских интерфейсов отражает организационную структуру.
Как это выглядит на практике легко увидеть на примере продуктов больших компаний.
Возьмём, например, AWS. С главной страницы веб интерфейса на вас смотрят более сотни иконок облачных сервисов. Ткнув любую из них, вы увидите интерфейс, в котором слева есть панелька со ссылками на функционал сервиса. Каждая веб-аппка, открывающаяся по ссылке, выглядит немного по-своему и едва умеет разговаривать с другими частями системы.
Еще 10 лет назад в каждом из этих уголков можно было найти свои паттерны, фреймворки и дублирующийся функционал.
Механизм для нивелирования этого закона — composable UI, где интерфейсы собираются на базе общей библиотеки компонентов, паттернов и переиспользуемых виджетов.
Это звучит сложно и это на самом деле сложно, но в продукте, который создают десятки тысяч инженеров, мы не выбираем между «просто» и «сложно».
Мы выбираем между «сложно для пользователя» и «сложно для нас». Правда на выходе, зачастую, получается сложно и для нас, и для пользователя.