Django is an old Python framework, but with its fast development speed and low cost, it is still worth considering in 2024. Django is rich in functionality, ranging from SQL database management to API serving, and can be easily deployed into a serverless architecture. Its strong Python language support and large community make it ideal for a variety of small projects.
#Deciding to go full stack can be daunting. There are a large number of frameworks to evaluate.
I will share my contrarian perspective. Choose Django. The Django Python framework is old, but it gets the job done quickly and cheaply. Django has a "catch-all, opinionated" philosophy. This approach makes getting started with Django very fast. As your project grows in size, split Django into separate components that can serve as a SQL database manager, object-relational mapper, or API server.
In 2024, we stopped using Firebase and MongoDB on the backend and switched to Django. While many projects could benefit from more modern frameworks, choosing newer technologies can also result in more costs as teams struggle to find developers with the required skills and later discover as unforeseen issues arise , development budgets are constantly increasing. With Django, your development path has been paved by tens of thousands of developers.
For the types of smaller projects we build for business workflows, Django is not only faster to get ideas into prototypes, but is also cheaper to build and maintain. Here are the top 5 reasons why you should consider using Django in 2024.
1. SQL as a Service
Django uses a SQL database. Like Django, SQL is considered ancient and less glamorous than newer NoSQL databases like MongoDB. One way to think of Django is as a SQL database with pre-built code to make the database easier to use. If Django doesn't meet your future needs for a particular feature, you can still use SQL Database alone, or use parts of Django to make the database more accessible.
In our case, part of our Django deployment consists of a managed PostgreSQL database as a service. First, we simply add the connection information to the Django application. This architecture also allows us to use Django as an ad hoc prototyping tool to set up the data working interface and logic. As the project grows, we can bypass Django and connect directly to the database using another application like Flutter or React, or set up a streamlined intermediary server to bridge the database and front-end.
SQL’s maturity is also an advantage when recruiting talents. Many universities and technical schools offer SQL as part of their mainstream curriculum. Recruiting from schools is easier because students have recent academic experience and are eager to gain more real-world experience. Most business software projects can be completed without advanced SQL database administration skills.
2.API Service
The ability to expose API endpoints using SQL or the Django REST framework allows us to quickly build multiple database interfaces using different technologies. Although Django templates are easy to learn and powerful, these templates are not as interactive as more reactive frameworks.
Fortunately, Django can provide Django page templates and REST API for the same data. This means you can test different front-end architectures while reusing much of the core logic of the back-end.
The advantage of starting with Django instead of an API server is that it is easier to get started with Django and prototype concepts. Django is very easy to install and comes with everything you need for a web application. pip install django will get you going. Building a functional prototype and deploying it is extremely fast. Django comes with authentication, database, development web server and template syntax. This makes it possible to quickly build complex sites using different security groups and a built-in employee management panel.
3. Serverless architecture
Django can be easily deployed to a serverless architecture and eliminate the setup and maintenance of virtual servers. Starting in 2023, we will migrate the Django project to a serverless architecture. Previously, we were using Ubuntu Linux in virtual servers. We used to run PostgreSQL, NGINX, and Django in the same scalable virtual server. After migrating to a suite of database, storage, CPU and network cloud services, launching a new project took less than a day.
During software development, our code is pushed to GitHub on a branch and we can preview it in the browser as a web application. After a pull request is reviewed by a peer or manager, it is merged into the master branch, triggering an automatic deployment of the code to a production service to run the application. Django's GitHub deployment scripts and settings are provided by App Services. We just copy it and deploy it.
当社のアプリケーション サービスはメディアやデータの保存には使用できないため、画像などのメディアの保存には別のサービスを使用します。 Django は長い間存在しているため、遭遇するほぼすべての接続問題には解決策があります。たとえば、AWS SDK Boto3 for Python は、S3 への簡単なアクセスを提供し、これがストレージの処理方法です。
4.Python
Python は依然として最も人気のある言語の 1 つです。米国では、小学校、中学校、高校、大学など、あらゆるレベルの教育で広く教えられています。このように人材が豊富であるため採用が容易になり、体系化された学術コースに 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 Web サイトまたは AI Web サイトを検索すると見つかります。
対照的に、他の新しいフレームワークを使用したときは、通常は Discord や Slack などのシステムで人々に質問して情報を得る必要があることがわかりました。
Django を使用すると、通常、私よりも前に何万人もの Django 開発者が質問して回答してきたため、1 人の質問に答えてくれるのを待つ必要がありません。 Django と Python については無料または安価なコースがたくさんありますが、ほとんどの人はコーディングを始めて答えを探しているだけです。
Python 言語と Django は両方とも積極的に開発中ですが、小規模プロジェクトにおけるほとんどの問題は、言語やフレームワークの特殊なケースが原因で発生することはありません。
Django の今後の展開
私は将来を予測しません。若い人たちが作っていきます。私の会社では、学部生向けのインターンシップ プログラムが活発に行われています。もちろん、彼らは Django を使用しており、Django を愛しています。ただし、これも彼らの仕事の一部です。彼らが仕事以外の自分のプロジェクトで Python と Django を使用していることには驚きます。私は通常、24 歳以下の人がフルスタック プロジェクトのバックエンドとフロントエンドの両方で JavaScript を使用し、場合によっては TypeScript を使用すると予想しています。若いプログラマーは未来であり、バックエンドに Python を使用し、Django 管理パネル、Django テンプレート構文、フロントエンドに React などを組み合わせて使用することがよくあります。
最終的には、より最新のフレームワークの方がプロジェクトに適している可能性があります。 Python が好きなら、Django よりも Flask や FastAPI の方が良いでしょう。 Django を使用した GraphQL は、おそらく実績のある REST プロトコルよりも優れています。ただし、Django が古くて一枚岩だと考える前に、コンポーネント化の観点から Django を改めて見てください。これはおそらく、あなたのアイデアを実現するための最も早くて安価な方法です。
20 年経った今でも、Django は絶好調です。
The above is the detailed content of 5 reasons to choose Django in 2024. For more information, please follow other related articles on the PHP Chinese website!