最近我接触了node.js和像express和jade这样的很酷的包。有些问题一直在困扰着我:
如果我选择使用node.js构建我的下一个网站,那么我将使用JavaScript编写服务器端的复杂逻辑?但是我不认为你可以将JavaScript与Java或Python进行比较,因为它们拥有如此广泛的库。node.js真的适用于此吗?还是我错过了什么?
我能从node.js调用Java或Python吗?
最近我接触了node.js和像express和jade这样的很酷的包。有些问题一直在困扰着我:
如果我选择使用node.js构建我的下一个网站,那么我将使用JavaScript编写服务器端的复杂逻辑?但是我不认为你可以将JavaScript与Java或Python进行比较,因为它们拥有如此广泛的库。node.js真的适用于此吗?还是我错过了什么?
我能从node.js调用Java或Python吗?
我不太清楚这些人在说什么。
"广阔的库海洋"是社区正在积极开发的东西。请查看:http://search.npmjs.org/#/_analytics - 昨天发布了8个软件包。
它不会为您解决软件设计问题。至于在哪里以及如何编写业务逻辑,我们中的许多人都采用mvc或mvvm或类似的东西。如果你正在构建一个应用程序,并且喜欢 Ruby 程序员(例如)如何组织他们的代码,那么你可以考虑做一些类似的事情——没有人会告诉你如何组织你的代码。
请查看 https://github.com/joyent/node/wiki/modules
进行日常操作的一些较受欢迎的库:
如果您喜欢ORM,那么还有许多可供选择的ORM。例如:http://mongoosejs.com/、http://sequelizejs.com/ 等等。
测试驱动开发是node的核心。有15种不同的TDD包可供选择,从完整的代码覆盖分析到自定义断言模块。
说所有的模块都不完整是荒谬的。在这个社区中,有一个非常专注的团队每天构建和维护着大量可用的开源项目。
可能有一些原因可以放弃使用node,但不是因为社区不活跃或缺少库。
所以...不,我现在不会专业开发Node.js,尽管我认为研究它既有趣又有教育意义。您可以这样做,但是请记住Node.js的主要目的:异步IO,事件驱动编程。如果这就是您想要的,那么Node.js是一个很好的选择。
Ryan并没有从JavaScript开始学习。创建Node.js时,JavaScript缺少大量的类库是其中一个重要原因。
这些大量的类库几乎都是使用阻塞代码编写的。
要充分利用Node.js,你需要限制使用非阻塞式的类库。这意味着你可能需要编写一些类库来完成你在Node.js中的项目。
有些事情 JavaScript 是做不到的。如果你遇到这些问题,Node 可能不是你的应用程序的最佳选择。但是你可能可以完成大部分你所需要的功能。
至于 API 的限制,我建议你看一下 npm 和其存储库中的所有库。特别是像underscore.js这样的库。许多库旨在填补本地 JavaScript 相对于其他语言的缺陷。