Как вы думаете отделение логики от UI сделали чтобы программисты писали логику, а дизайнеры рисовали UI?
Раньше программист не только писал программу, но и создавал UI, так было в C++ Builder, Delphi, JBuilder, Visual Basic, C#.
Но с появление Microsoft Blend, XCode начиная от версии 9, и современных MVC-фреймворков (Symfony, Zend Framework, ASP NET MVC, Laravel, итд.) программисты занимаются только кодом модель и контроллер, а дизайнеры занимаются UI. Допустим в Microsoft Blend рисуешь UI, а код программы пишишь в Microsoft Visual Studio. Такая же фигня в современном XCode (там есть вид и контроллер) и в вебе (там есть модель, вид и контроллер).
Логику нельзя ни от чего отделить. Прямая обязанность UX/UI дизайнера — это, н-р, «продать» товар или услугу через интерфейс.
Возможности создания интерфейса совершенствуются и знаний в этой области пухнут. С появлением мобильных девайсов эти возможности скакнули снова (swipe, touch ...)
Нет, просто для модальности и удобства