3 ms·
> because the performant parts were written in C Objective-C is C. More specifically a strict superset of C. > Ignoring slick animations (which were written
by mpweiher 5y ago
> because the performant parts were written in C
Objective-C is C. More specifically a strict superset of C.
> Ignoring slick animations (which were written in C, if not in hand-tuned assembly)
Nope. The reason the animations were smooth (not necessarily fast) is that they were processed by the GPU and orchestrated by a separate process.
- iainmerrick 5y agoYep -- and more than that, I’d say that animation orchestration worked well because of the very elegant design that leaned on Objective-C’s strengths (like dynamic key-value observation to track animatable properties). And using reference-counting rather than garbage collection helped to minimise jankiness even on low-memory systems. I think Android in particular had a very hard time matching iOS here because Java just didn’t lend itself to that dynamic programming style, and because the GC was just inherently janky. (It’s a lot better now that hardware is vastly faster.)