python和node_python – Django和Node – 它是如何工作的?

你有很多问题 – 在StackOverflow上应该有一个问题可以回答,而不会引起很多争论或有意见而不是事实.

因此,我认为你的问题可能会因为“过于宽泛”而被封闭;但我认为值得回答.

我不会说“它取决于”,虽然这真的是归结为 – 但这是我试图解释它.

nodejs是一个运行时.这是一个允许您使用javascript在服务器上开发代码的环境.为了对nodejs做任何有用的事情,超越“hello world”;你需要使用一个框架,社区已经开发了大量的框架和各种堆栈,以便将所有组件连接在一起.这种堆栈的一个例子是MEAN,它是用于数据库的MongoDB,用于框架的Express,用于协助前端的Angular,以及用于运行它的所有节点.

django是一个框架 – 它不是运行时.这意味着它是从节点世界中删除的一步. django的运行时是Python. django也不是像MEAN那样的“堆栈”,你可以在它上面开发自己的堆栈 – 但由于django是一个“电池包含”框架,你只需要添加一个数据库 – 它包含你需要的一切.

REST只是设计Web服务的一种方式.它不是语言,平台或图书馆.它是一组规则,用于描述设计API的方法,以便它们利用HTTP的语义动词.

您可以使用任何库和编程语言来开发RESTful服务.你真正需要的只是两件事[a]一个通过HTTP进行通信的库[b]一种序列化数据的方法,最好用JSON(但即使这不是一个要求).

nginx只是一个非常快速的网络服务器和反向代理.经常提到它的原因是因为框架服务静态媒体非常昂贵.对框架的所有请求(在django世界或nodejs世界中)都必须经过一大串组件,这些组件有助于解码HTTP请求并创建一个易于开发人员使用的数据结构.这个组件链通常称为中间件.由于每个请求都必须通过此中间件,因此最好是出于性能原因,请求不需要执行应用程序的“强大”(如图像请求,样式表,视频文件)由其他东西处理.这就是nginx的用途,因为它是一个非常快速的网络服务器.

现在已经解释了这些,您需要查看哪种堆栈最适合您的应用程序.要做到这一点,您需要了解每个堆栈试图解决的哲学/理由或问题.

对于django – 这很容易. Django是由一个在多家报纸上工作的团队创建的,旨在帮助他们管理在不同网站上发布的内容.因此,它的设计使得内容管理成为首要关注的问题.这就是为什么它有一个非常强大的管理控制台作为标准组件;以及内置非常强大的ORM和自己的模板引擎. Django让您了解如何最好地实际运行和部署它;虽然它们确实提供了很多建议和示例 – 但最终,您需要决定使用哪个数据库,使用哪个Web服务器以及如何部署应用程序.

在nodejs世界中 – 主要关注的是非阻塞I / O和响应速度. Nodejs能够在有限的资源上提供大量的同时请求.因此,它为您提供了一个非常强大的基础来开发需要快速响应请求的应用程序……就是这样.在节点或任何其他专门的低级库中编程时,您需要确保您的代码充分利用了库.因此,如果您开始在节点中编写阻止代码,您将发现您所期望的性能尚未实现.

nodejs并不关心应用程序实际执行的操作.可以把它想象成一个非常快速,非常强大的工具.您可以使用它构建任何内容,但是您需要知道该工具的最佳设计是什么,以便知道何时使用它.

nodejs让你在较低级别工作 – 这就是为什么有很多软件包可以帮助你用节点做各种事情;以及多种方式可以获取组件并创建自己的堆栈 – 具体取决于您在节点之上构建的内容.把它想象成乐高积木.

nodejs和django不是互斥的.您可以在应用程序中利用它们并利用它们的优势并充分利用每个方面的优势.

至于你的具体问题:

Did I get the picture? Any comments?

我不知道.你是否?

Is there any further components that will be needed? To get started?

答案是肯定的,因为你不想从头开始构建所有东西.每个堆栈都有自己的库组件来开发服务.对于django,有django休息框架(DRF).

Which framework are best for CRUD?

Which framework are best for RESTful? Any other module needed?

Best report generator for printing?

Best diagram tools?

对于任何事情都没有什么是“最好的”.这个问题只是在征求意见.它就像问,什么是最好的果汁?

Which framework are fastest and most reliable for CRUD using Postgresql

人们已经在postgresql之上开发了许多强大的应用程序;但是由于nodejs绑定到javascript – 在这个领域仍然有很多工作要做.

Can I lock the library (trade secrets) in both environments?

是.

Is there better tools for creating ERP/Accounting?

ERP和会计是两个截然不同的事情.有很多用Python编写的会计软件包/应用程序.用Python编写的ERP系统很少.

你不能将两者结合起来并将它们混合在一起.

What is the benefits using Angular on top of Node.js?

在_____之上使用Angular的相同好处(插入您最喜欢的后端). Angular只是一个前端库.

一个轶事的好处是Angular和Node都使用相同的编程语言.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值