hi5 to html5
Last few days I have been digging around to understand what is so great about HTML5…soon I realized, that this is what I always wanted, when ever I did HTML coding…HTML5 seems to be logically the right step towards RIA.
Why should I install plugins such as Silverlight, Java FX etc?? why can’t the browsers have it in-built?? why can’t the HTML move beyond SUBMIT button, INPUT elements etc??…HTML5 is my dream come true…and I was really happy to read in the news that Microsoft, Mac and everybody else seems to embrace this standard…Does that mean we are going to get rid of JavaScript based Dojo or Silverlight or Flex or JavaFX??? I don’t think so, I think we still need them for a VRIA (very rich internet application…don’t search the web for VRIA…its a word, I coined, and I use it for myself
to refer to highly interactive and rich internet application.)..HTML5 should take care of my basic RIA applications.
So here are a few things I learnt about HTML5, that I would like to share with you all.
Semantics – HTML5 has simplified the semantics. the elements are more meaningful, and readable..to give a few examples for header, for navigation (menus), – generic sections, – for content, – footer…and there are a few new elements, which we always wanted, – to insert audio content, – for video…The API is also enhanced to support these new elements..so writing JavaScript to handle the HTML5 elements just got better.
There is one more interesting element , which can be used to draw anything (using JavaScript). to draw menus, which supports both toolbar menu and context menu…no need to struggle with JavaScript to create menus anymore. ain’t that cool?
Then there is element which can be used to draw the data grids, tables..and then there are , and whole host of FORM elements such as datetime, range, email, color, number etc..please go check out the HTML5 semantics.
Native DnD support – Drag Drop was a big challenge to implement on web pages, I have used dojo and various other JavaScript based frameworks to get DnD working, and at any point, I can never promise that DnD will work for sure
its always tough to get these things working..and now its a big relief to see HTML5 comes with native DnD support..so how simple is DnD?? create a 2 divs, one the drag source and the other drag target. Now implement the JavaScript events ondragstart and ondragdrop..and see it working..ofcourse there are a few things we need to do to get the events working ..which I will cover in my next blogs with live examples
Web Sockets – Now we can use JavaScript to create websockets from the web page and communicate with the other servers…yes CROSS DOMAIN..how cool is that??..and these sockets support both normal(wss) and secured (wss)..now imagine how this can help in building HTML5 frontends with REST backends?? that too CROSS DOMAIN REST…or are we going back to the classic client server model..
..but more built on standards such as HTML, XML, browser runtime based??
Server side events – Oh what a relief?? no need to keep polling the server if the latest data has arrived anymore…just relax..the server will send a notification, when the data has arrived. I think this is a huge step in making AJAX easier.
Offline mode – HTML5 comes with native offline support, which is much needed as we are not just looking HTML for the PC based browsers..but also to be used on handhelds..where the offline mode is very much required. So HTML5 comes with the feature to store the data and work offline – Both Session Storage and Local Storage features.
So is that all?? no there are lot more..these are the top things which caught my eye…will get back with more deep dives and examples…until then..what do you guys think about HTML5…
Excellent article. In fact I was also catch up with HTML5 and thanks for giving me the quick punch scan of 5 min. In fact HTML5 is coming to mobile application. today the choice of writing the native app vs web browser comes with the fact that how much your application has to interact with native mobile api and persistence of offline data. with HTML5 Compatible browser on mobile you can use both access the server apps on browser and interact with cell native interface like calling persistence and other core features.. that’s going to be cool.
Great Article Vijay.
HTML5 is pushed by major players now. Microsoft and Google are pushing towards HTML5 and H.264
http://www.infoq.com/news/2010/04/Microsoft-HTML-5-H.264
http://www.infoq.com/news/2010/01/youtube-html5
Also, I attended session on HTML5 in GIDS 2009, in which Jonas Jacobi demonstrated HTML5 emulation till the time it is introduced in major browsers. It was superb demonstration in which server used to push the data in realtime (e.g. stock quotes) and supported huge numbers of simultaneous connections. His company Kaazing corporation had created gateway to deal with these problems. All they have is just 8 KB javascript (proprietory and he didn’t show any source code to us) which emulated HTML5.
Now as HTML5 is being pushed, we all can develop real time applications without working with hacks like comet, plugins like Silverlight, Flash and others. Just plain HTML should be able to tackle web’s major problems. Sounds great
Cheers.
Thanks Kunal for posting..I totaly agree with your point..but I am still not convinced that we can do away with Flex or Silverlight…as the UI is still very pretty in Flex and Silverlight…but I agree..we don’t have to do all RIAs using them, most of the basic RIA can be achieved with simple HTML5..and keep is easy.
Hi Vijay, thanks for reply. I agree with you. Flex and Silverlight provides great UI. Also, Flex has lazy loading feature for large datasets which won’t be available with HTML5 unless we do paging. There are many other fascinating features which RIAs provide. For complicated UIs, Flex or Silverlight will remian the choice. Projects like BlazeDS penetrates flex more in enterprise application development. However, Adobe being banned for platforms like Apple is not a good news for RIAs.
I feel HTML5 will help go away with COMET like browser tricks for real time communication. Also, H.264 will be natively supportes for playing videos as part of HTML5. No plugin required to play videos and those sort of stuffs. That’s the immediate advantage I see.
Cheers
I agree..very interesting to bring in your perspective. Thanks for adding to the blog..