Intro to iPhone Development
Today our .NET/Mobile Team Leader, Sam Ritchie, presented a session in Spacecubed’s Lunchtime Learning series, entitled ‘Introduction to iPhone App Development’. About 15 people attended and heard Sam impart some of his iPhone development experience, focusing on areas of the platform most likely to trip up or confuse newcomers.
||Sam Ritchie presenting at Spacecubed
Some of the common pitfalls/roadblocks that Sam covered that we find are most likely to confront developers switching to the iOS platform are:
Interface Builder (GUI Design)
This is done quite differently to other visual UI design tools in that it’s not a code generator. That makes it a little more involved to configure the communication back to your code, but unfortunately the mechanism for making these connections is a little non-intuitive. We do hear about people who give up on IB and end up writing their entire app user interface in code — this is the hard way to do it!
Manual Memory Management
Developers used to a modern, managed platform like .NET or Java can experience a bit of culture shock when plunged back into the world of allocating and freeing their own memory. Thankfully iOS 6 introduced a technology called ARC which makes this much easier to swallow, but you can (and almost certainly will) run into the problem of needing to combine ARC & non-ARC code in your project.
Code-Signing & App Distribution
There are a lot of moving parts in the process of code-signing an app and getting it to run on test devices, and there aren’t a lot of resources around that communicate these very well. Sam went through the options and explained that a typical app will require at least two certificates and three provisioning profiles.
The Objective-C Syntax
Objective-C is often cited as one of the reasons iOS is seen as having a high learning curve, however, it’s not a complex language and most experienced developers don’t have trouble picking it up in a week or two. The syntax can be a bit confronting for people used to Java or C#, though – method naming, object pointers, and copious square brackets being some of the most obvious differences.
Feedback from the attendees was positive, and we’ll look at scheduling more of these technical sessions in the future. Download the slides form the presentation here.
Back to blog post list Enquire now