Cross Platform Applications using WebComponents?

This site is normally dedicated to the device part of IoT. However, devices talk to the cloud and the cloud talks to PC’s and mobiles. It’s a symbiotic thing really – we typically need all three parts to work together. A major challenge on the PC/Mobile side is the many platforms: Windows, IoS, OSX, Android and Linux are the major ones. Many struggle to “write once, use all over”, and there are tools to help write code from which you can generate “native” code for these platforms. Even with these tools you need to work with each platform to get it right.

Recently I participated in a seminar on “WebComponents”. The major focus was on how web-developers could reuse each others code, but I saw a couple of other very interesting things:

  • As we all know, web-code run in browsers, and although browsers have their individual characteristics, this generally allows code to run on all the aforementioned platforms. If in doubt you can focus on a single browser – but still multiple platforms.
    It is possible to hide the “browser-like” features as the menu and the “Back” & “Next” buttons – giving the complete look & feel of a native application.
  • New concepts like WebUSB and WebAudio allow web-applications to connect much more directly to the hardware, compared to what we have seen so far. WebUSB e.g. allows you to use hardware to which drivers hasn’t yet been installed on the platform OS. The hardware comes with a built-in white-list of URL’s that may supply the actual web-code. This makes it possible for a hardware-vendor to be in control of the software that is used with the HW.
  • The webcontent that is used for the GUI can also be used offline.
    This means that it may be used much like a standard application – only with simpler updates.

One of the mentioned developer frameworks was “Google Polymer”. This might be a place to start. This is far from the content of my book – see Table of Contents – but I find it very interesting.

Leave a Reply

Your email address will not be published. Required fields are marked *