There are various difference between traditional Views and newly introduced Composable.
Views required XML files representing layout and in code, we'd get reference of those Views and handle user interactions or UI changes.
But in Compose, XML is no longer needed. All the UI is written in Kotlin code.
View in Compose is Function and no longer an Object.
With XML, UI changes had to be made through several steps.
First, add an event listener to a view and get user interactions from it.
Second, handle the event by changing any variable and Views that are affected by it. In this step, developer would have to find every single UI component that are being changed, which is highly error prone.
Third, save the changed variables to survive configuration changes and restore UI afterwards. When restoring UI, there are much to do as each View has to be changed manually.
On the other hand, Compose is much simpler.
Since UI is written in code, there is no need to get the reference of it every single time.
Handling user interaction also becomes easier as UI is controlled by the state, and those states are controlled by an event.