В СБОЛе модульность появилась ещё до того как это стало мэйнстримом. Самое сложное в таком подходе – это выдержать разумную стратегию разделения проекта с учётом размеров модулей, их взаимозависимостей и дальнейшей перспективой развития/удаления/отделения функционала.
Реалии мобильной разработки говорят о том, что все Фреймворки приложения работают в едином процессе и делят общие ресурсы, ответственность на всех и каждом. Поэтому мы не можем отпустить владельцев модулей в свободное плавание, нужны стандарты, чтобы управлять энтропией.
Контроль списка фреймворков приложения обеспечивается инхаус менеджером зависимостей, конечный список того что пойдёт в приложение известен заранее и стоит под пристальным надзором, «резолвить» граф для этого не нужно
Это также избавляет нас от необходимости «умного» разрешения зависимостей, когда несколько Фреймворков требуют одну и ту же зависимость, но разных версий.
Миша Харитончик