Можешь объяснить протокол `View` в SwiftUI, включая его роль как основного протокола для всех представлений, обязательное свойство `body` и то, как механизм diffing в SwiftUI оптимизирует обновления интерфейса? — ДейлиПреп