Flash Vs HTML5

Flash Vs HTML5

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.