Will HTML5 fulfill the old Java(script) write once run anywhere promise?

Do you remember the slogan Java Everywhere – write once, run anywhere – WORA, sometimes WORE or by some, and here I mean .NET developers (like me), called Just-W*ORE. This slogan saying you can write Java code on any machine, compile it and run on any device, was very popular a couple of years ago. Is it true, though? Could HTML5 be such a technology to fill this hole? We will present you another point of view about the HTML5 empire than presented by Kamil in his last blog post. Here I will try to present some of the advantages and disadvantages of HTML5.

Have you ever seen an application working on any screen?

Seriously, I have never seen any application written in any language by one developer which could be run everywhere: starting from your daily PC through a mobile device to your TV. Maybe some simple applications that print “hello world” on a screen are really multi-platform (as long as there is a screen). The problem begins when you want to draw some graphics, open a local file or just fit your UI controls on a screen. This kind of drama considered mostly JavaME edition on cell phones – but, let’s forget about it. The problem here is not with the language itself, but with the hardware and it seems that you will always have such problems. Let’s take a look at HTML5, which seems to bring some light into this area.

Will HTML 5 solve the issue?

We prefer solving issues instead of complaining about things. And HTML5 is supposed to be the remedy. Recently, at the IT Academic Days at the Gdańsk University (slides available here), we discussed this matter. We tried to show what HTML5 offers to both its end-users and developers today and what it might offer in the future, Windows 8 include.

The iPad and its lack of FLASH support moved HTML5 forward. What is more, the whole community of web developers was excited to play with the HTML5 toys creating many applications.

 

Why HTML5?

We got many useful questions during and after the presentation – why did we present HTML5 even though it’s not completed yet? The answer was simple – it’s the future (even if it seems like a stupid and valueless answer). There is no easy answer to it until you touch the technology itself. Similar questions were asked in Kamil’s blog post comments.

Many of the features available in HTML5 today are stable and can be used almost everywhere without using any browser plugins.

In a few months (not years) you will be able to create fancy CSS animations without the use of Flash or Silverlight. Why use some analog nicely looking clock, video player or photo gallery created in third-party plugin? Instead you have it directly in HTML and CSS.

You can easily write flash/silverlight applications and publish them on the web. What is more, it’s a plugin and thanks to this it will be updated quicker than the browser. That’s of course true… today. Take a look at Chrome or Firefox browsers which are updated frequently with a new features list. Even IE started to move on.

The HTML (JavaScript) community is bigger than flash/silverlight community. Flash/Silverlight is under control of one company, where JavaScript is under control of the whole world. As an example take a look at jQuery. When something is not working on a specific web browser, then sooner or later some developers will fix it in the library or make some workaround.

Should we learn FLASH or HTML5?

There were also questions where the answer wasn’t so simple, like in this case: Should we learn Flash or HTML5? Of course, if you are a Flash or Silverlight developer then don’t give up on this technology because they will still be in the market for a long period of time. But if you are a newbie then it will be best to learn HTML5. The first reason for this is that you can use pure HTML in your MVC applications. Take a look at any web page. A web page is created mostly from HTML, CSS and JavaScript. Day by day, there are less flash-only pages.

You can use any IDE (also notepad if you are a masochist) to edit the source of your page. Your page is independent and can be displayed on any device. You do not need any expensive tools to create a flash-looking page (find the differences for example here). What is interesting, you can browse the code of the page by using developer tools build into a browser (like IE Developer Toolbar in IE9+ by pressing F12). Here you have another answer to a question before you even asked about it. If you can browse the code, then also search engines can browse the code and index your page – it’s a SEO thing.

HTML5 looks very promising!

Calm down, not fully yet. Still there are a lot of features that differ among browsers and probably this will be also the case in the future. Each manufacturer will create its own browser core which will differ in some areas. Still, the performance is a bottleneck for more calculation consuming applications – if you want to have time-consuming calculations, it’s hard to implement them in a browser. The web browser is not designed for such applications, to make a galaxy simulation you still need to use C++ with some CUDA technology or even assembler.

