我真的在两个不同的堆栈之间左右为难,用它们来构建一个大型应用程序.一方面有这个选项:

  • node .js


  • 使用Scala播放框架

node .js path对我很有吸引力,因为我可以用coffeescript编写所有服务器端代码、视图和客户端代码,我已经知道了.如果我沿着这条路走下go ,我仍然不能100%确定我会走哪条路.mongoose使存储数据变得快速而简单,但考虑到我心目中的数据模型(非常SQLish),缺乏真正的关系可能更难处理.

Play Framework路径也很有吸引力,因为我在使用Java时非常了解该框架,但我对Scala知之甚少,因此在学习该语言的过程中,我的工作效率会受到影响.Anorm数据库访问层很吸引人,因为我可以手工编写我喜欢的SQL,并将结果自动映射到对象,这节省了很多工作.

我一直向诺德倾斜.js,但我不知道最好的db访问层是什么.任何人都有这方面的经验,可以分享一些见解吗?

推荐答案

Select 的堆栈应该取决于应用程序的需要.让我们看看Play vs. node 的优势:

node

  • 实时应用程序(聊天、订阅源)
  • 事件驱动架构
  • 可以执行客户机-服务器职责(例如,提供文件),但不适合这样做
  • 数据库管理、测试工具等,作为附加软件包提供

  • 客户端服务器应用程序(网站、服务)
  • 不共享架构
  • 可以执行实时任务(例如Websockets),但不适合这种情况
  • 数据库管理(包括迁移!),内置于核心的测试工具等

If your application more closely matches a traditional web-based model, Play is probably your best choice. If you need immediate feedback and real-time dynamic messaging, node is the better choice.

For large traditional applications, seriously consider the 玩 Framework because of the built-in unit and functional testing along with database migrations. If incorporated into the development process, these go a long way toward an end product that works as expected and is stable and error-free.

Node.js相关问答推荐

下一个API路由如何处理多个并发请求?

TS 后端开发:prismagenerate找不到已安装的@tsed/prisma包

如何使用 Node.js 连接到 Cloud SQL?

NodeJS:zlib.gzipSync 在不同平台上给出不同的明文输出

运行本地移动自动化测试时,在onPrepare钩子中,ERROR @wdio/cli:utils: A service failed in the 'onPrepare'

如果我在父文件夹中运行,子进程生成不起作用

yarn 安装失败,因为 node-gyp 正在寻找过时的 node 版本标头

未捕获的错误: 只能用作 元素的子元素,永远不会直接呈现.请将您的 包裹在

当我try 从本地主机发布新产品时收到错误消息

在 React 和 Socket.io 中使用 Effect 钩子重新渲染两次

如何从哪个应用程序用户中找到在 Firebase 身份验证中进行身份验证的用户

'{ id: string; 类型的参数}' 不可分配给FindOneOptions类型的参数

Azure Function 在 2022 年 4 月 26 日禁用将用户字段设置为 HTTP 请求对象

突然 React 无法执行create-react-app命令.为什么会发生这种情况,我该如何解决?

无服务器无法获取所有记录事件对象验证失败?

Dart 语言比 JavaScript (Node.js) 有什么好处

Nodejs 随机免费 tcp 端口

Node.js 17.0.1 Gatsby 错误-数字信封 routine ::不支持 ... ERR_OSSL_EVP_UNSUPPORTED

nodeJS - 如何使用 express 创建和读取会话

如何从 find 方法返回 Mongoose 结果?