On Thursday, 6 April 2017 at 05:24:07 UTC, Joakim wrote:
I have been saying for some time now that mobile is going to go
after the desktop next
(http://forum.dlang.org/thread/rionbqmtrwyenmhmm...@forum.dlang.org), Samsung just announced it, for a flagship device that will ship tens of millions:
http://www.theverge.com/2017/3/29/15104600/samsung-dex-galaxy-s8-dock-announced-price-release-date
https://www.youtube.com/watch?v=QA31CaL_42A
That means this tidal wave of mobile swamping PCs is only going
to get worse:
https://twitter.com/lukew/status/842397687420923904
D is currently built and optimized for that dying PC platform.
There are only two devs working on mobile, Dan and me, I don't
think anybody on the core team has even tried our work.
Even Microsoft has announced that they're taking another shot
at ARM, ie Windows is coming to ARM again, this time with x86
emulation for old Win32 apps:
http://www.theverge.com/2016/12/7/13866936/microsoft-windows-10-arm-desktop-apps-support-qualcomm
I would even go so far as to say it may be worthwhile to
develop an ARM backend for dmd.
What needs to be done? Same as anything else, we need people
to try it out and pitch in, like this guy who's now trying ldc
out on an embedded device with an old ARMv5 core:
https://github.com/ldc-developers/ldc/issues/2058
I provide Android releases of ldc here:
https://github.com/joakim-noah/android/releases
We've been fixing Android/ARM regressions in the latest D
releases here:
https://github.com/ldc-developers/ldc/issues/2024
More than anything else, we need the community to try building
mobile libraries and apps, because compiler support is largely
done. We need to integrate mobile into our plans, rather than
it just being a sideline.
There are two main possibilities for D usage on mobile right
now:
- D libraries for faster code than the native languages
- full GUI apps written in D, likely cross-platform
The latter may seem far-fetched given D has not done that well
in desktop GUI apps, but mobile is still a new market and D
could do well. D is uniquely well-suited to mobile, because
it's nicer than Java or Obj-C while more efficient than the
former, and it could make it easier to go cross-platform.
Vadim has done some nice work building DLangUI on Android,
including a Tetris app that I spent half an hour playing on my
phone:
http://forum.dlang.org/thread/cdekkumjynhqoxvmg...@forum.dlang.org
I realize D is never going to have a polished devkit for mobile
unless a company steps up and charges for that work. But we
can do a lot better than the complacency from the community we
have now.
I think mobile would be nice, but there needs to be a good full
stack (game lib, UI lib, maybe both) packaged with the compiler
and runtime in order to get people attention.
What I see as something that can be targeted from day one is IoT,
industrial controllers, cloud and other embedded/backend
platforms (I'm basically agreeing with aberba's post).
I'm currently trying the armv5 platform, as you pointed out. The
possibilities are far more appealing for me to use the D stack on
Linux/Arm(Mips) as everything I know in the industrial space uses
this combination.
Being able to create software with a nicer language using nicer
libraries would be the "killer app" for an entire industry.
I think there is great potential and the proverbial
low-hanging-fruit here for getting stuff rolling.
Would be great if we could persuade the D foundation to sponsor
some Linux ARM/Mips CI infrastructure, I know I would pitch in my
2 cents for the cause.
This infrastructure could be used by LDC and GDC and be extended
in the future.