Anyone know if a WebviewUI Runtime Environment is envisioned for Linux (openSUSE)?

For anyone who has been developing for the Mobile Space using HTML, they would know about the WebviewUI which is pretty much standard on all mobile OS (iOS, Android, Blackberry, WebOS, Windows Phone, etc). This is a “protected environment” which essentially allows HTML code to run locally without explicitly launching a local webserver. Desktop and even some Server apps in the past have typically launched “webserver stubs” on demand but those have run in common Userspace, whereas the WebviewUI is its own sandboxed environment, running similar to a JRE.

The upcoming Windows 8 will implement this on the version that runs on ARM processers, called WinRT which will support practically all types of compiled and interpreted code, not just HTML. There are a number of issues (some re-interpreted as beneficial “features”) associated with WinRT which I won’t include in this post.

Am wondering if Linux and openSUSE has anything similar in the works.

TIA,
TSU

tsu2 wrote:
> For anyone who has been developing for the Mobile Space using HTML, they
> would know about the WebviewUI which is pretty much standard on all
> mobile OS (iOS, Android, Blackberry, WebOS, Windows Phone, etc). This is
> a “protected environment” which essentially allows HTML code to run
> locally without explicitly launching a local webserver. Desktop and even
> some Server apps in the past have typically launched “webserver stubs”
> on demand but those have run in common Userspace, whereas the WebviewUI
> is its own sandboxed environment, running similar to a JRE.

I don’t know what it is, so can’t help you, but I’d like to learn more.
Do you happen to have a link to a WebviewUI overview?

Well,

Oddly as simple as your request is, I’m surprised that simple Google queries using keywords like “definition webview ui” or “uiwebview description” don’t return any valid results.

I also think back to my early thoughts when I encountered this technology, and I seem to remember some early confusion but after some muddling, it just seemed to make sense to me enough for me to start using it.

So,
I think your question can probably be answered on different levels…

  • For the purposes of Application Developers who only need to understand what is happening sufficiently to make things work, there is plenty of content on what works, and how to make things work. At this level, the definition I gave in my original post is probably as good as exists. Googling “webview ui” or “uiwebview” will return zillions of hits attesting to its popularity and the drive to adopt despite its relative lack of documentation (It just works).

  • For anyone who is more interested in the plumbing at the OS level, I can’t seem to dig up any specific results (but maybe my Google skills are just bad).
    [HR][/HR]

So,
At this point in the interests of brevity let me just introduce this topic with an example and describe some major concepts.

–Why this approach?–
This tehnology enables “write once, deploy on many platforms” similar to the Java and dotNET mantras, but takes it a step further enhancing the universal Web coding language, HTML/CSS/Javascript rather than “more serious” compiled languages. Still, with the relatively recent introduction and enhancements to HTML/Javascript like AJAX, JSON, the DOM and tightening/extending the available objects and methods in HTML5 it’s becoming less clear that JS is at a disadvantage compared to those compiled languages. The most current versions of these (HTML5, CSS3) in particular support the needs of targeting multiple platforms due to its fundamental separation of content from layout, and the ability to support multiple versions of layouts automatically depending on screen dimensions and capability.

– Working Example –
A picture is worth a thousand words, right?
So, here is an example of an open source application available on Github. You can inspect the code to verify it’s all in HTML/CSS3/Javascript plus a technology called “Cordova” which exposes native device hardware and secure services to the HTML code (In this case device GPS). A simple app, it finds and displays the current location of the device on Google Maps, and displays the closest drinking establishments.

https://github.com/filmaj/BeerMe

From this single codebase, I can and have compiled versions for practically all types of mobile devices using Phonegap Build (a build service similar to openSUSE Build Service but for mobile devices). An iOS build is possible too, but I personally lack an Apple Dev License which is only a legal barrier. If you own a mobile device configured to allow ad hoc packages, you can install and run any of the packages downloadable from this page.

https://build.phonegap.com/apps/135691

You’ll notice everything I’ve described in this example…

  • 100% HTML5/CSS3/Javascript code
  • From this single codebase multiple target platforms are supported
  • Despite written in “Web code” the application does not require an external webserver except for Google Map services and does not obviously launch a local webserver.

– The Underlying Plumbing in 10 seconds –
The application code runs in a sandboxed WebviewUI. Although the local browser engine is used, it’s not necessarily obvious to the User. Usual Browser controls are not exposed, only whatever controls the Developer has enabled.

For apps like Beerme which require special device access HTML/JS code normally does not provide, Cordova is a wrapper which bridges between the normally sandboxed environment and the device.

** – In Closing --**
So, a person might wonder why I brought up this topic in a Forum which currently doesn’t support mobile devices (openSUSE doesn’t currently run on ARM which is by far the most common mobile CPU family today)…

Linux should benefit for the same reasons I speculate Microsoft has implemented WinRT… When an OS has a relatively small market share (Windows Phone currently is negligible, Windows 8 Tablets are brand new and Linux also has less than 5% Desktop share), it’s extremeely beneficial to adopt a technology that extends application compatibility to less popular platforms as Developers develop to more popular target platforms. In plain words, don’t sit off on an island alone while applications are built to vastly more popular platforms (eg Windows desktops, iPad, Android tablets, etc). Make it possible for applications to be written to those other platforms to also run on your platform, too.

HTH,
TS

P.S.
After my original post I came across a possibly little-noticed Cordova note that it supports a QT implementation using Konqueror. So far I have not found any additional documentation on this. I would still suspect though that such an implementation would not run in a sandboxed environment, whether that is a significant issue would need to be analyzed from multiple angles, eg security, functionality.

BTW - If anyone recognizes some kind of openSUSE mobile app need, message me offline (It’ll probably have a better chance than just posting in a public forum). Have looked into a Forums client, but apparently a mobile app from the current Forums software should already exist. In fact if openSUSE Summit wanted a mobile app for attendees for everything going on in realtime, I might be persuaded to shift some of my personal resources in the short time between now and then (Contact me offline)…

On 07/24/2012 01:46 AM, tsu2 wrote:
>
> BTW - If anyone recognizes some kind of openSUSE mobile app need,
> message me offline (It’ll probably have a better chance than just
> posting in a public forum). Have looked into a Forums client, but
> apparently a mobile app from the current Forums software should already
> exist. In fact if openSUSE Summit wanted a mobile app for attendees for
> everything going on in realtime, I might be persuaded to shift some of
> my personal resources in the short time between now and then (Contact me
> offline)…

you are several days late to the party, but maybe there is still room
for more hands…there was some talk about a phone app for the
conference that in the project mail list lately…don’t remember exactly
if they found an existing app, or are hacking up one, or what…

review here:
http://lists.opensuse.org/opensuse-project/2012-07/msg00038.html

to join the mail list, start here:

http://en.opensuse.org/openSUSE:Communication_channels#Mailing_lists


dd