我是 ExpressJS 的新手。我想为我的服务创建 API,这些 API 将由其他服务器直接使用,其中的一部分由移动应用程序/浏览器使用。我刚刚发现了 Restify、Node-PerfectAPI、Node-APIServer,我不知道有什么区别。
有人可以详细说明每个框架的差异以及优缺点。
为什么要选择 Express/NodeJS 与其他框架来创建 API?
免责声明:我是node-perfectapi的作者。
perfectapi 的重点是让开发人员从开始到生产就绪变得简单。它比node-restify更抽象。这样做的影响是您在 API 设计中的灵活性较低,但与此同时,您应该能够以更少的专业知识更快地获得生产就绪的东西。
restify 和 perfectapi 都有相当的性能。
此答案中的链接指向突出每种解决方案优势的页面。
我也在研究类似的问题。您可能感兴趣的主要区别之一是性能。我刚刚发现“perfect-api”开发人员的一篇博文,将他的框架与其他两个框架进行了比较。http://blog.perfectapi.com/2012/benchmarking-apis-using-perfectapi-vs-express.js-vs-restify.js/
评论指出 Restify 现在做得更好。
根据我的(有限的)经验,我会说 express.js 比 Restify 更容易使用,并且提供了一些很好的工具,如 connect.js 是公开的。例如,这将避免您编写静态文件服务器的痛苦,即使 Connect 仍然可以与 Restify 集成。
另一方面,Restify 将使一些常见的 API 任务变得更加容易。例如,它提供了一个节流引擎以及一个 API 转换系统,这在您与不受控制的客户端打交道的环境中是非常必要的。
您还应该考虑https://npmjs.org/package/hapi
它看起来很有希望。在https://www.youtube.com/watch?v=Recv7vR8ZlA中有一个关于框架的讨论,其中 hapi 的主要贡献者讨论了是什么让 API 框架打勾。
如果您访问 github 中的 node-perfectapi,您将在自述文件中看到此消息:
“我目前没有维护这个包。你可能应该寻找另一个工具来满足你的需要。”
因此,我得出结论,您最好使用 restify,因为这是积极维护的。