Chrome OS folding into Android, Android coming to laptops

Joakim via Digitalmars-d digitalmars-d at puremagic.com
Tue Nov 3 02:54:16 PST 2015


On Tuesday, 3 November 2015 at 10:17:42 UTC, Jakob Ovrum wrote:
> On Tuesday, 3 November 2015 at 09:06:57 UTC, Joakim wrote:
>> Android and iOS are gunning for laptops next, with their 
>> recently announced Pixel C and iPad Pro, I'm sure desktops 
>> will soon follow.  When those two platforms went after Windows 
>> Mobile/Phone, they burned it to the ground:
>>
>> http://bgr.com/2011/12/13/apple-and-google-dominate-smartphone-space-while-other-vendors-scramble/
>
> I think it's important to consider the divide between consumers 
> and, for lack of a better term at the top of my head, "content 
> creators". Mobile OS' notably lack support for the latter use 
> cases, like writing documents and spreadsheets, multimedia 
> editing, programming etc. Mobile OS on laptop hardware will 
> probably initially be competing solely for the consumer market, 
> including the segment that already moved to tablets.

Yep, I agree, with the caveat that full MS Office is supposedly 
already on Android/iOS- I haven't tried it- and it wouldn't take 
long for the rest of those apps to get ported over.  Less 
enterprise-oriented content creators are the target for this 
mobile expansion into laptops and desktops.  With all the 
enterprise and LoB apps deployed on Windows, Microsoft may 
retreat into the enterprise, just as IBM did when Wintel took 
over the PC platform in the '90s.

> This isn't just a random digression, I think this matters for 
> D. Maybe my interpretation is too simplistic, but I don't think 
> D has a presence in consumer-oriented software on traditional 
> OS' either, what with the lack of drive behind GUI 
> infrastructure. If we move on mobile application front-ends, 
> this will be mostly new territory for D. But maybe we will 
> first and foremost see D encroach on the spot that C++ has on 
> Android today, which in my impression appears to be in games 
> and optimized background services. For Android in particular, 
> it's much easier for us to bind the C++ API than the Java API.

Again, I agree, though there is no C++ API that I know of, all C 
APIs as far as I know.  Many of the Java APIs are unavailable 
through C, so judicious use of Java and JNI will be necessary if 
you want those.  I have not actually tried JNI yet, but I doubt 
it'd be an issue, given that it works with C and C++.

While many will likely take the current approach of writing their 
GUI frontend in Java and their application logic/backend in a 
native language like D, we should also try to provide native GUI 
options, whether wrapping the touch version of Qt, translating 
some existing OpenGL-based GUI toolkit into pure D, or writing 
our own from scratch.

>> Why does this matter for D?  Well, D's still barely on mobile.
>>  Dan has been providing ldc builds that cross-compile to iOS 
>> since July and nobody has confirmed that it works for them.  I 
>> provided patches that'd let anyone compile a mostly working 
>> Android cross-compiler build of ldc soon afterwards, no 
>> confirmed usage of that either (several people have run the 
>> test runner I made available this weekend, thanks to them).
>
> I'll give it a go. I've experimented with D on Linux/ARM 
> before, I just haven't had a project I want to run on any of my 
> ARM devices.

I forgot to mention in this thread that I'll soon provide a ldc 
cross-compiler for linux/x86 and write up instructions on the 
wiki on how to build and use ldc for Android.

>> However, there is no single cross-platform AoT-compiled 
>> language you can use on all of these mobile platforms.  There 
>> is no modern language you can use on all of them, as Swift is 
>> still iOS-only.  D could be that language, the mobile wave is 
>> one D cannot afford to miss.
>
> What do you think the roadmap should be for improving D's 
> presence on mobile?

Step 1. Somebody other than Dan and me needs to download and try 
building D code with the mobile cross-compilers/patches we've 
provided.

Everything else will flow from that.  Other steps:

- Help fix the remaining bugs.
- Integrate with Travis CI, as mentioned in the thread where I 
announced the Android test runner:

http://forum.dlang.org/thread/wnaxhoadwibctcbwpctl@forum.dlang.org

- Port some D/OpenGL apps, especially games, to mobile and submit 
them to the app stores, if only to say it's been done.

Right now, I think we need to talk about our plans for mobile.  
How are we going to capitalize on this opportunity for D?  
There's been a lot of muttering over the years, "Yeah, we need to 
get on mobile," both from devs who wanted it and the core team.  
Well, now we're 97% there: what now?  We need to get together, 
gather feedback, start planning, and put forward a credible 
toolchain for mobile.


More information about the Digitalmars-d mailing list