-
Notifications
You must be signed in to change notification settings - Fork 3.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Android Support [$50] #94
Comments
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. |
In case Chrome need V8 Android bridge, it should be done there. at least three things to do:
|
If it's technically possible that would be awesome. Could game developers even use WebGL on Android with this way? |
Not sure, I'm not familiar with Chrome on Android. |
Hmm... nope. The current version of Android for Chrome doesn't support WebGL :( |
@donaldpipowitch , I'm sure it will get better :) |
@subtleGradient, why not use Phonegap? |
PhoneGap neither uses V8 nor Node. It just uses the native WebView and adds some API bridges. |
FIY: It would be just so sweet to get node-webkit running on an OUYA :) |
This is epic if possible :) |
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. |
I think you would have to use the regular Android way and declare a AndroidManifest.xml to set permissions. |
Meanwhile, the nodejs/node-v0.x-archive#5514 patch has been merged into the core of Node.js. |
hi what s up with node-webkit on android ? thx |
FYI, here is an attempt to provide a pure javascript development environment for native Apps, |
Any progress on this? |
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). |
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? |
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. |
It would probably need a native app shell and then define a JNI to map webview's js calls to node. (in theory!) |
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 |
bump |
Very interested in html5 nodejs (node-webkit) for my new android tablet |
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. |
What I would like to do is: Do all my development of Android app's on the tablet (Android OS).
|
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 |
Hi, Just to add a summary of current (2016) situation : I practically create an entire app on windows using Node-webkit + HTML5 + sqlite, then I use same exact folder as a base for an android project using the free Intel XDK (https://software.intel.com/es-es/intel-xdk), which uses Cordova. Despite the fact it will not be a native application for Android, it allows me (as per intel-xdx documentation) to publish also in iOS, so practically with NWjs development you now are covering pc, mac, linux, android, iOs. Blackberry is even opening (or already opened, not sure) to publish android apps, so I think we finally have a great option for multi-platform, as you may publish with little changes same app in a web server (node.js) server and connect to a more robust BD (to replace sql) if needed. Am I right ? or do you guys think we need to wait for more to have a real multi-platform solution ? By the wat, if you want to see app sample is free on google play (hope this will not be considered as spam) here: https://play.google.com/store/apps/details?id=net.LuzEnTuVida (in spanish) |
Our experience with IOS , it is broken. IOS devices do not support many CSS3 features that Material Design Lite won't work. Android is fine tho. |
iOS 9+ should support more modern CSS if you use a UIWebkit view controller. Doable in 8 but needs a workaround for loading local files. Also, js performance should be an order of magnitude improved. I'm leaning more hybrid app with handrolled mobile-specific normalization nowadays for apps with basic mobile OS needs. Wrapper quirks and unsupported features are as much to learn/overcome as android/iOS shenanigans in a lot of cases. |
Wow you are good hero for Smartphones and Tablets! Very interesting with Android and iOS yeah and where is FirefoxOS, Tizen and BlackArray OS and FreeBSD OS. You know I really miss sometimes node.js and nw.js for FreeBSD - If you have installed FreeBSD / OpenBSD on box than. But FreeBSD is not same Linux because FreeBSD is like so close Darwin ( very unix usable ) For unsupported platform with software-3D ( like old voodoo 3D without graphic cards ) How does sofwtare-3D work? I know it is very slow if you have big 3D project into jar. impossible??? I hope you develop hard |
Hi, I successfully run node on crosswalk for Android(Crosswalk provides an alternative for Android WebView), including native node addon. |
I'm trying to implement it as well, @axinging |
@matikbird For node js itself, no need to root. Due to android's limitation, if you want to execute native addon at /data/local/tmp, you need to root your devices. |
That's amazing, I'm still trying to make it work. I'm speachless. I trully can't believe it's possible. If that happens, you earned yourself a new fan. So far, what I've done to make an hybrid app was: If I do what I've always done, I don't think Node will be avaible. |
@axinging @matikbird Hi, i'm too interested on this. But i basically not develop mobile or desktop apps, just interest. Let me know if you're done. Thanks. |
Just a side note I am using for some time now. Steps: |
Will upload a workable apk soon. I didn’t try npm’s way. I am not sure if npm works on android. Also, for native addon, they are most built for x86. For crosswalk cordova, node’s support was not officially support. This was just my personal’s interest. |
«Yes, but I don't want to install Node.js & NPM in my device» ─ The users, everytime I ask them to install my app. I meant if it was something like Electron, where you can work with Node.js in a development enviroment, and deploy your apps to all users. Access to LevelDB and stuff, fs filesystem (cordova has it, but whatever). I am not sure if my question was understood, I'm sorry. |
You can download apk here: https://github.com/axinging/node4android_demo/tree/master/apks. When the apk is started, type: file:///sdcard/nodeconv.html. |
There is a Node for Android now called Dory in the Play Store. |
bump |
@loadbalance-sudachi-kun funded this issue with $256. Visit this issue on Issuehunt |
Woah |
@rororofff has funded $2.00 to this issue.
|
My theory is that someone will eventually learn to do something similar to Termux, to find a way to run NW.js (headlessly?) inside an Android application that has a Termux-like environment (basically a Linux/Debian-like environment), and finally pipe the NW.js graphics to an Android Activity (or similar) within the same Android application. Then they'd also need to pipe user events from the Android Activity the other way back to the NW.js instance so it can process them. Maybe there's a better way, but so far that's one way I think is possible. |
Apparently people are installing Arch Linux and installing Linux GUI applications inside Termux. https://wiki.termux.com/wiki/Arch So, the doorways are already open. Someone needs to package it into a convenient helper that takes an NW.js app and bundles it into an app that runs it in that environment. I wonder how GPU support is. |
This means that we can run things like NW.js headlessly. This is a possible high-level list of steps to take:
Of course, there will be many smaller details to take into consideration. Another possibility other than using Arch is to use the WIP termux-x11 stuff, or even some other distro. Whoever does this would probably want to try different approaches to see which works best. A benefit of wrapping NW.js apps in a Termux- Linux-like environment is that NW.js would itself still only support three OSes. Then this would be a wrapper around NW.js. Making NW.js natively support Android would be more ideal, but that might be more difficult (though I could be wrong). |
Is this thing still going or has it been given up on? I'm personally quite interested in it. |
@UtterDonkey No one is working on this. While the demand is there the devs that can work on such a big endeavor are not. Most developers have prepped their codebase to build using NW.js or Electron for desktop and Cordova for mobile. |
@baconbrad Okay, thanks for the update! |
can anyone open nw js games with exagear on android? |
Use Wine |
For those looking for an all-in-one way to build for Windows, OSX, Linux, Android, and iOS. I've made a Vue.js boilerplate for the desktop side, which was forked and someone from the NativeScript team added NativeScript to it, so it should be able to build for mobile too. I don't know how well maintained that repo is/will be, but can be a good starting point. You will need to learn:
to be able to use it. |
Yes.
There is a $50 open bounty on this issue. Add to the bounty at Bountysource.
The text was updated successfully, but these errors were encountered: