gpt4 book ai didi

javascript - 使用 NodeJS 编写实时应用程序

转载 作者:数据小太阳 更新时间:2023-10-29 05:16:21 25 4
gpt4 key购买 nike

我期待着使用 NodeJS 构建 RT 网络应用程序。来自 Rails,我爱上了 NodeJS 和 Async JS 编程。

用 Node 进行一些实验,然后当我搜索工具和资源以使用时,我被那里的很多东西淹没了。

我在那里发现了很多库和组件,并且对于应该如何构建一个编写良好且实现良好的大规模 RT 网络应用程序感到非常困惑。

因此应用程序将运行在 NodeJS 上,使用 Express 框架。

我阅读了有关 knockout.js 的内容,这是一个客户端库,可提供自动 UI 刷新等实时功能,我想我可以将它与 jQuery 结合使用。另外,我找到了 socket.io。作者说:Socket.IO 旨在让实时应用程序在每个浏览器和移动设备中成为可能,模糊不同传输机制之间的差异。它是 100% 无忧无虑的实时 JavaScript。所以 socket.io 是关于兼容性的。backbone.js 怎么样?它去了哪里?

这么多东西,我都惊呆了。我应该学什么?哪些模块值得学习?我专注于 NodeJS 和 Express,但大多数书籍/截屏视频都涵盖了旧版本的 nodejs。所以我在其官方 API 的指导下。现在我在这里征求你的意见,并以某种方式组织那里的所有信息。如果我的假设不准确,请纠正我,请指出正确的方向,并随时建议任何其他可以帮助我学习的模块。

提前致谢

最佳答案

将 node.js 服务器端库(通过 npm 等...)与所有客户端(浏览器)库和技术(如 jquery、backbone、knockout 等)分开可能对您很有用...当您想一想。即使是在浏览器和服务器之间公开持久套接字连接(以避免轮询)的 socket.io 也不会规定您使用的客户端技术。

专注于从您的服务器公开可靠的 web-api ( random example ),您的客户端技术可以交换、扩充等...而不会影响服务器。它们唯一相交的地方是您是否正在使用像 Jade 这样的 View 技术。这也是一个纯粹分离的选项,其中服务器只提供客户端文件,而您的客户端是一个更厚的 javascript 应用程序(使用 knockout、jquery 等...)调用一个好的服务器 web api。

有些人试图统一客户端和服务器模型 - 例如,this article使用主干和 Node 。这取决于你使用多少数据来判断这是否可行,但它确实耦合了客户端和服务器并使服务器有状态,这可能有缺点(横向扩展,需要亲和性等......)。就个人而言,我对那么多魔法(绑定(bind)、状态、同步等...)保持警惕。 Node 旨在让事情变得简单、轻便和快速。它是一个快速的前端网络服务器。

我的 2 美分(有些人可能不同意)。从服务器上的 Node 开始并选择您的存储(mongoDb 等...)。设计一个solid RESTful (hypermedia) API - 无论客户端如何,一个好的 webapi。然后从基本的 html/css/js 开始,也许是 jquery 客户端,并添加诸如 knockout 之类的东西……当你扩展你的客户端技能时。这将允许您随着新技术风向的变化(它们将会)更换独立于您的服务器的客户端技术。

这是设计良好的系统的标志 - 无需重写所有内容即可替换组件/子系统的能力:)

希望这有助于消除一些迷雾 :)

关于javascript - 使用 NodeJS 编写实时应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12575474/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com