Django是一款颇具年代的Python框架,但凭借其快速的开发速度和低廉的成本,它在2024年仍然值得考虑。Django拥有丰富的功能,涵盖了从SQL数据库管理到API服务,并且可以轻松部署到无服务器架构中。其强大的Python语言支持以及庞大的社区,使其成为各种小型项目的理想选择。
决定采用全栈技术是令人畏惧的。有大量的框架需要评估。
我将分享我的逆向观点。选择姜戈。 Django Python 框架很旧,但它可以快速且廉价地完成工作。 Django 有一种“包罗万象、固执己见”的哲学。这种方法使得 Django 的上手速度非常快。随着项目规模的扩大,将 Django 分成单独的组件,这些组件可以用作 SQL 数据库管理器、对象关系映射器或 API 服务器。
2024 年,我们停止在后端使用 Firebase 和 MongoDB,转而使用 Django。虽然许多项目可以从更现代的框架中受益,但选择更新的技术也可能会导致更多的成本,因为团队很难找到具有所需技能的开发人员,并且后来发现随着不可预见的问题的出现,开发预算不断增加。有了 Django,您之前的开发道路已经由数以万计的开发人员顺利铺好。
对于我们为业务工作流程构建的小型项目类型,Django 不仅可以更快地将想法引入原型,而且构建和维护成本也更低。以下是 2024 年应考虑使用 Django 的 5 大理由。
1. SQL 即服务
Django 使用SQL 数据库。与 Django 一样,SQL 被认为是古老的,并且不如 MongoDB 等较新的 NoSQL 数据库那么迷人。查看 Django 的一种方法是将其视为具有预构建代码的 SQL 数据库,以使数据库更易于使用。如果 Django 无法满足您未来对特定功能的需求,您仍然可以单独使用 SQL 数据库,或者使用 Django 的部分内容来使数据库更易于访问。
在我们的例子中,我们的 Django 部署的一部分由托管的 PostgreSQL 数据库作为服务组成。首先,我们只需将连接信息添加到 Django 应用程序即可。这种架构还允许我们使用 Django 作为临时原型工具来设置数据的工作界面和逻辑。随着项目的发展,我们可以绕过 Django,使用 Flutter 或 React 等其他应用程序直接连接数据库,或者设置一个精简的中间服务器来桥接数据库和前端。
SQL的成熟度在招聘人才时也是一个优势。许多大学和技术学校都将 SQL 作为主流课程的一部分。从学校招聘人才更容易,因为学生拥有最近的学术经验并渴望获得更多的现实经验。大多数商业软件项目无需高级 SQL 数据库管理技能即可完成。
2.API服务
使用 SQL 或Django REST 框架公开 API 端点的能力使我们能够使用不同的技术快速构建多个数据库接口。尽管 Django 模板易于学习且功能强大,但这些模板的交互性不如反应性更强的框架。
幸运的是,Django 可以为相同的数据提供 Django 页面模板和 REST API。这意味着您可以测试不同的前端架构,同时重用后端的大部分核心逻辑。
从 Django 而不是 API 服务器开始的好处是更容易开始使用 Django 和原型化概念。 Django 非常易于安装,并且配备了 Web 应用程序所需的一切。pip install django会让你继续前进。构建功能原型并部署它的速度非常快。 Django 带有身份验证、数据库、开发 Web 服务器和模板语法。这使得可以使用不同的安全组和内置的员工管理面板来快速构建复杂的站点。
3. 无服务器架构
Django 可以轻松部署到无服务器架构,并消除虚拟服务器的设置和维护。从 2023 年开始,我们将 Django 项目迁移到无服务器架构。之前,我们在虚拟服务器中使用Ubuntu Linux。我们曾经在同一个可扩展虚拟服务器中运行 PostgreSQL、NGINX 和 Django。迁移到一套数据库、存储、CPU 和网络云服务后,启动一个新项目只用了不到一天的时间。
在软件开发过程中,我们的代码被推送到分支上的 GitHub,我们可以在浏览器中将其作为 Web 应用程序进行预览。在同行或经理审查拉取请求后,它会合并到主分支中,从而触发将代码自动部署到生产服务以运行应用程序。 Django 的 GitHub 部署脚本以及设置由应用程序服务提供。我们只是复制并部署它。
由于我们的应用程序服务不能用于存储媒体和数据,因此我们使用不同的服务来存储图像等媒体。由于 Django 已经使用了很长时间,因此您遇到的几乎所有连接问题都会有解决方案。例如,适用于 Python 的 AWS 开发工具包 Boto3提供了对 S3 的轻松访问,这就是我们处理存储的方式。
4.Python
Python 仍然是最流行的语言之一。它在美国各级教育中广泛教授,包括小学、初中、高中和大学。如此庞大的人才库使得招聘变得更加容易,并且将 Python 集成到结构化学术课程中可以带来更好的编程实践。即使没有 Python 经验,熟悉另一种语言的人也可以快速提高工作效率。
由于无需编译,Python 促进了非常快速的开发工作流程。缺乏编译确实会带来性能损失。对于大多数项目来说,硬件比劳动力便宜。凭借可扩展的基于云的架构,Django 的性能对于并发连接数较低的项目来说永远不是问题。
尽管 Python 是动态类型的,但您可以使用类型 来利用类型提示。
也许比语言功能更重要的是工具链。由于Python不需要编译,工具链更容易设置和维护。pyenv 和venv等轻量级工具可以在整个开发团队中保持 Python 和包的版本一致。只要在开发人员工作站上正确设置 PATH,开发和部署通常就不会出现问题。我们的团队混合使用 Windows 10、Windows 11、macOS 和 Ubuntu 22.04 进行开发。尽管不是必需的,但每个人都使用带有一系列 Python 扩展的 VS Code。
5. 社区
20多年过去了,几乎所有Django问题都被其他人解决了。
社区庞大的规模和悠久的历史也有助于人员变动。有关 Django 的大部分信息都可以通过 QA 网站或 AI 网站进行搜索找到。
相比之下,当我使用其他更新的框架时,我发现我需要通过向人们提问来获取信息,通常是在 Discord 或 Slack 等系统上。
对于 Django,我通常不需要等待一个人来回答我的问题,因为在我之前的数以万计的 Django 开发人员通常已经提出并回答过这个问题。尽管有许多关于 Django 和 Python 的免费且廉价的课程,但大多数人只是开始编码并寻找答案。
虽然 Python 语言和 Django 都在积极开发中,但小型项目中的大多数问题不会因语言或框架的边缘情况而发生。
Django 未来的发展
我不会预测未来。年轻人将创造它。在我的公司,我们有一个活跃的本科生实习计划。当然,他们使用并且喜欢 Django。然而,这是他们工作的一部分。让我惊讶的是,他们在工作之余在自己的项目中使用Python和Django。我通常期望 24 岁以下的人在全栈项目的后端和前端使用 JavaScript,可能还使用 TypeScript。年轻的程序员是未来,他们经常使用 Python 作为后端,并结合 Django 管理面板、Django 模板语法和前端的 React 之类的东西。
最终,更现代的框架可能更适合您的项目。如果你喜欢 Python,那么 Flask 或 FastAPI 可能比 Django 更好。带有 Django 的 GraphQL可能比久经考验的真正的 REST 协议更好。然而,在您认为 Django 陈旧且单一之前,请从组件化的角度重新审视它。这可能是将您的创意变为现实的最快、最便宜的方式。
20 年后,Django 仍然表现出色。
以上是2024 年选择 Django 的 5 个理由的详细内容。更多信息请关注PHP中文网其他相关文章!