当前位置:  开发笔记 > 编程语言 > 正文

Django和Node - 它是如何工作的?

如何解决《Django和Node-它是如何工作的?》经验,为你挑选了1个好方法。

为了使具有RESTful功能的Web应用程序能够阅读并观看大量文章和视频,我仍然无法全面了解其工作原理.我应该选择哪个.其他每个答案都没有帮助"它取决于".我把它归结为Django和Node之间的第一选择.但是我找不到这些部分如何协同工作以及需要哪些模块的整个"图片".因此,我试图将所有内容都放在一个粗略的插图中.请注意,我是一个完整的新手.

我用会计模块开发了一个ERP应用程序.基本上它主要是关于CRUD,除了查看图表,打印和存储文档.所以这就是"它取决于"

我唯一能做出决定的就是使用nginx,Postgresql和Debian 8作为工具/操作系统.这些是固定的星星.

我的问题并不是常见的Django vs Node.js,它不仅仅是我想要的意见:

    下图是否正确?任何意见?

    是否还需要其他组件?开始?

Node.js和Django结构



1> Burhan Khali..:

你有很多问题 - 在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不是互斥的.您可以在应用程序中利用它们并利用它们的优势并充分利用每个方面的优势.


至于你的具体问题:

我得到了照片吗?任何意见?

我不知道.你是否?

是否还需要其他组件?开始?

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

哪个框架最适合CRUD?哪个框架最适合RESTful?还需要其他模块吗?最好的报告生成器?最好的图表工具?

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

使用Postgresql的CRUD哪个框架最快,最可靠

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

我可以在两种环境中锁定库(商业机密)吗?

是.

是否有更好的工具来创建ERP /会计?

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

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

在Node.js上使用Angular有什么好处?

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

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

推荐阅读
手机用户2502852037
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有