At the Max Adobe 2010 Conference Lee Brimlow presented "Flash, Flex, HTML5, Ouch My Head Hurts"
His June 2010 presentation did a really nice job of clearing up the confusion around Flash, Flex, and HTML5. Learn which project types are best suited to creating with Adobe Flash technology, which are best for Flex, and where HTML5 falls into the mix.
Here are some notes that I took as I watched the video:
"Anyone that can stay on top of all this changing stuff is going to be very valuable."
HTML5 is good for basic video but Flash is there when you need to go beyond that.
You need to do both: HTML5 with Flash as a fall back. That will cover all users.
Silverlight is great for .NET developers. They don’t don’t have to learn another language. He doesn’t see Silverlight as competition to Flash.
Apple has reversed itself and now allows apps converted from Flash (using CS5) in its Apple Store.
On his site http://www.gotoandlearn.com/ Lee has put together lots of tutorials showing how to use Flash. Here is one showing how to convert Flash to HTML5. (I haven’t had time to try this out myself yet. )
On minute 35:00 he starts talking about the mobile web. This is very important. A seismic shift in how we think about applications and users.
- Lee shows a great demonstration showing existing pages and redesigning it for mobile.
- Lee recommended this book: Programming the Mobile Web from O’Reilly
- At minute 40:03 Lee lists several rules to help optimize an app for mobile.
- Apps are self-contained which makes them larger. A Flash game uses the Flash engine so does not need to be so huge. Several Flash games all share the same Flash engine on the phone.
Adobe AIR is meant to be for specific applications. Here is a list of pros and cons that Lee mentioned:
PROS of AIR:
- Faster development then using Objective C or Java
- Animation is so much faster
- Can also be deployed to the desktop and the browser and TV
- Leverage a lot of existing code – Flash has been around for years. Huge database of knowledge.
CONS of AIR
- No access to the native controls on the device – iphone date picker
- Hard to replicate the native UI behavior in Flash
- Only have access the APIs – have to wait for the AIR team to add support to new API features
- Can’t use AIR to create Android widgets
- Performance. Can’t match performance of OpenGL ES
Development Platform Decisions
Android native application development –> Eclipse with Java creating an .apk file.
Android AIR applications would use Flash Builder or Flash Professional and possibly the Mobile Flash Framework –> compiled into an .apk file
iPhone app developed on a Mac using xCode and Objective C –> compiled into an .ipa file
AIR development uses same tools: Flash Builder –> compiled into an .ipa file
Native Android development is very much like writing Flex code. ActionScript 3 is very very similar to Java. If you know one you will be very comfortable in the other.
Flash is no longer ubiquitious on mobile. Not like the desktop
Android has a larger market share then iPhone. Globally Symbian is much much larger then all of the players.
In the closing Questions and Answers Lee mentioned that one of the most important thing to learn is jQuery for cross-browser compatibility and animation.