node.js如何参与移动设备?

Lui*_*uis 7 node.js

现在我的目标是开始学习使用node.js进行开发.

我希望我的问题很清楚 - 当你谈论node.js和mobile时,你的意思是什么?由node.js开发的web应用程序,用户通过简单的Web浏览器或纯移动应用程序(例如用于带有java的android)和node.js以某种方式参与此过程(如何?).

我问它是因为我看到Linkedin开发了一个基于node.js的移动应用程序,但是我不知道他们在哪里集成了node.js - 在Web应用程序中?android应用程序?iOS应用程序?对我来说并不清楚(我的假设是网络应用程序,但我真的很困惑).

谢谢.

tad*_*man 8

NodeJS是一个服务器后端组件,它响应各种网络请求,但最常见的是HTTP请求.对于移动应用程序,它可能用于与数据库连接并解释JSON HTTP调用,获取和/或插入数据,以及将JSON数据返回到移动客户端.

在大多数情况下,iOS,Android和移动Web客户端将通过HTTP连接到NodeJS,以通过某种API 发送GETPOST请求.

NodeJS还可以与每个平台上可用的各种推送通知系统连接,或者使用类似SocketIO的东西来提供客户端和服务器之间的实时通信.


Lev*_*rts 5

有关LinkedIn如何使用Node.js技术的文章可以在这里找到:http:
//venturebeat.com/2011/08/16/linkedin-node/

在LinkedIn使用该技术的最大原因是因为速度和使用更少的资源.

该应用程序在客户端比其前一代快2到10倍,而在服务器端,由于从Ruby on Rails切换到Node.js,它使用了一小部分资源.


新的移动应用程序可能会使用一些浏览器沙盒和本机应用程序代码.

"HTML5网络应用和原生应用之间存在着这场争斗.但我们在原生应用中散布了HTML5,基于网络的内容优于其中.在HTML5中很难做的事情是滚动无限列表,所以我们就这样做了."

我们的移动网络应用程序的工作方式是它都在浏览器端呈现.

LinkedIn选择Node的另外几个原因:

BlockquoteOne的原因是规模.第二,如果你看看Node,它最擅长的事情就是与其他服务交谈.


希望其中一些有助于回答您的问题.


Vin*_*tti 5

Node.js (Node) is a scalable, event-driven I/O environment built on top of Google Chrome's JavaScript runtime—essentially, a server-side implementation of JavaScript. Google V8 actually compiles JavaScript into native machine code prior to execution, resulting in extremely fast runtime performance—something not typically associated with JavaScript. As such, Node enables you to rapidly build network apps that are lightning fast and highly concurrent.

它的真正含义是Node.js不是一个将在Web开发领域占主导地位的银弹新平台.相反,它是一个满足特定需求的平台.了解这一点绝对必要.您绝对不希望将Node.js用于CPU密集型操作; 实际上,将它用于繁重的计算将几乎消除其所有优点.Node真正发挥作用的地方在于构建快速,可扩展的网络应用程序,因为它能够以高吞吐量处理大量同时连接,这相当于高可扩展性.

如何在引擎盖下工作非常有趣.相较于传统的服务网络的技术,其中每个连接(请求)产生一个新的线程,占用系统内存并最终杏出在可用内存量,Node.js的运行在单线程,使用非阻塞I/O调用,允许它支持数以万计的并发连接

快速计算:假设每个线程可能随附2 MB内存,在具有8 GB RAM的系统上运行会使我们理论上最多有4000个并发连接,加上线程之间的上下文切换成本.这就是您通常在传统的网络服务技术中处理的场景.通过避免这一切,Node.js实现了超过1M并发连接的可伸缩性级别

继续阅读.. http://www.toptal.com/nodejs/why-the-hell-would-i-use-node-js

黄金时段公司依靠Node.js提供移动解决方案.

LinkedIn是一位杰出的用户.他们的整个移动堆栈都是基于Node.js构建的.他们从每个物理机器上运行15个服务器,15个实例,到4个实例 - 可以处理双倍的流量!

eBay推出了ql.io,一种用于HTTP API的Web查询语言,它使用Node.js作为运行时堆栈.他们能够调整常规开发人员质量的Ubuntu工作站,以处理每个node.js进程超过120,000个活动连接,每个连接消耗约2kB内存!

沃尔玛重新设计其移动应用程序以使用Node.js并将其JavaScript处理推送到服务器.

欲了解更多信息,请访问:http://www.pixelatingbits.com/a-closer-look-at-mobile-app-development-with-node-js/