Description
Run Node.js on Android by rewrite Node.js in Java with the compatible API.
third-party: libuvpp, libuv-java JNI code by Oracle.
node-android alternatives and similar modules
Based on the "HTTP" category.
Alternatively, view node-android alternatives based on common mentions on social networks and blogs.
-
superagent
Ajax for Node.js and browsers (JS HTTP client). Maintained for @forwardemail, @ladjs, @spamscanner, @breejs, @cabinjs, and @lassjs. -
rocky
DISCONTINUED. Full-featured, middleware-oriented, programmatic HTTP and WebSocket proxy for node.js (deprecated) -
http-fake-backend
DISCONTINUED. Build a fake backend by providing the content of JSON files or JavaScript objects through configurable routes. -
Bearer
DISCONTINUED. Call any API and monitor requests with the Bearer API client for Node.js client Bearer. -
Pluto HTTP Client
HTTP client for NodeJS. Inspired in the Java JAX-RS spec so you can expect excellence, versatility and extensibility.
CodeRabbit: AI Code Reviews for Developers

* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of node-android or a related project?
README
node-android
Run Node.js on Android by rewrite Node.js in Java with the compatible API.
third-party: libuvpp, libuv-java JNI code by Oracle.
Build
Clone the code, open Android Studio (1.*) and import the project.
For Eclipse ADT user, refer to ADT branch
Javascript code injection
> adb shell am start -a android.intent.action.VIEW -n com.iwebpp.nodeandroid/.MainActivity -e js "var run = function () { return 'hello world'; } run();"
Features
- Node.js 0.10.x compatible API by rewrite NodeJS in Java
- Multi-threading: run separate node context in Java thread
- libUV native support
- Timer, set/clear Timeout/Interval
- EventEmitter
- Stream
- HttpParser - rewrite http-parser.c in java
- HTTP
- HTTPP - run http over udp
- TCP
- UDT - udp transport
- DNS
- URL
- IPv6
- NodeJS alike API
- WebSocket, WebSocketServer
- Connect middleware
- Crypto: NaCL support, public box,secret box,signature/verify
- SecureWebSocket over NaCL
- NaCL Cert
JS runtime
- Rhino supported
- Exposed node-android packages: com.iwebpp.node.http, com.iwebpp.node.stream, com.iwebpp.node.net, etc
- Exposed node-android classes: com.iwebpp.node.EventEmitter2, com.iwebpp.node.Dns, com.iwebpp.node.Url, etc
- Exposed node-android native context in JS standard scope as NodeCurrentContext alias NCC
- Exposed Android API: android.util.Log
- NodeJS compatible internal modules are available in JS standard scope
- Exposed WebSocket classes: com.iwebpp.wspp.WebSocket, com.iwebpp.wspp.WebSocketServer
JS usage
- In case Rhino, create class 'MyScript' extends from com.iwebpp.node.js.rhino.Host
- Implement 'public String content()' in 'MyScript' to return user script
- Execute JS engine in a separate Java Thread with 'MyScript.execute()'
- When authoring script, please use NodeCurrentContext(alias NCC) in node-android API
- JS API usages details
TODO
- API doc, more demos
- JS runtime CommonJS/AMD compliance
Support us
- Welcome contributing on document, codes, tests and issues
License
(see LICENSE file)
Copyright (c) 2014-present Tom Zhou([email protected])
*Note that all licence references and agreements mentioned in the node-android README section above
are relevant to that project's source code only.