←back to thread

168 points pabs3 | 1 comments | | HN request time: 0s | source
Show context
sanskarix ◴[] No.45756787[source]
This kind of thing is how you actually learn what's under the hood. Everyone's building with React Native and Flutter, which is fine until something breaks. Then you're stuck Googling black magic. Starting from assembly teaches you the real cost of abstraction.
replies(8): >>45757063 #>>45757628 #>>45758058 #>>45758840 #>>45758893 #>>45759007 #>>45760502 #>>45761692 #
internetter ◴[] No.45757063[source]
Is this really low level though? Because its hooking UIKit which is very high level relative to ASM. I'd be really curious to see an app draw on iOS without UIKit. I don't know if thats possible.
replies(4): >>45757231 #>>45757464 #>>45757623 #>>45758326 #
1. fingerlocks ◴[] No.45758326[source]
You can write directly to the frame buffer, like a video game. You still need the UIKit import to publish, because it has to be bundled into a .ipa which requires an AppDelegate, a UIBundle, among other things.

If you want to “technically” avoid UIKit, you can drop one step lower. UIKit is implemented on CoreAnimation. A bare UIView is nearly a pass through wrapper around CALayer. It wouldn’t be hard to build your own custom UI on CALayers. The old CA tutorials for implementing a ScrollView from the ground up are still floating around out there.