nw.js icon indicating copy to clipboard operation
nw.js copied to clipboard

Add Android Support [$50]

Open subtleGradient opened this issue 12 years ago • 111 comments

Yes.

There is a $50 open bounty on this issue. Add to the bounty at Bountysource.

subtleGradient avatar Oct 17 '12 00:10 subtleGradient

http://code.google.com/p/chromium/wiki/AndroidBuildInstructions

https://github.com/paddybyers/anode

Epicness, this'd haz it

subtleGradient avatar Oct 17 '12 00:10 subtleGradient

It's possible to provide an Android port of node-webkit, but I don't have plan for that in near future, supporting all three major desktop platforms has already taken all of my time.

zcbenz avatar Oct 18 '12 00:10 zcbenz

In case Chrome need V8 Android bridge, it should be done there.

at least three things to do:

  1. porting Chrome's V8 to node.js.
  2. cross compile node.js with Android NDK
  3. poring what else in content-shell to Android

sequoiar avatar Oct 18 '12 05:10 sequoiar

If it's technically possible that would be awesome. Could game developers even use WebGL on Android with this way?

donaldpipowitch avatar Oct 21 '12 13:10 donaldpipowitch

Not sure, I'm not familiar with Chrome on Android.

zcbenz avatar Oct 22 '12 00:10 zcbenz

Hmm... nope. The current version of Android for Chrome doesn't support WebGL :(

donaldpipowitch avatar Oct 22 '12 08:10 donaldpipowitch

@donaldpipowitch , I'm sure it will get better :)

rogerwang avatar Oct 22 '12 08:10 rogerwang

@subtleGradient, why not use Phonegap?

allencblee avatar Dec 01 '12 05:12 allencblee

PhoneGap neither uses V8 nor Node. It just uses the native WebView and adds some API bridges.

donaldpipowitch avatar Dec 02 '12 12:12 donaldpipowitch

FIY: Great news. The recent Chrome for Android Beta features WebGL hidden behind a flag: http://blog.tojicode.com/2013/01/get-webgl-working-on-android-chrome-beta.html?m=1

It would be just so sweet to get node-webkit running on an OUYA :)

donaldpipowitch avatar Jan 11 '13 08:01 donaldpipowitch

This is epic if possible :)

kevsmt avatar Jan 11 '13 08:01 kevsmt

Even if it's technically possible to enable node APIs on Andorid, will Google allow such an application being installed? Basically it can access all the resources in the device and user will have no way to control it.

zhizhangchen avatar Apr 19 '13 08:04 zhizhangchen

I think you would have to use the regular Android way and declare a AndroidManifest.xml to set permissions.

donaldpipowitch avatar Apr 19 '13 08:04 donaldpipowitch

Meanwhile, https://github.com/paddybyers/node/wiki/Building-v0.11-for-Android

Mithgol avatar Apr 19 '13 08:04 Mithgol

Meanwhile, the joyent/node#5514 patch has been merged into the core of Node.js.

Mithgol avatar Jun 18 '13 07:06 Mithgol

hi

what s up with node-webkit on android ?

thx

smolleyes avatar Aug 03 '13 10:08 smolleyes

FYI, here is an attempt to provide a pure javascript development environment for native Apps, by using V8 on Android and spider-monkey on iOS. http://sourceforge.net/projects/yaui/

yapcheahshen avatar Aug 21 '13 05:08 yapcheahshen

Any progress on this?

albi90 avatar Aug 26 '13 00:08 albi90

If it would be possible to get it working, I may be interested in paying someone (a grand or two?) to get this going. Requirements would be that it has WebGL available (ie latest Chrome).

tarwin avatar Sep 27 '13 23:09 tarwin

FYI: With the new JS-to-ObjC-Bridge in iOS7 it should be possible to polyfill Node on iOS, so generally it should be possible to do node-webkit on iOS7, too?

donaldpipowitch avatar Sep 30 '13 07:09 donaldpipowitch

its definitely possible, i have just converted one of my projects from node-webkit to android using the chromium content shell for android from https://github.com/davisford/android-chromium-view doesent have nodejs but the JS bridge works so i was able to recreate the required nodejs functions in java and pass the information back over the bridge.

