在移动应用程序中使用NodeJ服务器端代码的可能性



是否可以在移动应用程序的react native、ionic、cordova或native脚本中使用NodeJs服务器端代码?

问题更新:我想使用NodeJs包,并将NodeJs包包含到移动应用程序中(原生脚本离子cordova反应原生)。例如,将instagram privateapi包含到本机脚本中:NodeJs private instagram api

{N}!==浏览器/NodeJS

这是一个纯JS运行时,任何特定于这些平台的api都不能在{N}中工作。尽管板上的nativescript-nodeify插件通过将它们翻译成本地等价物,非常限制了NodeJS api。

我在我的cordova应用程序中使用了许多node.js API(包括googlebaidu/bing/wikipedia),我做了以下操作:

  1. 在您的linux服务器中安装node.js/express/socket.io。

  2. 在Cordova应用程序中使用socket.io在应用程序和node.js/ssocket.io服务器之间创建"多个客户端到一台服务器"连接。在里面https://socket.io有一个简单的例子教你怎么做。

  3. 在Cordova应用程序中,使用socket.emit('FromClientToServerCallAPI',data)之类的东西来调用api。

  4. 在node.js服务器中,定义一个函数:

socket.on('FromClientToServerCallAPI',data)

在这个函数中,调用你的api,从api提供者那里得到结果后,运行:

socket.emit('FromServerToClientAPIResult',result)

  1. 在Cordova应用程序中,定义一个函数:

socket.on('FromServerToClientAPIResult',result)

然后用"结果"做一些事情

请。请注意,上面的所有函数都是异步的。

永远不要试图在客户端代码中直接调用api,有些api提供商要求你申请api服务,并给你一个使用api的"密钥",你不想把这个"密钥"放在你的javascript中,并向应用程序的所有用户公开,对吧?

是的,使用nodejs-mobile是可能的。它允许您在移动应用程序中运行一个成熟的Node.js引擎。它适用于Android和iOS。还有其他适用于Android的解决方案,但据我所知,nodejs mobile目前是唯一一个也支持iOS的解决方案。它还附带了React Native和Cordova的插件。

项目网站上提供了包括文件在内的更多信息。

(完全披露:我为开发nodejs移动设备的公司工作。)

相关内容

  • 没有找到相关文章

最新更新