This site is now just an archive over the rise and fall of Flash. The domain flashmagazine.com is available for sale
Login | Register
Review: Academy Class Training

Review: Academy Class Training

Keeping up to date with new technology is a critical part of any developers job. There are any number of ways to learn but it's hard to beat the intensity and interaction of a classroom environment and a dedicated trainer. John Dalziel visited Academy Class in London for a week of Apple iOS development.

At the risk of re-igniting an ageing debate let's just agree that Apple iOS apps are in demand, your clients want them. As a Flash developer you can target iOS through the Flash for iOS Packager but the current performance is far from satisfactory. If your app needs speed or you just want to work with the native iOS UI components then you'll need to build them another way.

With this in mind I sat in the reception of Academy Class, a UK based training company with offices in Manchester, Glasgow and London. They run courses on all the big software packages and are accredited trainers for Apple, Adobe and Autodesk. I'm booked, along with half a dozen others, on a one week rookie course on iOS development. The irony being, everyone else coming through the door was learning Flash. It's still by far their most popular course.
 
Our trainer was David Arnold, a Flex veteran with a wide knowledge of other programming languages and iOS in particular. After the usual round of introductions we dive into XCode, the principle development environment for building any apps for the Apple ecosystem. The purpose of the morning was to show that you can build and deploy an app on the iPhone without writing a line of code. Enter Interface Builder (IB) a visual dev tool for defining your view components. Imagine something closer to Flex than Flash where you drag UI components to the screen, style them and tag them.
 
To quickly digress, you may have heard that Xcode 4 has been released. At the time of the course we worked with XCode 3.2 and quite a lot has changed between these versions. The most obvious change is that XCode and Interface Builder are now integrated, and under the hood the biggest change is a move from the GCC to the LLVM compiler. This has allowed for much smarter integration and code hinting. There's a much deeper review here if you're interested.
 
Our group seemed to be moving quite fast so in the afternoon we took on Objective C. If you're coming from Actionscript or Javascript you'll find some of the syntax a little verbose but after a while you get into it. iOS does not support Garbage Collection so you have to be tidy. In the same way you add and remove your listeners in AS3 you have to retain and release memory in Objective C. In both cases you're trying to avoid memory leaks and after a while you'll get into the rhythm of retain/release alloc and dealloc. 
 
On day 2 the plan is to build an app in a day. If you've ever worked in an ad agency you find that timeframe familiar. Flash is quite forgiving of diving in and coding. With iOS I can't stress the importance of planning. As much as possible (especially the UI structure) needs to be defined in advance. David's process was to sketch out a visual structure on the whiteboard first. Elements of the design get named and then we write headers and stubs. Over to Interface Builder to build the XIBs (User Interface definitions) and finally into XCode to write the functionality.

What I really liked about this day is it felt like real development. It was planned but it was fluid. This was a world away from following a perfect book example. We hit bugs, we made decisions, we made mistakes and we fixed them. This was very valuable experience. 
 
Day 3 and 4 were all about working with data. We began by consuming and parsing XML. Using the standard classes is like parsing XML was back in AS (i.e. completely horrible). I think it was useful to do it this way because the next time I'll use a library and really appreciate it. In some ways Objective C feels like a step backward from AS3, for example it makes extensive use of Delegates. There is an Event Model (Notifications) but it's fairly new and less well adopted. Finishing day 4 we looked at data persistence using both the plist (essentially a database in a text file) and Core Data (a much smarter internal database API built on SQLLite).
 
In our final day we worked with the Accelerometer as well as touch and gesture recognition to build a basic line drawing app (think Canvas). Finally we ended with Developer registration and App Store submission. This was an intense and hugely enjoyable course and I recommend it. The next course is in June.

 

About John Dalziel

John Dalziel is a founding member of FlashMagazine and regularly reports from community events in the UK. He has also written for Macromedia, New Riders, Actionscript.com and Ultrashock.com.

Get new stories first

Click to follow us on Twitter!

 

Comments

No comments for this page.

Submit a comment

Only registered members can comment. Click here to login or here to register