Flash vs HTML5 : A Developer's perspective

I remember… it happened back in 2002… I developed one simple c++ program, a very simple program, using Borland Graphics Interface . It drew some shapes – combination of lines, circles and rectangles on the screen and on mouse-click one shape turned into another shape. I shared it with some of my friends by sending the executable via mail. Then some of them started complaining that they were not able to run the application, some of them were not even able to download it from their mail as it was an executable. So I started searching for an alternative using which I could develop similar programs and share it without any headache. My search continued until one of my friends told me about Macromedia Flash. He showed me some sample applications which he had developed using Flash 5. He used to embed them in one web page and share the link with his friends. Installing one browser plugin ” Flash Player “, all of them were able to see the content. It was something new to me, it was a dream come true, until then a web page was something dull and boring for me, just some text content having a number of limitations, only limitations, but “SWF” content – it simply rocked.

I started playing with computer graphics in Macromedia Flash and shared all of my SWFs with my friends. I created web pages with Flash content – I still remember… its was real fun – playing with pixels and co-ordinate geometry. Then Actionscript 2.0 came using which I learned more about user interaction. First it was all about graphics and user interface but it became more interesting when I learned about Flash Media Server, NetConnection, Netstream and XMLSocket. It became really easy to develop web pages with dynamic content, online chat, streaming media and mutli player games – all these were possible in Flash when a page refresh was needed in Browsers to load new content and using Ajax was not so common. The most notable thing was that Flash was totally independent of Browsers. I never worried about how my Actionscript code will work in different browsers. I wrote my code only once and it worked evenly in all browsers , really Flash was a technology ahead of its time.

Everything was fine until Adobe acquired Macromedia. Adobe released Flex Framework and Flex Builder and it became the first choice for developing Rich Internet Applications. Flex Builder attracted more developers to Actionscript development as it was a complete IDE compared to Flash authoring tool. But gradually I realized that the Flex was buggy, complex and heavier than the Actionscript applications I used to develop. One of the developers I know even got a project to convert a completed Flex project to Actionscript project. Even the word ” Pure Actionscript ” became common among Flash developers, indicating that something free from Flex Framework. Then Adobe released AIR for desktop and most of us called it ” Limited Java “, as it had a number of limitations when compared to other similar runtime environments. The only good thing happened was Actionscript 3.0 which made coding easier.

Then came third party 3D engines, they brought the enjoyment back – PaperVision3D, Away 3D, Sandy 3D etc. all of the engines were really powerful and opened a new world for developers – In addition to that came Physics engines – Box2D, JigLib Flash etc.

These were software engines, but amazing websites and web applications were developed, which were beyond the capability of HTML. Adobe released Flash 10 with 3D, a long time after the release of all third party engines. I still wonder – for what Adobe waited, why didn’t they realize the capability of the technology they had.

Release of iPhone by Apple was a new beginning. Until then people who worked with rich user interfaces were mainly Game Developers and Flash Developers – iPhone really changed the game. Where Adobe failed to bring a platform called ” Flashlite “, Apple brought a new device, new development platform and an entirely new market for developers and companies. Moreover iPhone introduced attractive, flawless and efficient applications. But it didn’t became a threat to Flash until the development of HTML5 and release of iPad.

Now, almost 2 years after the release of iPad, most of the Actionscript developers are in a dilemma. Actually its not because of the popularity of iPad or wide acceptance of HTML5, but because of the fact that there is nothing to expect from Adobe.

I am also one of the developers confused about the future and a few months before I started developing applications in HTML5 and each day I am realizing that how powerful Flash is. When I do something in Javascript, I have to make sure that it will work in all browsers. Sometimes I even have to write separate code/css for each browser, even though HTML5 is known as cross-platform. I totally agree with open-web standards and freedom of developers, but truth is that in HTML5 I am researching the feasibility of something which I used to do years ago in Flash.