UPDATE: It’s been over a year since I considered stopping my study of Objective-C and I can gladly say that I made the right choice in continuing to learn Objective-C and native app development. With Adobe’s recent moves discontinuing Mobile and TV Flash development and moving the Flex SDK to ‘an established open source foundation’ it is clear they are no longer interested in investing in the technology and I’m glad I started expanding now instead of waiting for tomorrow. This is one of those rare times in life I’ll get to look back and pat say that I actually made a great choice for my future.
I’ve been a Flash developer for many years now. I was excited about the opportunity to create native apps for the iOS environment when it was first announced but life was too hecktic at the time to start learning Objective-C. A little while later Adobe sources announced that the next version of the Flash IDE, CS5, would be able to export compiled iOS apps! I was thrilled to hear that I could put all my existing ActionScript knowledge into instant use on the iOS devices and I decided again to work on my other projects and learning C# and wait for Adobe to release CS5. Then the 3.3.1 change happened at the same time that Flash CS5 was release, Apple doesn’t want Adobe’s knock off Objective-C apps ported from Flash. I’m at a complete loss, I waited for the dust to settle and it seemed Apple was completely resolved to keep Adobe out of it’s devices.
It was time to learn Objective-C if I was ever going to get into iOS development. I hit the books and started learning all the fun stuff about C and all the strange things I was going to have to work around that I had gotten used to having in ActionScript 3.
Today Apple makes a new statement back tracking on the 3.3.1 sections of the developer license (http://www.apple.com/pr/library/2010/09/09statement.html) and now Flash CS5 compiled apps are allowed again!
Wait what? I thought Apple was this stone pillar of decision, Steve Jobs even had a post Thoughts on Flash ripping it apart and now it’s OK to put Flash apps on their devices essentially? I’m more than a little frustrated by this. On one hand I’ve started to develop a new skill set in developing mobile applications for the iOS devices and on the other I have a long history of ActionScript knowledge I could use to make iOS apps even faster.
I’m already 70% done with my first iOS app since starting out and now I wonder if I even need to continue to nurture my Objective-C learning because I can just recompile my Flash games and push them right to the store.
I was so mad when Apple first made the decision to reject Flash apps, then I accepted it and started learning Objective-C, now I think I’m kind of upset that they backtracked such a short time but still long enough for me to get neck deep in Objective-C books.
I think I have to finish this first game in Objective-C but after that is it worth the work to continue learning that language now that any language can be compiled down to Objective-C and then approved?
I think it makes more sense to use CS5 to make apps as then you should be able to create one app and compile it for both Android and iPhone.
Pingback: Three or More: Monster Match – My first iOS App Store game was approved « Sosuke
Here is my experience.
I was in the same boat, and I actually HAD to compile an actionscript 3.0 app to the iPad.
Luckily, the application was 100% object oriented actionscript 3, which translated much better when compiling to iPad, than the ones that were all timeline based script!
Part of the app had a huge 3000×3000 map in which you were able to pinch to zoom, and pan around. It had support for multitouch (mimicking the way the iPad’s native multitouch works). However, Not only was it much slower than the Native Objective C’s multitouch (pinch and zoom, pan, ..etc) for that same map, it was completely choppy, it didn’t support simultaneous multiple gestures (like how Apple’s native apps allow you to zoom in and pan at the same time), and often crashed the application after taking too long to process.
Adobe’s exporter quite frankly wasn’t very good. It seemed to create a “wrapper” for iOs rather than translate to Objective-C.
There is a compiler called Titanium, which actually allows you to write apps in Javascript and then translate them to native Objective C, without taking a hit in performance or missing any major features, that seems to do a much better job than flash, since it compiles Natively to the Iphone. It also exports to RIM devices and Android, so you might want to check that out!
I’ve previously taken up learning Objective C like you have, but since I come from a C++ world, I’m having some trouble with the syntax, and the whole concept of class messages vs class methods. so the learning curve is a little steep.
I do hear that it interacts with the processor & CPU better than C++ does, though!
But the problem with Objective-C is, if you want to deploy your app to other platforms, like Blackberry, Windows 7, Symbian, Android, ..etc, you are pretty much screwed.
Pingback: Knowledge Alone is Not Enough to Succeed | Barrett Sonntag