For a change, this month’s LFPUG didn’t actually feature any Flash. Instead, we were presented with an introduction to iPhone application development with two single-hour talks delving into developing with Objective-C and the Cocoa Touch environment, but all specifically tailored to take an approach designed for a Web developer’s perspective.
I really don’t know how I feel about iPhone development, as a Flash developer, anyway. There’s been a lot of ‘iPhone for Flash developers’ or ‘Actionscript for the iPhone’ or similarly titled tutorials spring up around the Web lately, which I guess have come about on the back of the over night success stories from applications booming in popularity and the ease with which the App Store lets a small dev team get equal distribution and visibility of their application. But why Actionscript?
The profitability is understandable, I just think it’s strange that specifically Flash developers assume that iPhone development is something they can or should be laying claim to, that it’s something within their domain or their right to be creating these apps? It’s gotten to the point where a Flash platform meeting is hijacked (hijacked isn’t the right word, it wasn’t unwelcome and it drew the biggest turn out I’ve ever seen) – is it selfish (?) that there’s such a demand for tutorials to be made easily digestible for them, when traditionally any other kind of development is usually approached by everyone else peaking in?
I’m not sure, I can’t decide. Maybe it’s more honest – that instead, for example, it’s the look and feel, the slick presentation layer and the interactivity of the interface that’s so attractive (it’s Flash-like) – and a lot of people do start playing with Flash because it looks good. Flash is inherently a visual platform. Maybe Flash just is the closest platform and Flash development easily lends to iPhone development.
Whatever the case, thinking as a platform-agnostic programmer, I was looking forward to the meeting. I have an addiction to learning (or trying) new languages even if I needn’t, plus it was honestly disclosed that this week there would be no Flash content an iPhone 101 bent into shape for Flash developers to understand, it would be was tailored for Web developers generally – I was hoping for more conceptual comparisons rather than perhaps just pointing out syntactical differences – either way, curiosity had the better of me.
First up was Masi Woermann starting with An Introduction to iPhone Application Development. He introduced the broad concepts of iPhone development and the different approach developers must under go to create applications mainly looking at the workflow. Being primarily a Flex developer, Masi maintained comparisons between the architectures of a Flex app and an iPhone app – drawing parallels between Objective-C and Actionscript coding and their relationship to the UI components created with Interface Builder versus MXML.
He introduced the development tools and iPhone SDK, discussed some basics of Objective-C (pointers, memory management, classes) and eventually produced a very simple application – demonstrating the basics of interacting with visual components, straightward methods, getters, setters – some simple OOP.
It was good to see some hands on coding and that, obviously, although it’s a completely different kind of development – it might be intimidating but it’s not impossible. Watch it here:
Then Matt Biddulph presented iPhone Development for Web Developers. Matt is primarily server-side developer working with the likes of Python, Ruby and Rails, but instead of going into any code expressed that his real interest in iPhone applications lies in the device’s connectivity, specifically the capability to connect to the Web and interoperate and network with data and objects found there.
He looked at the applications that Twitter and Facebook developed, quoting Joe Hewitt‘s development wisdom with his work at Facebook.
He also criticised some of the failures of the current SDK, as Hewitt also did, specifically that some of the native features that you’ll see in Apple’s applications still aren’t available for third-party developers to utilise. I hadn’t realised this was the case, or would have thought Apple would hold back on anything – I guess with later releases more features will become available. The iPhone OS 3.0 SDK is due for release this summer, perhaps more will become available then.
Watch Matt’s talk here:
It’s also created entirely by by Web developers. As the video on their site claims, there’s not many Objective-C developers but there are a lot of Web developers – so in keeping with the rest of these observations, there really are more and more opportunities and points of entry for Web developers to get into mobile and iPhone app development, it’s purely demand that has created these.
All in all, whether it’s ‘in favour’ or not for Flash developers to want to develop iPhone apps is probably irrelevant – whether its a for profit or to expand a skillset probably doesn’t mater either. Hopefully all the attention will cause a shift in the perception of developing for mobile devices in general, I know I still cringe whenever anyone mentions Flash Lite – but it seems that’s starting to enjoying the beginnings of a resurgence too.
Then I think of initiatives like Adobe’s Open Screen Project and think this could be a really exciting time for mobile devices regardless, maybe there’s just so much fuss over the iPhone right now because it’s the iPhone.
As I write this post an email has just arrived in my inbox announcing there’s new group meeting specifically for developing iPhone, the London iPhone Bootcamp – ‘part seminar, part hackathon, part workshop’ – they too, are looking for the next killer iPhone app!