dna2github / NodeBase

NodeJS Platform to Build Sharable Application
Apache License 2.0
90 stars 64 forks source link

Approaches to running Node on Android #3

Closed aschrijver closed 7 years ago

aschrijver commented 7 years ago

Hi,

This is just a FYI, feel free to close.

I am not familiar to the native linking, compiling techniques in bringing Node to android, so find it hard to choose between options. To not waste your time, I first created a SO question with some of the approaches I found.

Here is the link: Approaches to running NodeJS on Android

dna2github commented 7 years ago

Hi,

Thx for your question. I will do a brief answer in my view.

1. Running V8 javascript engine on android which includes NodeJS

pros:

cons:

2. Compile NodeJS as a native library (using node-on-android)

pros:

cons:

3. Running NodeJS on Android using Termux

pros:

cons:

4. Other interesting approaches

Not familar with LiquidCore; build micro service especially from url, I think, is to resolve no direct available storage on iOS. react-native-node the Android part is based on NodeBase method and use the prebuilt binary. For NodeBase:

pros:

cons:


At first, I run node in terminal; I find only dev can easily to use it to start js app. My friends and families also wanna some tools for example make water mark on picture in batch. NodeBase is created for them to easy to start/stop app. Then they just need to open browser to use it. My another idea to create NodeBase is that we can build sharable applications that can be shared in the same Wi-Fi. When host starts an app, it can be visited by near people. Then they can work and play together. For example, we play werewolf and when there is no judge, we will start the werewolf app to have a judge for the first round. We can also share files between devices via download/upload. For me, I can build what I want flexibly for example, I would like to make my Android as a machine learning runner; it can help me run machine learning programs at anytime (with node and python, thus in my another repo: https://github.com/dna2github/dns2oslab is focus on building binaries) to make use of phone running time.

For you, if wanna port your app in a short time, I recommend 2; if you have time and other resources, 1 is better. 3 if you just make a toy/demo. 4 other is always possible and just do your imagination to create works.

Best wishes, Seven

aschrijver commented 7 years ago

Thanks a LOT for your extensive answer!! Very clarifying.

Do you mind adding it to SO as well, or - if you are not on SO, I can copy the text and contribute to you?

aschrijver commented 7 years ago

PS I was trying to port hypercore + related (part of dat project) to android for decentralized p2p apps --> will be interesting for your sharable apps for sure!!

dna2github commented 7 years ago

No, I don't mind however I am not on SO. you can copy the text if want. Cool and enjoy your time :)

aschrijver commented 7 years ago

Thanks a bunch, man!! You too!!

aschrijver commented 7 years ago

The answer is there: https://stackoverflow.com/questions/45459909/compiling-nodejs-as-native-library-on-android/45468862#45468862