From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id 11C6D7EE9C for ; Wed, 30 Nov 2016 23:09:47 +0100 (CET) Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=vincent.balat@vblt.org; spf=None smtp.mailfrom=vincent.balat@vblt.org; spf=None smtp.helo=postmaster@relay4-d.mail.gandi.net Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of vincent.balat@vblt.org) identity=pra; client-ip=217.70.183.196; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="vincent.balat@vblt.org"; x-sender="vincent.balat@vblt.org"; x-conformance=sidf_compatible Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of vincent.balat@vblt.org) identity=mailfrom; client-ip=217.70.183.196; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="vincent.balat@vblt.org"; x-sender="vincent.balat@vblt.org"; x-conformance=sidf_compatible Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@relay4-d.mail.gandi.net) identity=helo; client-ip=217.70.183.196; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="vincent.balat@vblt.org"; x-sender="postmaster@relay4-d.mail.gandi.net"; x-conformance=sidf_compatible IronPort-PHdr: =?us-ascii?q?9a23=3APlHigReVGiVZvlwNhzdno1dHlGMj4u6mDksu8pMi?= =?us-ascii?q?zoh2WeGdxc6zZh7h7PlgxGXEQZ/co6odzbGH6Oa7CCdZvM/J8ChbNscTB1ld0Y?= =?us-ascii?q?RetjdjKfDGIHWzFOTtYS0+EZYKf35e1Fb/D3JoHt3jbUbZuHy44G1aMBz+MQ1o?= =?us-ascii?q?Ora9QdaK3Iyfntq/8JzLYghOmCH1IfYrdE33/jPqq9IOjIB+BqE0wxrP6jsUKq?= =?us-ascii?q?UFjV9vcH6ahRf7rvu9/Y5u8j5Z86Yt/tRBVuPmcqUoQL1CBRwgN20k+MDt8xLE?= =?us-ascii?q?SF3LrkCdWGwNjhtFBT/l7Rf2U438qGOujed30TKGPMDwC5A1Xziv9apxYB7uki?= =?us-ascii?q?YOcTAjpjL5kMt12ZxaphmsoQA36YfQaZ3dYOR/eKjQe89cT2NFV9p5SSZFHsW7?= =?us-ascii?q?dYRZXLlJBvpRs4So/whGlhC5HwT5Qb62xw=3D=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0AeAADaTT9Yh8S3RtldHAEBBAEBCgEBF?= =?us-ascii?q?wEBBAEBCgEBgw0BAQEBAXeBAwcBjT2XCYI3kj+CBimBcYQIAoF9PxQBAQEBAQE?= =?us-ascii?q?BAQEBARIBAQEIDQkJHTCCMwQBFQWCFgEBAQMBEhEmJQsFCwsLDQ0dAgIiEgEFA?= =?us-ascii?q?QoSBgESEhCIMQMPCAQKnm2BMj8yiicOgRuCKYc6A4QMAQEBAQEBAQECAQEBAQE?= =?us-ascii?q?BAQEBAQEchUV5hFuDC4EogxqCXQWHCgyTQYF4hFOKRIJBjXGNc4JIMYERAg8PZ?= =?us-ascii?q?w07QRECgzWBaHIBAQGGWEIBJmYBAQE?= X-IPAS-Result: =?us-ascii?q?A0AeAADaTT9Yh8S3RtldHAEBBAEBCgEBFwEBBAEBCgEBgw0?= =?us-ascii?q?BAQEBAXeBAwcBjT2XCYI3kj+CBimBcYQIAoF9PxQBAQEBAQEBAQEBARIBAQEID?= =?us-ascii?q?QkJHTCCMwQBFQWCFgEBAQMBEhEmJQsFCwsLDQ0dAgIiEgEFAQoSBgESEhCIMQM?= =?us-ascii?q?PCAQKnm2BMj8yiicOgRuCKYc6A4QMAQEBAQEBAQECAQEBAQEBAQEBAQEchUV5h?= =?us-ascii?q?FuDC4EogxqCXQWHCgyTQYF4hFOKRIJBjXGNc4JIMYERAg8PZw07QRECgzWBaHI?= =?us-ascii?q?BAQGGWEIBJmYBAQE?= X-IronPort-AV: E=Sophos;i="5.31,574,1473112800"; d="scan'208,217";a="247537864" Received: from relay4-d.mail.gandi.net ([217.70.183.196]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 30 Nov 2016 23:09:36 +0100 Received: from mfilter40-d.gandi.net (mfilter40-d.gandi.net [217.70.178.171]) by relay4-d.mail.gandi.net (Postfix) with ESMTP id 3FC8317242A; Wed, 30 Nov 2016 23:09:36 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at mfilter40-d.gandi.net Received: from relay4-d.mail.gandi.net ([IPv6:::ffff:217.70.183.196]) by mfilter40-d.gandi.net (mfilter40-d.gandi.net [::ffff:10.0.15.180]) (amavisd-new, port 10024) with ESMTP id L92CS2QSxHws; Wed, 30 Nov 2016 23:09:34 +0100 (CET) X-Originating-IP: 209.85.210.172 Received: from mail-wj0-f172.google.com (mail-wj0-f172.google.com [209.85.210.172]) (Authenticated sender: v@vblt.org) by relay4-d.mail.gandi.net (Postfix) with ESMTPSA id 0093817240D; Wed, 30 Nov 2016 23:09:33 +0100 (CET) Received: by mail-wj0-f172.google.com with SMTP id qp4so188405263wjc.3; Wed, 30 Nov 2016 14:09:33 -0800 (PST) X-Gm-Message-State: AKaTC01bTp03xk+0mWyTLwx/n53ySvb3YbpDe5WJsUxjeeP2LZZRVm2HdwNkVw2r+ty0tS8EfSc5KPVy30+yXg== X-Received: by 10.194.52.8 with SMTP id p8mr3436864wjo.38.1480543773590; Wed, 30 Nov 2016 14:09:33 -0800 (PST) MIME-Version: 1.0 References: <20161124171023.jx2zuhspdptvapqf@pl-59055.rocqadm.inria.fr> <4806217978c8bc1c6cb57827f8fcbaca@nleyten.com> In-Reply-To: <4806217978c8bc1c6cb57827f8fcbaca@nleyten.com> From: Vincent Balat Date: Wed, 30 Nov 2016 22:09:23 +0000 X-Gmail-Original-Message-ID: Message-ID: To: Dario Teixeira , =?UTF-8?Q?S=C3=A9bastien_Hinderer?= Cc: caml-list Content-Type: multipart/alternative; boundary=047d7b873f80b30e6705428bf5e7 Subject: Re: [Caml-list] Android/iOS apps with OCaml --047d7b873f80b30e6705428bf5e7 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi, The Ocsigen team is going to release Eliom 6 next week, which focuses on mobile apps. We will also release Ocsigen Start, a template with an example of multi platform application: a single code for both your Web app and mobile html5 apps (Android, iOS, Windows). If you want to see an example, download the Be Sport app on Google Play or Apple app store and have a look at the Web app. They are all using Eliom 6 and Ocsigen Start. https://play.google.com/store/apps/details?id=3Dcom.besport.www.mobile https://itunes.apple.com/us/app/besport/id1104216922 It is not native code but the performance are good (even if we have some problems on iOS, Apple's webview being very buggy). And this technique requires to write only one code for all your apps (even with server side generated pages for the Web version!). Ocsigen Start will be released probably next week (we are polishing the documentation) but is mature enough for large applications (as you can see with Be Sport). We are also using the Cordova bindings by Danny Willems, for some features. Vincent Balat Le ven. 25 nov. 2016 16:46, Dario Teixeira a =C3=A9crit : > Hi, > > On 2016-11-24 17:10, S=C3=A9bastien Hinderer wrote: > > > Making it possible (easier) to cross-compile OCaml programs is one of > > the outcomes the work I am doing with Gallium (the team developping > > OCaml at Inria) is supposed to have. I am not sure yet how this can > > impact the production of Android apps, but as far as iOS apps are > > concerned, one thing I am supposed to work on is the integration of > > Gerd's pull request (can someone find the number?) which has been > > stored > > in the ios-support branch of the OCaml repository on GitHub. > > > > This should make it possible to cross-compile OCaml programs which can > > then be executed on iOS devices. > > > > One other question will then be whether such programs can somehow use > > all the application frameworks provided by Apple. > > Thanks for the reply. That last point is crucial: without convenient > access to all the APIs, being able to cross-compile to iOS is not very > useful, at least to me. Moreover, there's still the problem of cross > platform access to those fancy APIs. > > > > Regarding Android I don't know how helpful OCamljava could be but it > > might be worth investigating. > > Were Android the sole target, OCaml-java would be a contender. However, > I would like for the same program to be used both in Android and iOS, > with minimal (or zero) need to write platform-specific stubs to access > the various APIs. > > Kind regards, > Dario Teixeira > > > -- > Caml-list mailing list. Subscription management and archives: > https://sympa.inria.fr/sympa/arc/caml-list > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs > --047d7b873f80b30e6705428bf5e7 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

Hi,

The Ocsigen team is going to release Eliom 6 next week, whic= h focuses on mobile apps. We will also release Ocsigen Start, a template wi= th an example of multi platform application: a single code for both your We= b app and mobile html5 apps (Android, iOS, Windows).

If you want to see an example, download the Be Sport app on = Google Play or Apple app store and have a look at the Web app. They are all= using Eliom 6 and Ocsigen Start.
https://play.google.com/store/apps/details?id=3Dcom.besport.www.mob= ile
https://it= unes.apple.com/us/app/besport/id1104216922

It is not native code but the performance are good (even if = we have some problems on iOS, Apple's webview being very buggy). And th= is technique requires to write only one code for all your apps (even with s= erver side generated pages for the Web version!).

Ocsigen Start will be released probably next week (we are po= lishing the documentation) but is mature enough for large applications (as = you can see with Be Sport). We are also using the Cordova bindings by Danny= Willems, for some features.

Vincent Balat


Le ven. 25 nov. 2016 16:46,= Dario Teixeira <dario.tei= xeira@nleyten.com> a =C3=A9crit=C2=A0:
Hi,

On 2016-11-24 17:10, S=C3=A9bastien Hinderer wrote:

> Making it possible (easier) to cross-compile OCaml programs is one of<= br class=3D"gmail_msg"> > the outcomes the work I am doing with Gallium (the team developping > OCaml at Inria) is supposed to have. I am not sure yet how this can > impact the production of Android apps, but as far as iOS apps are
> concerned, one thing I am supposed to work on is the integration of > Gerd's pull request (can someone find the number?) which has been<= br class=3D"gmail_msg"> > stored
> in the ios-support branch of the OCaml repository on GitHub.
>
> This should make it possible to cross-compile OCaml programs which can=
> then be executed on iOS devices.
>
> One other question will then be whether such programs can somehow use<= br class=3D"gmail_msg"> > all the application frameworks provided by Apple.

Thanks for the reply.=C2=A0 That last point is crucial: without convenient<= br class=3D"gmail_msg"> access to all the APIs, being able to cross-compile to iOS is not very
useful, at least to me.=C2=A0 Moreover, there's still the problem of cr= oss
platform access to those fancy APIs.


> Regarding Android I don't know how helpful OCamljava could be but = it
> might be worth investigating.

Were Android the sole target, OCaml-java would be a contender.=C2=A0 Howeve= r,
I would like for the same program to be used both in Android and iOS,
with minimal (or zero) need to write platform-specific stubs to access
the various APIs.

Kind regards,
Dario Teixeira


--
Caml-list mailing list.=C2=A0 Subscription management and archives:
https://sympa.inria.fr/sympa/arc/caml-= list
Beginner's list: http://groups.= yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bug= s
--047d7b873f80b30e6705428bf5e7--