What I’d do is running a full blown database application on the device. Couchbase Lite can do that as an example - replicate to a Couchbase server and allow offline access to data and indices. If your server part is Node.js based you should be able to have the whole thing running offline on devices.
Why? I’m Swiss. We drive a lot of trains and they enter a lot of tunnels. Or on the plane. Or on a mountain. Imagine you can just keep on editing all your business data and sync the delta once you get a connection.
You may be interested in a new way to develop web applications that I have been developing. An entire site is represented in JSON, and pages are built by Javascript in the browser. This greatly reduces server calls, making it much faster as well as largely working offline.
What makes this a better approach than having something like React run in a ServiceWorker?
www.sparational.com seems to have gone down since I started writing this comment, but when I clicked on the link, it seemed to have quite a considerable wait until anything appeared on the screen.
I don't know about others, but developing react native apps I sometimes have the necessity to use some NPM modules that can't be used directly into react native. For example, I'm developing a 1-person chatbot platform and I want to run botkit processes inside the app so I don't need a backend. It can't be done with React Native but could be done using node-android or nodejs-mobile.
If the purpose is to just run JavaScript code on Android outside of a browser context, React Native and NativeScript have been doing this for a while.
If the purpose is to run JavaScript functions as background services this is somewhat implemented via Service Workers in Progressive Web Apps.
I don't think there is any way (currently) to register a JavaScript function/library as an always-on server process. I don't see why this would be unsafe or particularly undesirable unless there is something computationally intensive happening.
This looks like a NodeJS implementation written in Java (I'm guessing from a dead-push to make Java's JS VM capable of running NodeJS APIs - and note that its compatible with Node 0.10.x - very oldish) Still would likely fill a niche where previously not possible.
Very nice! I've been playing with https://github.com/janeasystems/nodejs-mobile to get the Dat project to run on Android and iOS. This might be another way to do the same thing on Android!
Your linked project makes a lot more sense since it is a native NDK port instead of a complete rewrite/re-implementation in another programming language.
I'm probably being blind here, but why would you need to re-write node.js in Java in order to be able to run it under Android? Why couldn't this be achieved through JNI (or similar)?
the initial purpose is to run http over udp with nodejs on Android for p2p web service. I have spent years of effort on it, but I feel tired now. anyone interested in it, can fork and continue on it. thanks.
Not throwing rocks, this is a question based in my own ignorance. I know what Node is, but I don't use it and I'm not an Android dev. Thanks!