Mobile support

Joakim via Digitalmars-d digitalmars-d at puremagic.com
Sat Oct 17 21:55:49 PDT 2015


On Saturday, 17 October 2015 at 16:49:44 UTC, Chris wrote:
> On Saturday, 17 October 2015 at 14:37:46 UTC, Joakim wrote:
>> Ldc binaries for iOS were announced in July, Dan's now working 
>> on 64-bit support:
>>
>> http://forum.dlang.org/thread/m2mvz57seb.fsf@comcast.net
>>
>> Android is pretty much done, just cleaning it up by 
>> integrating with ldc's CMake build system and other small 
>> details, announcement coming next week.
>
> Yeah, I remember the announcemment, I was very happy. Is it 
> still 2.066 or is it part and parcel of the latest LDC? Your 
> efforts are very much appreciated! Thank you guys!

Dan has made available some source for his work on the latest 
LDC, including 64-bit support, but not binaries like he did for 
the previous 2.066 release:

https://github.com/smolt/ldc/tree/ios-merge-2.067

On Saturday, 17 October 2015 at 21:24:34 UTC, Vladimir Panteleev 
wrote:
> I wish the extent of platform support for GDC and LDC was 
> clearer. I decided not to list any platforms on D's download 
> page unless support for those platforms was rock-solid and is 
> expected to work.

Sure, makes sense that you did that at the time, we didn't even 
list the betas there till last week.

> At least at that time, iOS and Android support, as I understood 
> it, was in the "well, if you download this thing some guy 
> uploaded to his personal website and patch that file and don't 
> do this thing which doesn't work yet, you might get a "hello 
> world" that runs from the terminal if you SSH in" ballpark. I'm 
> not sure we should be advertising support for any platform at 
> that level. Personally, I feel that if a platform/architecture 
> is listed on a language's download page, I should be able to 
> download the compiler and build a fully-working application 
> within a few minutes, and as I understand we are nowhere close 
> to that yet. I don't feel particularly strong about this, but 
> if we do decide to lower the bar, then we should reconsider all 
> the other platforms that have been left out (such as the long 
> list of GDC architectures which I understood Iain to say that, 
> well, since the build succeeds and Debian successfully packages 
> it, then it has to work. I might be wrong, though, which is my 
> point exactly - there is really insufficient information about 
> what exactly one can expect to work on each 
> platform/architecture (and their combinations).

As Walter said, as long as we label it as alpha, we can get 
people playing with it and point out that mobile support is close.

On Saturday, 17 October 2015 at 23:57:06 UTC, Vladimir Panteleev 
wrote:
> Should all this really be on the download page, though? There's 
> like a score platforms/architectures/combinations of such 
> between all compilers combined.
>
> Have you looked at the linked wiki page?
>
> http://wiki.dlang.org/Compilers
>
> I'm not sure we should essentially be copying that table to 
> dlang.org.
>
> I think we are good as we are right now. There is an "others" 
> link on the download page, so people interested in support for 
> less common or less supported platforms can find said 
> information on the wiki.

Yes, we shouldn't copy that page, but as Andrei said, the giant 
PR value of mobile support means that even alpha stage support 
for mobile does make sense to add.  I wasn't planning on 
submitting such a PR for the download page, was only going to 
post in the Announce forum, but I think Andrei is right that 
mobile is too important.

On Sunday, 18 October 2015 at 04:13:56 UTC, Vladimir Panteleev 
wrote:
> And we're not there yet.
>
> Please correct me if I'm wrong, but as I understand, you'll get 
> nowhere on mobile with any current official LDC releases. 
> Saying that LDC supports iOS/Android out of the box on 
> dlang.org would be false advertising at this point.

We won't say anything about the official ldc/gdc releases.  
Rather, we'll provide links to Dan's iOS binary and one I'll 
provide for Android that'll be for experimental usage.

> I'm not sure what expectations people have when they hear 
> "language X supports iOS/Android", but at least as someone who 
> hasn't done a lot of mobile development, I'd expect that the 
> official compiler can emit code I can call from my app, and get 
> it all working in minutes. This would include tutorials of how 
> would I compile/link this D code and make it talk to my 
> Java/Obj-C/Swift UI code. Again, please correct me if I'm wrong.

For those willing to play with alpha/experimental code, I don't 
think such hand-holding is necessary.  Anyway, I'll write up 
another wiki page for ldc, just as I did for dmd:

http://wiki.dlang.org/Build_DMD_for_Android

> Don't get me wrong, I'm as excited about this as anyone, but at 
> the same time I don't want people mocking us for claiming 
> support when what we have is a proof-of-concept provided by a 
> third-party fork.

As I said, iOS and Android now pass essentially all tests from 
druntime and phobos.  That's a long way from "hello world."  Is 
it rock solid?  Of course not, but an alpha compiler doesn't need 
to be.

Now, the download page has not traditionally listed alphas and 
betas.  But the importance of mobile is so high that I think it 
is worth it to do so, with the appropriate cautions about alpha 
quality.

On Sunday, 18 October 2015 at 04:27:19 UTC, Vladimir Panteleev 
wrote:
> To elaborate on this a bit... the information on the downloads 
> page was written only two months ago, with the collaboration of 
> both GDC and LDC maintainers:
>
> https://github.com/D-Programming-Language/dlang.org/pull/1067
>
> Now, unless mobile support has matured significantly in the 
> past two months, the point here is that the maintainers 
> themselves have not pointed out that they were ready to 
> advertise mobile support for their compilers on dlang.org. I 
> don't think we should change this without their consent, at 
> least. As I understand, development for mobile support is still 
> occurring in a fork, and this might result users pestering the 
> maintainers regarding code that isn't even in the repository 
> they are maintaining.

The ldc/gdc maintainers are not that involved with the 
iOS/Android work: they answer our questions when we ask and they 
did earlier work for linux/ARM that is useful for other ARM 
platforms also.  Anyway, they would not have to support it, we 
would.  I don't know about Dan, but I _want_ more feedback on the 
Android build.  I made available a test runner for 
druntime/phobos as an Android apk months ago and never got any 
feedback:

http://forum.dlang.org/post/erqxbcfyyxzviftmhyzp@forum.dlang.org

Looking back at what I wrote now, perhaps part of it is my fault 
for not explicitly asking people to try it out and report back 
how it works for them.  That is what I was planning on doing for 
the upcoming announcement though, as I want to document any 
devices that have problems anywhere.  So far, I've found a couple 
small differences on the three Android devices I've tested, 
probably because most of my development was on a Nexus device 
with the latest Android, while the other two I tested later had 
older versions of Android.

Anyway, we can hash this out on the PR.  Mobile builds will be 
explicitly labeled alpha and feedback directed at me (we'll have 
to ask Dan if he wants to take part), not the official 
maintainers.


More information about the Digitalmars-d mailing list