Is that possible to use NodeJs server-side codes in react native,ionic,cordova or native script for mobile applications?
Question update:
I want to use NodeJs package and include NodeJs package into mobile application (native script , ionic , cordova or react native). for example include instagram-private-api into native script : NodeJs Private instagram API
{N} !== Browser / NodeJS.
It's a pure JS runtime, any apis specific to these platforms won't work within {N}. Though nativescript-nodeify plugin on-boards very limited NodeJS apis by translating them to their native equivalents.
I've been using many node.js APIs (including google/baidu/bing/wikipedia) inside my cordova App, here's what I did:
Install node.js / express / socket.io in your linux server.
Use socket.io inside your Cordova app to create 'many clients to one server' connections between your app and the node.js/socket.io server. In https://socket.io there is a simple example teaching you how to do that.
In Cordova App, use something like socket.emit('FromClientToServerCallAPI', data) to call an api.
In node.js server, define a function:
socket.on('FromClientToServerCallAPI', data)
and inside this function, call your api, and after you got the result from the api provider, run:
socket.emit('FromServerToClientAPIResult', result)
In your Cordova App, define a function:
socket.on('FromServerToClientAPIResult', result)
then do somthing with 'result'
pls. note that all the functions above are async.
Never try to call the api directly in your client codes, Some api provider requires you to apply for the api service and give you a 'key' to use the api, you don't want to put this 'key' inside your javacript and disclose it to all your users of the App, right?
Yes, it is possible with nodejs-mobile. It lets you run a full-blown Node.js engine inside a mobile application. It works on Android and iOS. There are other solutions that work on Android but as far as I know nodejs-mobile is currently the only one that also supports iOS. It also comes with plugins for React Native and Cordova.
More information, including documentation, is available on the project website.
(Full disclosure: I work for the company that develops nodejs-mobile.)
Related
I am developing a web extension that works well on the vscode.dev with client-based OAuth but when I need to use the same in desktop vscode, the JS Domain i.e. location.origin is coming to be vscode-file://vscode-app which I can't use as JS domain for OAuth2. This results in CORS errors for API calls.
Hence, I need to use the server-based OAuth method to avoid CORS errors.
For this, I need to run the http.createServer method from nodejs when the extension runs in the vscode desktop.
This means that some parts of my source code will work in vscode. dev (i.e. nodejs independent) while others will only work in VS Code desktop (i.e. nodejs dependent).
Can anyone guide me on how to go about implementing the same for my project?
P.S. - I want to provide some functionalities in vscode.dev and some extra functionalities in VS Code Desktop hence I need this hybrid approach.
I created a mobile application with flutter in front end and back end with node.js but I want it to use node js in offline mode in another meaning I want host this node inside the mobile. can I?
No.
First, you'd need NodeJS itself built for you mobile platform. Only then can you even consider running the node application you've written.
Flutter is Dart and NodeJS is well, JS. You can't put them together. But if you are building a node app that builds into a static js and html, may be you can put it in a webview, which does not seem to be the case here.
You are asking to run server side code on the client itself and offline too. If the application can really be offline, I think you're better off without a backend and store everything static within the flutter app itself.
As we all know you can use compilers as Cordova to convert web applications so you can upload your application to the app store.
This can easily be done when developing with HTML5 and Node.
But is it possible to convert a MEAN application (MongoDB, Express, Angular and Node)?
You can run nodejs server on mobile with jxcore, but I think you should run only client side part on cordova and api shall stay on server. Ideally, I think that api and client side must be separate projects.
No, you can't.
MEAN stack is full stack. You can make your frontend an app with cordova but you still need database and backend service.
But that's ok. Make your app mobile friendly and stick with your server to provide the data you need to make it work.
What you can do, it's to create hosted web app. This is existing web application, just wrapped to make it possible to submit to app store.
For this you can use Manfoldjs, for example Using Cordova Plugins in Hosted Web Apps or if you use Visual Studio, you can use Visual Studio Tools
for Apache Cordova.
I am developing a mobile application using ionic framework. I want to use node.js for developing the server to make REST api calls.
Where should the node.js code be included in the project?
How to deploy such an app as apk? and how to test it?
Ionic is based on cordova and it is used to create mobile applications in javascript.
Node.js is based on V8 and it is used to create backend (server) applications in javascript.
Node.js code cannot run on mobiles.
So you have two seperate projects.One is the frontend ionic mobile app. And the second is the backend nodejs app.
To make a connection between the two, as ionic uses angularjs take a look at angular's http service. After that you can organize your code in services. For example:
http_calls_service.js or api_service.js
As for the testing there are several frameworks to work with. Take a look at this.
Im thinking about using node.js for web application , that is something like tomcat with servlents or Apache and php.
my questions are basic but fundamental:
1. can i use node.js as web server? using jquery and all the server side stuff?
2. i want to let the users to be able to use the application in offline mode , and let
the user to download the web app as desktop app .
can node.js be good for this job ?
Node.js is a platform for creating server-side and networking applications. You can use its HTTP and Socket support to create a web server.
And yes, you can use client side libraries and frameworks like jQuery, Angular.js, Ember.js, etc etc. by using a Node.js REST API as backend (as a possible solution).
You can make desktop applications using:
Node-QT bindings
Appjs