[Dev] D-Bus bindings for Crosswalk, Crosswalk extensions in Python

Schroeder, Henning henning.schroeder at intel.com
Fri Sep 12 14:36:40 GMT 2014


I just got made aware of this thread, maybe there is something in it for the short and for the long term ...

Short term you would do the following:
1.) You do have a Media Manager interface definitions in fidl.
2.) You have a Media Manager implementation binding to d-bus.
3.) You open the fidl file in Franca Editor and export to d-bus introspection. (You also may be able to introspect the Media Manager?)
4.) You take that introspection file and open it in cloudeebus.
5.) You implement in javascript against this interface.

Long term:
1.) You add fidl support to cloudeebus.
2.) You create code generators for the crosswalk extension to map WebAPI defined Javascript calls onto Common API based implementations.
3.) You make the cloudeebus API look like a WebAPI.
4.) You use Franca to translate from WebIDL via Franca IDL into D-Bus introspection and vice versa.
5.) You integrate the Tizen Security capabilities into the generated code so you do not have to touch existing implementations.
6.) you make the IDENTICAL interface available into HTML5 (via Crosswalk extension AND cloudeebus) and Native via Common API based code generation. You may have to define one interface with low complexity for app environments (App stores) and one with full capability for the main HMI.

Kind Regards

-----Original Message-----
From: Dev [mailto:dev-bounces at lists.tizen.org] On Behalf Of Kis, Zoltan
Sent: 12 September, 2014 14:06
To: Ohly, Patrick
Cc: Yriarte, Luc; Tizen Dev; Santos, Thiago; Jonatan Pålsson
Subject: Re: [Dev] D-Bus bindings for Crosswalk, Crosswalk extensions in Python

This way one could prototype very fast and deploy apps/extensions and test user interest: if it's high enough, could do a native extension to make it somewhat faster (but I doubt it would be much faster, or better said, with less latency).

Technically this will not be a significantly better solution than writing native extensions. Hosting Cloudeebus in the browser process will not work because security reasons (or need to include a security manager too which identifies and restricts apps). If we drop this, then 2 serializations need to be done anyway, one to/from D-Bus, and one to/from the JS shim. But indeed would result in somewhat less code to be written in certain/many extensions, and don't have to deal with mainloop integration issues since this one will be solved by the addition. So this would be very useful, ideal for prototyping, and even production in many cases, but cannot cover everything exclusively.

However, when we also need C/C++ API's (i.e. there can be native apps and equivalent web apps too), it is better to use them directly in the native extensions, and some developers may just want to use D-Bus from their native extension code since they are used with it and goes fast, or just use their native libraries for a given service.

Best regards,

On Fri, Sep 12, 2014 at 12:13 PM, Patrick Ohly <patrick.ohly at intel.com> wrote:
> On Fri, 2014-09-12 at 10:31 +0200, Jonatan Pålsson wrote:
>> On 12 September 2014 10:14, Patrick
>> Ohly <patrick.ohly at intel.com> wrote:
>>         Cloudeebus [1] is able to connect JavaScript apps to the D-Bus
>>         session
>>         or service bus. It can generate JavaProxy proxy objects
>>         automatically
>>         based on D-Bus introspection, pretty much like python-dbus
>>         does it.
>> I think this sounds like a good approach. In the case of Media 
>> Manager it would have been even more beneficial if the introspection 
>> worked on the CommonAPI level.
> I agree, this would have some benefits. But it will be both more work 
> (someone needs to write a Franca code generator for 
> JavaScript/Crosswalk that works with CommonAPI services) and has a 
> bigger impact on Tizen (can we use and ship the Franca tools in 
> Tizen), so I'd like to defer the discussion of that to some other time.
> --
> Best Regards, Patrick Ohly
> The content of this message is my personal opinion only and although I 
> am an employee of Intel, the statements I make here in no way 
> represent Intel's position on the issue, nor am I authorized to speak 
> on behalf of Intel on this matter.
> _______________________________________________
> Dev mailing list
> Dev at lists.tizen.org
> https://lists.tizen.org/listinfo/dev
Dev mailing list
Dev at lists.tizen.org
Intel GmbH
Dornacher Strasse 1
85622 Feldkirchen/Muenchen, Deutschland
Sitz der Gesellschaft: Feldkirchen bei Muenchen
Geschaeftsfuehrer: Christian Lamprechter, Hannes Schwaderer, Douglas Lusk
Registergericht: Muenchen HRB 47456
Ust.-IdNr./VAT Registration No.: DE129385895
Citibank Frankfurt a.M. (BLZ 502 109 00) 600119052

More information about the Dev mailing list