Nodejs:在哪里或如何编写复杂的业务逻辑?

2022-09-01 02:41:43

最近,我被介绍给node.js和很酷的软件包,如express和jade。我有几个问题一直在敲我的门:

如果我选择node.js来构建我的下一个网站,我将使用JavaScript来编写我的服务器端复杂逻辑?但是我不认为你可以将JavaScript与Java或Python进行比较来编写服务器端代码,因为它们拥有如此庞大的库海洋。node.js真的是为它而设的吗?或者我错过了什么?

我可以从 node.js 调用 Java 或 Python 吗?


答案 1

不太确定这些人中的大多数在说什么。

“浩瀚的图书馆海洋”是社区正在积极努力的事情。检查这个: http://search.npmjs.org/#/_analytics - 昨天发布了8个软件包

它不会为您解决您的软件设计。至于在哪里以及如何编写业务逻辑,我们中的许多人都接受mvc或mvvm或类似的东西。如果你正在构建一个应用程序,并且像 Rubyists(例如)如何构建他们的代码,你可能会考虑做这样的事情 - 没有人会告诉你如何构建你的代码。

检查 https://github.com/joyent/node/wiki/modules

一些比较流行的日常工作的库:

那里也有很多ORM,如果那是你的包。http://mongoosejs.com/http://sequelizejs.com/ 和朋友等物品

测试驱动开发是节点的核心。有 15 种不同的 TDD 包可供选择,范围从完整的代码覆盖率分析到自定义断言模块。

说所有模块都不完整是愚蠢的。每天都有一群非常敬业的人在这个社区中构建和维护大量工作的开源。

可能有理由忽略node,但它不是因为一个不活跃的社区或缺乏库。


答案 2

我想说的是你错过了一些东西 - 更具体地说,Node的核心目的.js,即异步I / O模型。

我开始了一个小的宠物项目来测试Node.js - 它的“感觉”以及如何在上面编程。在这样的生态系统中工作的便利性给我留下了深刻的印象:Node.js代码易于编写(尽管其异步范式对于传统程序员来说并不那么简单),库易于构建等。即使是npm也非常简单:我只是发现提供自己的代码作为库的最直接方法是制作它的公共包 - 而且它非常容易!

但是,没有太多好的工具可以使用Node.js。也许是因为做任何事情都太容易了,大多数库都是部分实现的,未记录的解决方案。

另外,请注意,Node.js的相关区别不是JavaScript语言,而是异步I / O模型。这是Node.js最有趣的方面,但异步编程风格并不像传统的Web开发方式那样经过很好的测试。也许真的是宣传的奇迹 - 或者也许,它并不像承诺的那么好。

即使它得到了回报,你是否有足够的开发人员来维护这样一个(至少仍然是)不寻常的代码库?如果你能从Node.js的异步“生活方式”中获得很多优势,你可以使用更多的整合语言和框架,比如Twisted for Python(这是我的首选语言,所以要小心我的意见:))。Java也可能有这样的东西。无论如何,我怀疑你现在对这个模型没有太多的兴趣,因为你的问题更多地集中在语言而不是编程范式上,所以Node.js无论如何都没有太多东西可以给你。

所以。。。不,我现在不会在Node.js开发一些自称的东西,尽管我认为它既有趣又有启发性。但是,您可以做到这一点 - 但是,如果没有考虑到Node的主要目的,就不要这样做.js:异步IO,事件驱动的编程。如果这是你想要的,Node.js是一个很好的选择。


推荐