albi90 avatar Oct 01 '13 03:10 albi90

It would probably need a native app shell and then define a JNI to map webview's js calls to node. (in theory!)

jmorvan avatar Jan 17 '14 12:01 jmorvan

You could probably modify webinos, to emulate node-webkit from what I have read its the chromium content shell smashed together with anode.

https://github.com/webinos/webinos-android

Thanks Albi90

albi90 avatar Jan 17 '14 12:01 albi90

bump

raitucarp avatar Feb 15 '14 09:02 raitucarp

Very interested in html5 nodejs (node-webkit) for my new android tablet

ghost avatar Mar 12 '14 19:03 ghost

If what you care about is a full-performance Chromium fullscreen window on Android showing your web app, well then I suggest that you look into using Crosswalk (http://www.crosswalk-project.org).

If you really depend on the node.js support, well then you can stop reading here, at least for now :-)

There is even an APK generator here: https://github.com/crosswalk-project/crosswalk-apk-generator.

So what is Crosswalk and does it make sense for you? (some extracts from my upcoming article for html5hub.com)

Crosswalk brings the full performance of Blink/Chromium to web applications on all Android devices from version 4.0 onwards, as well as some additional standards-based web features requested by app developers, such as orientation lock, raw sockets, WebRTC and WebAudio and even WebGL :-)

I guess some readers know that the latest Android (4.4, KitKat) now brings a WebView based on Chrome and Blink, so why not just use that?

Well, the new WebView is only available to people running the latest major version of Android and furthermore, the performance characteristics and features differ somewhat from Chrome, depending on the Android API level used by the embedding application.

This is because the new WebView in KitKat has to match the behavior of the previous WebView to avoid breaking existing applications, which means supporting legacy features, workarounds etc. In some cases this negatively affects layout and performance. In particular canvas performance seems to be hurt and features such as WebGL are left out for now.

As Crosswalk doesn't need this compatibility, it can follow a design very similar to that of the Chrome browser, and it is in fact built on top of Chromium components such as the content module and the Blink engine which makes it blazingly fast and very standards compliant.

kenchris avatar Mar 13 '14 13:03 kenchris

What I would like to do is: Do all my development of Android app's on the tablet (Android OS). For me this has two advantages:

  1. I don't have to carry around a 4lb laptop.
  2. I don't have to run an android simulator and then reconfirm its actual operation in the Android environment.
    Then there is the added time of keeping the simulator in sync with the Android OS. And the publishing and transfer between the two platforms. Do I really need all of this complication?

ghost avatar Mar 13 '14 14:03 ghost

Hi Guys

If you want i have the latest chromium content shell refracted into an android studio project, i cant take any credit for it, its based on Davis Fords github project (now private), but updated.

just add a javascript bridge to communicate between your java and javascript.

Thanks Albi90

albi90 avatar Mar 14 '14 02:03 albi90

Would be great to see node-webkit support for Android and iOS, it would definitely expand node.js to everywhere (already have it running as a pseudo-operating system for embedded devices by killing the window manager on a Raspberry PI, replacing X with a single-window instance of Midori and setting node.js to run automatically, same can be done with a node-webkit application but it makes it a bit harder to update than separating the node.js and web browser instances in that case).

CoryGH avatar Apr 17 '14 18:04 CoryGH

I am with you on this. Want to develop browser based application for local android platform. Working on it now!

On Thu, Apr 17, 2014 at 1:56 PM, CoryGH [email protected] wrote:

Would be great to see node-webkit support for Android and iOS, it would definitely expand node.js to everywhere (already have it running as a pseudo-operating system for embedded devices by killing the window manager on a Raspberry PI, replacing X with a single-window instance of Midori and setting node.js to run automatically, same can be done with a node-webkit application but it makes it a bit harder to update than separating the node.js and web browser instances in that case).

— Reply to this email directly or view it on GitHubhttps://github.com/rogerwang/node-webkit/issues/94#issuecomment-40749586 .

ghost avatar Apr 17 '14 19:04 ghost