Besides, there’s still a market for non-HTML desktop applications.

As an example, IE seems to be more promising in some areas (like canvas in my last demo described in this post), but Chrome on the other hand has some good support of WebGL. Despite this, any web browser will have a big subset of HTML5 which will work on any browser in the same way (this is currently possible).

What’s the future?

Over the last few years we had Java Applets, Flash Pages, Silverlight applications – every technology had its time, now it’s going to change again. HTML5 seems to be the promised land for developing REAL multi-platform client side applications looking and working in the same way. Write it on any machine, use any browser and display in the same way. However, still with some restrictions and browser specific workarounds. Still the flash based technology will have it’s place on the web, but the most part of Flash applications today will be replaced by HTML5 based ones.

At the end relax and play this Flash Silverlight HTML5 game – Cut the Rope.

What’s your opinion about HTML5 and the use of “JavaScript-Everywhere”? Have you played with HTML5? Have you made any non-browsers apps with JavaScript and/or HTML? What’s your opinion?

Tags: , ,

Aspire Blog Team

Aspire Systems is a global technology services firm serving as a trusted technology partner for our customers. We work with some of the world's most innovative enterprises and independent software vendors, helping them leverage technology and outsourcing in our specific areas of expertise. Our services include Product Engineering, Enterprise Solutions, Independent Testing Services and IT Infrastructure Support services. Our core philosophy of "Attention. Always." communicates our belief in lavishing care and attention on our customers and employees.

8 comments

  1. Interesting stuff, but the article misses a point, that for server side applications Java really fulfilled the promise of write once – run wherever you like. I remember running some Java based web apps on really old Unix server, where most modern C/C++ won’t even compile. 

    And still for the desktop/user/web (whatever is the name) the difference between Java/Flash/Silverlight compared to HTML5 is unified runtime. For HTML5/JS we have a unified standard (well, more or less) but no unified runtime. It has many obvious advantages, but still the risk and need for cross testing on multiple runtimes remains. 

    Summing up – I really don’t see HTML5 to be “The Final Solution” 🙂 It might stay around for some time, but will pass away (being ugly, outdated, not-trendy, boring…) one day, as most things do.

    1. Thanks for your e-mail. I’m having holidays till Thursday 9 February. I will have limited access to my e-mail.
      In urgent matters please contact my colleague Arie de Bruin (arie.debruin@goyello.nl) or Maciej Gren (maciej.gren@goyello.com).
      Best regards,

      Peter Horsten

    2. Yes, that’s true, that there is no unified runtime but only standard, and this can make a lot of problems (like performance), but the good point of this fact is that “now” (soon) a web developer will have much more power in designing applications. Of course HTML5 is not the final solution, because a final solution does not exists in IT world. Thank you for comment !

      1. Thanks for your e-mail. I’m having holidays till Thursday 9 February. I will have limited access to my e-mail.
        In urgent matters please contact my colleague Arie de Bruin (arie.debruin@goyello.nl) or Maciej Gren (maciej.gren@goyello.com).
        Best regards,

        Peter Horsten

      2. Don’t get me wrong. I think most of the HTML5 stuff is cool. But I can’t see it as giving *much more power* to developers. The power is (and was) yours for many years now 🙂 

        All in all it’s all good to keep up with new technologies, but we need to be honest about both good and bad sides of changes. Still I’m deeply unsatisfied with the JS edit/debug/test experience compared to matured platforms (Java, C# or even C++).

        1. Thanks for your e-mail. I’m having holidays till Thursday 9 February. I will have limited access to my e-mail.
          In urgent matters please contact my colleague Arie de Bruin (arie.debruin@goyello.nl) or Maciej Gren (maciej.gren@goyello.com).
          Best regards,

          Peter Horsten

    3. Lol! Haven’t seen such a funny side effect of Out Of Office Assitant 😀 Anyway – happy holiday! 🙂

Comments are closed.