The Flash vs HTML war has recently intensified with Apple’s release of the revolutionary iPad. Adobe has been working on their Creative Suite 5 to make it easier for developers to create Flash and AIR apps that are compatible with the software running the iPod and iPad. In the mean time, Apple was developing iPhone OS 4, which will run on current iPod Touch, iPhone and future iPad releases. With OS 4 came a change in terms for developers.
In the new version of the iPhone Developer Program License Agreement section 3.3.1 now reads:
3.3.1 – Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).
Apple is forcing out Flash and encouraging developers to use the languages listed and HTML5 and CSS3 for web content. Is this a win for HTML?
Adobe is not pleased with the banning of the Flash to iPhone compiler, but that’s not doing to stop them from developing and improving Flash. Since Flash can still do some amazing effects that no amount of HTML5 or JavaScript can come close to at the same speed, they still have a huge market share.
Here are some pros and cons of HTML and Flash:
Flash Pros
Flash player allows for uniformity throughout all browsers
More effects than HTML5 and JavaScript
Vector based for easy scaling
Flash Cons
External plugin has to be downloaded to view Flash
Search engines don’t read Flash well
SWFs can be large and take while to download
HTML5 Pros
Very fast (with CSS)
Canvas and Video
GeoLocation API
HTML5 Cons
Not fully supported on all browsers
Limited animations/effects
Slower animations than Flash
Should I use Flash?
If it enhances the user experience more than HTML would, then yes. If it just gets in the way, no.