I do not run iOS 5 and I am no developer. Yet I see some apps being updated with comments indicating iOS 5 support. How are these apps able to run on my iPhone 4 running iOS 4.3.x? Surely these apps can not be using iOS 5 API or features
They can of course support iOS 5 features. They just won't enabled them on phones running 4.x, so you won't be able to use them until you update in the autumn.
Basically when the app first loads, it detects which iOS version you run, then it loads the appropriate code. Some developers choose to no longer support previous iOS versions to reduce the necessary code, thus reducing the size and bugs, while others choose to leave in the older code.
(sighs) The same reason Leopard can run on G4 hardware and how I can trade backups between my iPhone 4, 3G and 2G. Anything not supported won't work, anything that is will.
Typically with every OS revision, new APIs are included, and some older APIs are depricated (no longer supported). Possibly they just went through their code and removed calls for the older APIs.
Typically with every OS revision, new APIs are included, and some older APIs are depricated (no longer supported). Possibly they just went through their code and removed calls for the older APIs.