7

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

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

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

谢谢你。

4

4 回答 4

8

NodeJS 是一个服务器后端组件,它响应各种网络请求,但最常见的是 HTTP 请求。在移动应用程序的情况下,它可能用于与数据库交互并解释 JSON HTTP 调用、获取和/或插入数据,并将 JSON 数据返回给移动客户端。

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

NodeJS 还可以与每个平台上可用的各种推送通知系统进行交互,或者使用诸如SocketIO之类的东西来提供客户端和服务器之间的实时通信。

于 2013-01-03T22:04:08.867 回答
5

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

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

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


新的移动应用程序可能使用了一点浏览器沙盒和原生应用程序代码。

“HTML5 Web 应用程序和原生应用程序之间存在着这场战斗。但是我们在原生应用程序中散布了 HTML5,其中基于 Web 的内容表现出色。HTML5 中难以做到的事情是无限滚动列表,因此我们采用了原生方式。”</p>

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

LinkedIn 选择 Node 的更多原因:

BlockquoteOne 的原因是规模。第二个是,如果您查看 Node,它最擅长做的事情就是与其他服务通信。


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

于 2013-03-11T13:37:20.187 回答
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 真正闪耀的地方在于构建快速、可扩展的网络应用程序,因为它能够以高吞吐量处理大量同时连接,这等同于高可扩展性。

它是如何在引擎盖下工作的非常有趣。与每个连接(请求)产生一个新线程、占用系统 RAM 并最终最大化可用 RAM 量的传统 Web 服务技术相比,Node.js 在单线程上运行,使用非阻塞 I/ O调用,使其支持支持数万并发连接

快速计算:假设每个线程可能附带 2 MB 内存,在具有 8 GB RAM 的系统上运行,我们理论上最多可以有 4000 个并发连接,加上线程之间的上下文切换成本。这就是您在传统 Web 服务技术中通常处理的场景。通过避免所有这些,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/

于 2014-07-03T06:52:00.533 回答
1

他们指的是服务器后端的 node.js。

例子是:

  • 具有 node.js 服务器后端的任务管理应用程序,用于存储任务和约会,并推送警报。
  • 带有 node.js 服务器后端的聊天应用程序,用于路由和传递消息
于 2013-01-03T22:04:45.027 回答