8 ms·
Google’s ARC Now Runs Android Apps on Chrome OS, Windows, Mac, and Linux
- PirateDave 11y agoComing from OSX development, I read this as "Google's Automatic Reference Counting" and was thinking that it would be pretty sweet.
- nickbauman 11y agoI read it as ART, which would be insanely great as well.
- dmitryskiba 11y agoI'm working on bringing ART to OSX, see https://github.com/DmitrySkiba/ARTPart https://github.com/DmitrySkiba/ARTPart
- rodgerd 11y agoI thought it was a caching mechanism for a moment (ZFS).
- on_and_off 11y agoThat would probably be very sweet indeed :) . Android's GC is constantly improving but I just don't know if it will hit the point where it is entirely invisible for a reasonably coded app (ie if you create heavy objects during each onDraw cycle, it is your fault and would result in shitty performances with any OS). ARC sounds like an interesting way to do GC. From my limited understanding, the reference counting adds a non-null cost but it looks like a good trade-in against unpredictable GC pauses.
- msoad 11y ago"Write once, run everywhere" is the web applications promise. Unfortunately we have a lot of work to do to make web applications comparable to native apps.
- lucio 11y ago"Write once, run anywhere" was Sun's slogan for Java.
- dmix 11y agoGoogle's following through on that lofty goal in a reasonable way. Assuming one uses their product lines. Too bad its still Java though :p (with many advances in sandboxing and security), but I guess Google/Android didn't really have much of an option back then and I'm honestly not sure what would be the better choice now.
- pjbrunet 11y agoAs long as you didn't need a user interface :-) Back then, you were lucky to get any Applet working without crashing the browser. From what I remember, GD was pretty much the only way to draw anything besides ASCII art. Oh and that Macromedia... shudders
- rimantas 11y agoDoes "everywhere" include e.g. Firefox? Also, no, you don't have to make web applications comparable to native apps. At all. Just make native.
- phubbard 11y agoLooking forward to porting my FOSS newsreader over. Nice work, this.
- noteloop 11y agoVLC is coming to Chrome OS soon thanks to ARC. Anandtech has tried out the beta version and it is coming along nicely. http://www.anandtech.com/show/9082/the-chromebook-pixel-2015-review/5 http://www.anandtech.com/show/9082/the-chromebook-pixel-2015...
- gitah 11y agoIf only Apple will open up iOS a bit so Google can port this over...
- mintplant 11y agoThat could have downsides for both companies. a) Android becomes the "write once, run anywhere" platform, attracting developers away from native iOS development. b) Android loses app exclusivity that pulled/locked users into the platform.
- jessaustin 11y agob) Android loses app exclusivity that pulled/locked users into the platform. Was that ever a thing? I can think of apps that had this effect for iOS, but did it ever work in the opposite direction? I got Android because it's less expensive...
- sanxiyn 11y agoYes. For example, in South Korea, most apps are released for Android first, then maybe iOS, because Android has overwhelmingly more market share compared to iOS.
- rifung 11y agoThat's really interesting since in the US it's the opposite: apps are released for iOS and months later an Android version will potentially come out. I wonder if it has anything to do with the fact Samsung, the most successful Android manufacturer, is in South Korea.
- MarkMc 11y agoReally? This page claims iPhone market share is 33%, and was even 15% before the release of iPhone 6: http://blogs.wsj.com/digits/2015/01/20/apples-smartphone-sales-in-asian-markets-soar-counterpoint/ http://blogs.wsj.com/digits/2015/01/20/apples-smartphone-sal...
- akhilcacharya 11y agoThe only issue is having a unified design system that is optimized for larger-screen, mouse and keyboard devices.
- mrmondo 11y agoJust when I thought I'd rid myself of Java...
- ianlevesque 11y agoOh don't worry, Dalvik/ART is completely different from Java, at least for legal purposes.
- Zigurd 11y agoNeither run Java bytecode. They happen to have Java semantics. But they are one (Dalvik) or two (ART) steps removed. Once your Android toolchain has produced Java bytecode, it is translated to Dalvik bytecode before being packaged. Then it might, or might not (pre-ART systems), get translated to native code before being run. And, depending again on version, might get JIT compiled, or not. Once can take advantage of this in interesting ways. If you are Myriad and you have a Java(tm) runtime for mobile devices, you can skip (or reverse) the Dalvik bytecode translation and run Android apps in your runtime. At which point Oracle sues your ass, and the settlement is confidential. You can see this approach at work in the Jolla handset.
- yulaow 11y agoI think that in the medium/long run google will, at least, add a new language officially supported and a bit more modern that the pseudo-java5 they are using right now. I mean something like what apple made with swift. Also considering google is already working on Go and Dart, there could be already something in preparation related to them.
- wvenable 11y agoI hope they go with C#.
- cloudwalking 11y agoApril Fools!
- drvortex 11y agoI have to admit that this is a brilliant move by Google. In one sweep, they have put the might of the formidable Android ecosystem behind ChromeOS. Well done. Chrome OS is instantly comparable to Linux and Windows if it can run native apps.
- lern_too_spel 11y agoChrome OS has been able to run native apps via NACL for a while. This just makes porting automagic for a certain category of apps (Android). It remains to be seen if more Chrome OS devices will come with touch screens or if app developers will modify their apps to work well without them.
- alttab 11y ago"One sweep" and "instantly" are flamboyant at best. There is a long way to go before running android apps on desktops is the norm. Sure, some run Android emulators but its for special cases.
- cwyers 11y ago> Chrome OS is instantly comparable to Linux and Windows if it can run native apps. Windows and Linux have many, many more applications that are meant for trackpad-and-keyboard-with-'large'-screen interaction. Adding phone and tablet apps to ChromeOS doesn't make it instantly comparable to Linux and Windows.
- rifung 11y agoThis seems technologically awesome, but I don't really know how useful this will be presently to everyday people. I can't really think of any Android apps people would want to run on their computer.
- tree_of_item 11y agoI've been writing a lot of Go lately and this makes me pretty excited. The Go developers have put some effort in to getting Go working well on Android, with accompanying OpenGL related libraries[0]. If those apps really do work well on desktops now that'd be great. [0]: https://godoc.org/golang.org/x/mobile https://godoc.org/golang.org/x/mobile
- pjmlp 11y agoIt is no different than using the crippled NDK.
- on_and_off 11y agoI don't know why you are getting down-voted. You are right, if you can't access to the Android framework, standard app development is heavily crippled.
- pjmlp 11y agoMost likely by people that never bothered even to try to install the NDK. Looking to how the Android team deals with anyone that dares to use the NDK, I bet if they had the freedom to choose the NDK would never had been made available.
- kumarm 11y agoJava's Write once Run Anywhere is live in spite of Sun's Failure. I just hope Oracle makes up with Google for Java's Sake. Google is the only reason Java is not a dying Language.
- axaxs 11y agoHave you ever worked for boring, enterprisey companies? Java is everywhere, sadly.
- edwinnathaniel 11y agoYep, like Yahoo! (search, infra), LinkedIN, Twitter, NetFlix, Square, RelateIQ (startup, bought by Salesforce), Salesforce (itself), Google, RedHat, Facebook (I'm sure there are a few teams that have to use Java), Yammer, the list goes on and on and on...
- pekk 11y agoTo be fair, the list of companies using COBOL is also long.
- halosghost 11y agoHere's hoping this is eventually gets made into a standalone library or program that can be run without Chrome. Don't get me wrong, Chrome definitely has some benefits over other browsers, but I don't want to have to have it to use this and I definitely don't want to have to run a browser to use apps.
- deleted 11y ago[deleted]
- yincrash 11y agoThere are already standalone Android runtimes to run apps as is on your computer without Chrome. See BlueStacks[1] [1]http://www.bluestacks.com/ http://www.bluestacks.com/
- Zigurd 11y agoBluestacks is an emulator running the Android OS under Windows, not an integration of the Android runtime with Windows. The latter is possible, but it would take quite a bit more work. Whereas ARC really is an Android runtime, separated from the Android OS, and ported to other OSs.
- derefr 11y agoAnd that library would be Chrome. Which is to say, whether or not you ship a web browser UX, you need 95%+ of Chrome to run NaCl/PPAPI apps, which this Android virtualization layer targets. Really, Chrome itself isn't so much a web browser any more. I swear, at some point they're going to let you generate seeming-OS-native-binaries from Chrome Apps which will then bootstrap themselves by silent-installing Chrome—but only the "app launcher" part, not the "web browser" part. At that point, Chrome will be a capital-P-Platform: exactly the same as Silverlight/Adobe Air/etc.
- snowwrestler 11y ago> At that point, Chrome will be a capital-P-Platform: exactly the same as Silverlight/Adobe Air/etc. Or Flash, or Java...and look how well things have worked out for all those "write once, run anywhere" client app platforms!
- samholmes 11y agoWhy would I want to run Android apps on any device?
- dpcan 11y agoIf you are a Chromebook user, you want to run Android apps so there are more to apps available to you. If you are an app developer, you want your apps in front of as many people as possible, regardless of their device. Or, for the kids, this may mean Minecraft Pocket edition on the Chromebook :)
- donatj 11y agoI've been wanting the android kindle app on Mac for a while. It is so much better than the Mac app.
- bootload 11y ago"ARC runs Windows, Mac, Linux, and Chrome OS thanks to Native Client (abbreviated "NaCL"). NaCL is a Chrome sandboxing technology that allows Chrome apps and plugins to run at "near native" speeds" Straight out of the MS playbook, 'lets use our dominant browser as a pincer move to gain developer/market share'.
- pjmlp 11y agoBut since it's Google everyone jumps and says yes!
- dragonwriter 11y agoThe Google page linked from the article does not support the claim that this extends beyond ChromeOS for deployment via the Web Store -- in fact, it repeatedly says the opposite --only that the packaging and testing process works on Mac/Windows/Linux.
- blinkingled 11y agoIf this means Microsoft's Office Apps for Android (Word, PowerPoint, Excel, Outlook) come over to Chrome OS and Google manages to integrate them in a nice fashion - Microsoft has one more headache to deal with. That aside, this will seriously increase the appeal of Chromebooks - who doesn't want a simple, secure platform that can run all the bazillion Android apps? Google just needs to pay some more attention to Chrome OS desktop interface - it is shitty frankly.
- pekk 11y agoAndroid apps are typically a pretty lame desktop experience. It's the corollary of desktop apps typically being a lame mobile experience.
- jon-wood 11y agoCurrently yes, because so few people are running them on a desktop. There's nothing preventing that from changing other than momentum though, Android is set up to handle varying form factors already, so if someone wanted to create an app which scales from mobile through tablet to desktop they can do so. Now that there's a supported way to get Android apps running on people's desktops I could see this becoming more of a thing, especially for things like photo and document editing.
- MarkMc 11y agoThis is absolutely huge and I think some people may be missing its significance. Back in the 90's Windows had a huge monopoly due to network effects - developers would target Windows because it had the greatest number of potential users. But now they will target Android for the same reason because it can run on Windows, Mac, ChromeOS and Android smartphones. This "Android First" model will affect several major areas, all in Google's favour: 1. It strengthens ChromeOS over Windows. ChromeOS is already a strong player in the education and low-price sectors. Having a huge range of Android apps will make ChromeOS far more attractive and grow its market share. Moreover if corporate, boring-office-CRUD developers switch to an Android-first model then it will very quickly kill Windows. 2. It strengthens Chrome over Firefox and IE. Many apps will now require the Chrome browser to run. Oh, you are running Firefox on Windows and want to play that cool Android game your friend told you about? Just switch to Chrome and sign in with your Google account! Again there are network effects - the greater Chrome's market share the more willing developers are to create Chrome-only apps. 3. It strengthens Android over iOS. Android has about 85% of smartphone market share, but many startups are still undecided about an Android-first approach because a single Apple user generates far more revenue than a single Android user. Having Android run on desktops will push some startups off the fence in favour of Android-first. A few developers switching from iOS to Android doesn't sound like much, but if there are a ever a critical mass of Android-only apps it will quickly kill iOS. Apple should be worried. 4. It strengthens Native over Web-app development. Ok this isn't a huge benefit for Google, but it is significant for developers. Back in 2005 every startup chose browser-based web apps as their target platform. The rise of smartphones has pushed the pendulum back towards native development, but desktops have remained the preserve of web apps. Many startups now develop both a Web App and Android version of their product - by dumping Web App development startups will now be able to (a) save costs; (b) produce a desktop app that has native performance and better access to Google Play Services.
- kibwen 11y agoIt's certainly a fascinating piece of tech and a very politically intriguing play by Google, but I don't see it suddenly changing the calculus of app development. Here's why: the set of apps that I run on my phone are disjoint from the set of apps that I run on my laptop or desktop. My laptop doesn't need a flashlight, or turn-by-turn navigation, or the ability to hail a cab, because I don't have it out or open or even with me when I do the things that need these apps. My phone doesn't need Photoshop or Notepad++ because the form factor doesn't favor it. Write-once-run-everywhere isn't a selling point for your app because I don't actually want to run it everywhere. The one exception could be games, which are a lucrative market. That said, mobile games will offer a limited set of interactions compared to typical PC offerings, which will limit appeal to people who are already playing mobile games but who wish to play those games on their desktop as well. It will increase time spent in the app, but not grow the market substantially relative to new users coming in from mobile devices. And because it requires a browser anyway and because ARC is never going to run on iOS, if the web can advance fast enough to keep the market satisfied (asm.js is a start, but payment is still horribly lacking) then there will be pressure to just do everything on the web anyway. Interesting times are in store, regardless.
- mkozlows 11y agoWill this support NDK apps? I don't really care about most Android apps -- I'd rather have an HTML version, and the web is a better universal runtime than the Android API for a bunch of reasons -- but it'd be cool to be able to play Android games on a Chromebook.
- Jyaif 11y agoIt does.
- bliti 11y agoI've had the opportunity to work with this project and it does deliver. In terms of code portability it's pretty good. Small changes had to be done to accommodate some yet to be supported APIs. No big deal though. The performance is good. Even on the low end chromebook I test with. Myonly concern is related to how the (my) codebase might need to evolve over time to adapt to ARC updates. Right now it's pretty sane with only a handful of extra settings on the manifest file. But I worry about being forced into forking. Having two similar but slightly different codebase for the same app is silly. The overall experience with the Google team has been very positive. Which, in all honesty, surprised me. I was expecting the typical corporate attitude towards outsiders. The way the ARC team has gone above and beyond to help has been refreshing. I do worry as to how this would affect the openness of the web. A closed source container used to run other closed sourced clients is not my idea of how the Web should be. Even Mozilla is going down this route with their browser apps. Though I have more trust in Mozilla than in Google in regards to having and keeping an open web. Either way, it raises an important question: Where is the Web going in the next 10 years? I wish I knew. Right now it looks like a toss up.
- MarkMc 11y agoJust curious: What is your app? Is it available on Chrome web store?
- bliti 11y agoI cannot divulge such information at this moment, sorry.
- kevingadd 11y agoEverything involved in Firefox OS and their web apps is open as far as I know, what are you thinking of when you say they're going down the 'closed source container / clients' route?
- bliti 11y agoMy point is more towards Chrome/Google. I mentioned Mozilla with regards to firefox the Web browser and not firefox os. The latter does excite my interest and has me dying to get my hands on a device to tinker with and build apps. Even if it's with javascript. :)
- clay_to_n 11y agoAre there any code changes necessary to get your app to work on this? When I run my APK I just get a white screen with the app logo in the center.
- brudgers 11y agoTo me this seems like a hope and pray response to where Windows is heading with a heterogeneous platform strategy. What people want is high quality robust full featured applications on their mobile devices, not app store quality word processing on their laptop. I already have all the Gmail and hangouts on my desktop I could ever want. I don't think I'll use the Clojure REPL app in lieu of $> lein repl or the Maps app in lieu of my browser. To a first approximation, apps are better than nothing but I don't see this as a Windows 8 app killer ~ their standard of fit and finish is generally higher. There's a niche where this will be great but I don't see an app replacing audacity or blender anytime soon.
- empressplay 11y agoHrm. I converted one of my Android apps with ARC welder and uploaded it to the Chrome store but it will only install from there on Chromebooks =( Anyone know how to enable desktop distribution?
- ohjesusthatguy 11y agoThe way I read the getting started[0] page says you can test on your desktop but can only deploy to chrome os. [0]https://developer.chrome.com/apps/getstarted_arc https://developer.chrome.com/apps/getstarted_arc
- deleted 11y ago[deleted]
- MarkMc 11y agoSo where can I see a list of Android apps which I can run on my Mac?
- pygy_ 11y agoIs there any project under way to translate PNaCl code to asm.js? Edit: reading further, PNaCl happens to be a subset of LLVM IR. The Emscripten code could probably be repurposed to run NaCl and thus Android apps everywhere.
- iso8859-1 11y agoyou're forgetting the API (pepper). There are already Pepper shims for Emscripten but they are unusable.
- timeu 11y agoOn the one hand this is really awesome because by opening ChromeOS up to Android apps it becomes much more useful. The other side of the medal is that this might slow down progress on the open web-platform as developers would rather develop a native android app than put effort to make a web-app. It somehow funny: Recent developments around the web platform (service workers, etc) are supposed to make web-apps compete with native apps and even Microsoft is starting to embrace this (web based skype). At the same time now native apps run in the web. It will be interesting how to this will evolve. It also shows why Google developed NaCL and that it doesn't really matter that it hasn't been adopted by other browsers. Because its main use case is for ChromeOS.
- robmcm 11y agoSo we have come full circle in circa 5 years. We now have a development platform for desktop quality apps in a proprietary format that run via a plugin in the web and in a runtime on desktop. The only missing link is publishing the plugin so other browsers can run the apps, oh and renaming it to Flash.
- amelius 11y agoSigh. We need this going the other way around; that is, our mobile devices supporting web-apps, instead of our browsers supporting mobile apps. ARC is going to be the next Flash(TM). And now developers still have to target multiple platforms (web, android, ios), instead of just the web.
- dragonwriter 11y agoWhat mobile browser doesn't support web apps? They may not support proprietary app stores and the nonstandard "web" (but not really) apps tied to them, but actual web apps are generally supported on major mobile browsers.
- digi_owl 11y agoI really wonder why it is only Mozilla right now that offers their browser as a tar.gz for Linux use.
- jfuhrman 11y agoIs this the reason that Chrome seems be getting extremely bloated on the desktop? It's like running a ChromeOS VM with every chrome.exe process. I guess it's time to go back to Firefox or try Spartan.
- smd686s 11y agoAs a marketer, this allows me to manage social accounts like Instagram and Vine from the desktop env. In fact, we have those two working for our team now: https://medium.com/@seanmdixon/run-android-apps-in-chrome-78b2f51945b8 https://medium.com/@seanmdixon/run-android-apps-in-chrome-78...