As suggested on Freenode.#crosswalk, sending the my questions tizen dev
mailing list
-------- Forwarded Message --------
Subject: [Crosswalk-dev] GENIVI Browser framework: questions about
xwalk suitability
Date: Tue, 04 Nov 2014 13:42:44 +0100
From: Alejandro Piñeiro <[email protected]>
To: [email protected]
Hi everybody,
one of the outgoing efforts of GENIVI is a Browser framework that
defines some APIs that would make easier to final users of the
technology stack to build a custom browser. The real model is still
private (as it is not finished), but to get an idea, there is already a
Browser Proof of Concept [1] (POC) that implements a subset of that
framework. This POC implements those APIs as DBUS interfaces. So there
is a daemon providing the DBUS service, and the custom interface (the
HMI) would use DBUS to access to the features. This POC was created for
the desktop, so the program providing the DBUS services is using
QtWebkit webengine (so using QtWebkit WebView). If you want to have an
idea of what kind of DBUS API I'm talking about, here some examples:
[2][3][4]
Ideally, in order to test the specification, it would be good to have
another implementation (or another proof of concept) on a platform more
aligned with the automotive field. So a evident target would be Tizen
IVI. AFAIK, right now the only web runtime included on the Tizen IVI
profile is Crosswalk, so during the past days I have been thinking how
that framework could be implemented using Crosswalk. So I would like to
expose the outcome of my analysis, to check if Im wrong, and ask about
the best option to go on.
First, although Crosswalk provides a WebView for Android, that is not
the case for Tizen IVI. For that platform the use case is writing an
HTML5 WebApp, so that would not be needed. Additionally, xwalk expose a
DBUS API, but are not introspectable, as they are intended to be used
privately to communicate xwalk and xwalk-launcher.
So, if we wanted to reimplement the current POC using the same/similar
architecture, the options I see would be:
a) Implement a WebView on xwalk to be used on Tizen (so xwalk would
provide a WebView on both Android and Tizen): this seems a really big
amount of work, and mean that xwalk would somehow replicate CEF on Tizen.
b) Implement those DBUS APIs on xwalk: so xwalk would have some
private methods (to be used in the xwalk <-> xwalk-launcher
communication), and some public methods (the GENIVI Browser framework APIs).
In any way, GENIVI specifications are known to not be tied to a specific
technology, so they would adapt to the specific platform when
implemented. Taking into account that on Tizen IVI the applications
should be (in general) Web Apps, it is assumable that a custom browser
should be also an HTML5 application. In that context, I see a third option:
c) Implement the GENIVI specification as a Tizen IVI extension [5]:
so we are moving from a DBUS API to a Javascript API. That custom
browser would have available that Javascript API that would facilitate
their work with common tasks (like bookmarks).
Comparing the three options, a) and b) have the advantage that is more
similar to the first approach of the GENIVI specification. The
disadvantage is that probably needs some features on xwalk that probably
doesn't fit with their long term objectives. c) has the advantage that
is more integrated with the platform in mind (Tizen IVI), but it is a
big change on the initial proposal of the GENIVI Browser framework (and
I would need to talk with the GENIVI working group, to see if it is "too
much an adaption").
So after all this, my questions are:
* Is my analysis and rationale behind the proposals correct? Is there
any mistake?
* Is there any other option to implement the GENIVI Browser framework
using Crosswalk?
* From all the options, what do you think that are the most suitable?
Thank you for reading this long email
Best regards
[1] http://projects.genivi.org/browser-poc/home
[2]
http://git.projects.genivi.org/?p=browser-poc.git;a=blob;f=common/IBrowser.xml;h=a1c88e294a3a39d4dbbd2e6d4a92c8d6b65ee018;hb=HEAD
[3]
http://git.projects.genivi.org/?p=browser-poc.git;a=blob;f=common/IWebPageWindow.xml;h=c79639ea9a437471f36ed76dfcaa632b37eedfa6;hb=HEAD
[4]
http://git.projects.genivi.org/?p=browser-poc.git;a=blob;f=common/IBookmarkManager.xml;h=3b56af3fd494488afcdf630def6daeb506b59447;hb=HEAD
[5] https://crosswalk-project.org/documentation/tizen_ivi_extensions.html
--
Alejandro Piñeiro ([email protected])
_______________________________________________
Crosswalk-dev mailing list
[email protected]
https://lists.crosswalk-project.org/mailman/listinfo/crosswalk-dev
_______________________________________________
Dev mailing list
[email protected]
https://lists.tizen.org/listinfo/dev