How to Achieve Polished UI
<i>As careful as you may be, it’s practically impossible to write software that will remain perfectly fluid when the UI can be blocked by arbitrary processing.</i><p>Well, that&#x27;s what they did!  All UI events and layout on the original iPhone were handled on the main thread.  I doubt asynchronous layout or event handling would have improved the experience on its single-core CPU.<p>The key technical advantage the original iPhone had was Core Animation, which <i>composited</i> the laid-out views and applied animations to them in a separate process.  It ensured that all views would appear at the correct position in their animations each frame with no jitter, and kept most of the per-frame work in one place.  But the animations were all initiated on the same main application thread that handled events, performed layout, and so on.