Native Client - NaCl
Salt ? Bitter and corrosive ?
Google has released a tool that runs Android apps on Windows, OS X, and Linux computers via its Chrome browser. The beta-grade utility is called ARC Welder – ARC standing for App Runtime for Chrome, which works as a wrapper around Android software. Google released a beta version of ARC last year to allow Chrome OS users to …
I thought Android apps were just Dalvik programs, where Dalvik basically = Java.
I'm sure there's some tweaking involved but why the native code execution required rather than just a Java translation layer (presumably, there's nothing stopping you modifying the app .apk to include a Java compatibility layer that overloads whatever it needs to?)
> It's Dalvik on Android 4.4.
"""In Android 4.4 KitKat, Google has introduced a new experimental runtime — ART a.k.a Android Run Time. Being in nascent stages, Google did not replace Android’s current runtime — Dalvik — with ART. Instead, it has hidden it under Settings for developers and tinkerers to play around with and probably get some feedback. """
Dalvik basically = Java.
Dalvik != Java.
Seriously, if ever you are tempted to post such things, read up on what Dalvik is. It isn't Java, and that is deliberate.
Source code is generally written in the Java language. but is is not compiled for the JVM - it is compiled for the Dalvik VM. These are very different in a number of ways. It's worth properly grokking this - Java bytecode won't run on a Dalvik VM, and the conversion to Dalvik bytecode is non-trivial.
Java language != Java VM != Dalvik VM. But many people would have you believe otherwise. It's worth considering what motivates them to take that position...
Obviously it's not going to be useful for every app, but there are certainly apps where being able to run them on the desktop as well as the 'phone could be very useful.
For example, as well as on my 'phone I also run my own Beermad app in an Android emulator because I use it to keep my website's database up-to-date, which often means doing a lot of typing and that isn't an attractive prospect on a 'phone. While newer emulator images are far quicker than they used to be (Lollipop on an Atom emulator is surprisingly fast), not having to wait for the emulator to start up will make this a definite "must have" for me. Of course I can't use the app's GPS or camera functionality, but that's no problem.
What about apps requiring all sorts of fishooks into the system and phonehome rights?
Are there Android apps that don't request half a dozen rights for no obvious reason? "Why yes, Kindle App, of course you need access to the phone state. Certainly, Google Keyboard, I can see you must require Internet access. Recording audio is a perfectly reasonable thing for Samsung Keyboard to do!"
Of course the bloatware vendor-added apps and the social-media apps tend to be worse, so I generally disable the ones in ROM and avoid the downloaded ones like the plague. But I rarely find an app that's both useful and doesn't ask for permissions that have nothing to do with its core functionality. (That said, I don't spend a lot of time looking at Android apps, either.)
It seems like every OS failing to attract devs to the preferred API stack just go down the road of running Android apps. I guess as much as Java is hated, there simple isn't an alternative if you want to get tons of "apps" coded for a new OS, unless you Apple.
> Is there a single phone app I'd like on my PC? Android or iOS? Can't think of one.
Your admitted inability to think is not a constraint on others.
> How long until <strikeout>Google</strikeout> Microsoft* sinks too much effort into these crap app ecosystems and falls into irrelevancy?
*reference to WP6.x, WP7, WP8, Metro, Windows RT, ... app ecosystems.
I can think of one, but only because the dev is too lazy to build a web app for it, and I'm sometimes too lazy to reach form my phone. Other times I'd rather use the website than the app when I'm on a desktop. But "crap app ecosystems" is going way too far! Just because an app's not particularly relevant on the desktop doesn't mean it's not relevant on a phone.
I thought that I would try it in Chrome running (under Ubuntu: hopefully, shouldn't be significant). I found a simple app's apk (app is only calculation using user input & displaying results i.e. no GPS, accelerometer, database etc) using browse in Arc Welder: it just changed the popup back to add another app i.e. o=it did not open the app. So Beta = useless!
In the land of Google, Beta doesn't really have the same meaning it has elsewhere. There are loads of things that have been in Beta for years but are heavily used. Android Studio only came out of Beta recently, for example.
It probably depends on the app - <smug>the one I wanted to use is working nicely.</smug> The only moderately serious bug I've found is that if you try to install a second app, it tells you it wants to remove the first one (and does, even if you say "no").
I agree that MS and Apple won't approve, as such. However, Microsoft are loosening the Windows only stance - look at Office. It's available on Android, iOS and Windows. You could argue Linux too if you run the browser version (yuk). I do think that's as far MS will go though.
This is the single best move that Google can possibly make. It turns Android into a universal runtime that can work on the desktop.
Suddenly, every desktop in the world can take advantage of the vast catalog of Android applications. That includes Linux and Mac desktops, along with an army of thin devices.
This is HUGE.
under bog standard Linux my humble recommendation would be:
1) create a $FOOUSER for this browser instance.
2) Get the new $FOOUSER to start Vncserver
3) access the Vncserver from your normal desktop.
This would completely isolate the chrome browser, and that is as close to my desktop as I would let Android.
Furthermore it is very lightweight, and it is possible to share with other devices too.
"in a Chrome browser" is misleading. Chrome allows you to set a web app as an application, run it in its own window (not in the tabbed interface) and pin a shortcut to your OS applications menu. That app is running "in the browser" but the user doesn't see a browser. ARC is similar AFAICT.
This could save me having to find another android tablet to replace my Nexus 7. It's never been the same since Lollipop, but there are only a couple of Android/iOS only apps I need.
If they work well in Chrome on the Linx Windows Tablet then it's just saved the cost and headache of trying to find a suitable Android tablet that isn't cheap tat. My Linx tablet keeps a rock solid wifi connection unlike my Nexus which keeps losing it's wifi connection and therefore DCC command station connection. Reliable wifi is a very useful feature when my Son is play with his trains.
If it works too well the advancing army of low cost Windows tablets may start to eat into the low cost Android tablet market.
I've caught myself calling applications apps of late. (actually only in text 'cause I'm too lazy to actually type 'application' most of the time).
But to me, an 'app' is a useless frippery, an 'application' delivers useful functionality.
Perhaps a gross generalisation, but I think I'm on the right track at least 80% of the time.
Well first of all distributions have a certain degree of quality control. It may not be perfect, but it certainly is better than the non existant quality checking in App-Stores.
The App market currently is one of those "idiots markets". It's like the "web applications (in PHP)" market or the "windows GUI application" market i nthe 1990s. People make their first attempts at programming on those platforms, and since all of our first attempts were utter crap, those markets are filled with that.
The great thing about the UNIX philosophy is, that it makes most of those apps completely irrelevant. There's no need for them, as the same can be done with a command line.
Biting the hand that feeds IT © 1998–2019