2012 - State of the art

The plan for this year is to build on my previous years knowledge whilst also focusing on new areas like Core Data and Threading (See Below). The first application of 2012 will be called “Torino”, I don’t want to be too specific about its purpose at this stage, only to say that my hope is to incorporate as much new technology into its design as possible. I have again learned a huge amount this last year and I am hoping that I can put this to good use in the coming year whilst also expanding my knowledge in areas where I am less familiar.

Core Data: allows applications running on iOS (and OSX) to efficiently store an object graph in a persistent backing store. Implemented property Core Data can reduce memory overhead, increase performance and vastly simplify the development of applications with none trivial data storage requirements.

Threading: refers to handing off sections of code to an alternate thread (effectively creating a new path of execution through the application’s code) allowing the new thread to concurrently execute code in parallel with code executing on the original main thread. Although threading does have a relatively high cost in terms of memory and performance (e.g. allocating new memory and interacting with the system kernel) it does offer a number of advantages particularly in areas where interaction and responsiveness are important as complex or time consuming tasks can be spawned off the main thread. The A5 processor (iPad2 / iPhone4S) introduced dual processor cores, along with mounting evidence that the A6 processor (iPhone5) will introduce quad cores. Adding multiple cores to a CPU effectively adds multiple independent processors, each capable of concurrently reading and executing program instructions (i.e. a thread).