Hi,
I'm thinking of starting to build software for Apple products, specifically the iPhone.
Having built software atop several platforms in the past - Linux/Unix, Android, .Net, Win32 - I know that every platform has a certain "way" of looking at it that makes building software for it simple.
For instance, Win32 communicates with an application mainly by sending messages that are usually read in a message pump loop while .Net raises events, and Android has intents that are sent to activities and intent-receivers. These are all similar concepts, but they have subtle differences that suggest, and sometime force, different design.
If you came to building Apple based software from a different platform, what were the key concepts that you found different? How were they different from what you knew? How did it affect the design of your software?
Thanks,
Asaf