JetBrains logo

2022 年 Django 開発者アンケート

このアンケートは、2022 年 9 月~10 月に Django Software Foundation と JetBrains が共同で実施した第 2 回年次 Django 開発者アンケートです。 フレームワークとそれを取り巻くエコシステムの現状を把握するため、248 の国と地域から 4,900 人の Django ユーザーとファンを対象に実施しました。

最も新しい結果については、2023 年 Django 開発者アンケートにアクセスするか、最初の 2021 年 Django 開発者アンケートをご覧ください。

主にどのような目的で Django を使用していますか?

どのバージョンの Django を使用していますか?>100%

55%

0%

4.1

34%

0%

4.0

47%

75%

3.2

10%

30%

3.1

13%

39%

3.0 以下

大半のユーザーは最新バージョンの 4.1 に移行済みですが、ほぼ半数の Django 開発者は依然として 3.2 LTS バージョンに依存しています。

経験豊富な Python 開発者は Django バージョン 3.1 以前を使用していますが、使い始めたばかりのユーザーは最新バージョンのみを使用しています。

新規プロジェクトでは、どのバージョンの Django を使用していますか?

70%

最新の安定リリース

28%

最新の LTS リリース

3%

その他

プロジェクトではどれくらいの頻度で Django をアップグレードしていますか?

44%

安定リリースごと

14%

毎月のポイントリリースごと

30%

LTS のみ

5%

サポート対象外のバージョンの Django

7%

その他

Django 開発者は通常、安定版のリリースごと(44%)か長期サポート契約でのみ(LTS)(32%)アップグレードしています。

テクノロジーとフレームワーク

どのデータベースバックエンドを使用していますか?(複数選択可)> 100%

79%

PostgreSQL

40%

SQLite

28%

MySQL

10%

MariaDB

2%

Oracle

2%

使用していない / わからない

6%

その他

Django は PostgreSQL、SQLite、MySQL、MariaDB、Oracle の各データベースを正式にサポートしています。 昨年のアンケート以来、PostgreSQL の人気はさらに高まり、そのシェアは 2% 増加しています。

Django がサポートしていないデータベースを使用しているのは、開発者のわずか 6% です。 これらの開発者が最も多く言及したデータベースは MongoDB です。

どのキャッシュバックエンドを使用していますか?> 100%

54%

Redis

17%

ローカルメモリ

16%

データベース

16%

Memcached

8%

ファイルシステム

1%

その他

27%

なし

Redis でのキャッシングは最も人気があり、半数以上の Django 開発者が実践しています。
Redis をキャッシュバックエンドとして使用する開発者は、他のキャッシング方法を使用する開発者よりも TypeScript を使用する傾向にあります。

PostgreSQL データベースユーザーは Redis と Memcached を好んでいます。

SQLite ユーザーの間ではファイルシステムのシェアが最も多く、ローカルメモリはその次に多くなっています。

どの GeoDjango バックエンドを使用していますか?(複数選択可)>100%

72%

使用していない / わからない

22%

PostGIS

6%

MySQL

2%

SpatiaLite

1%

Oracle

1%

その他

GoeDjango バックエンドの使用は、データベースバックエンドの選択に大きく関連しています。

どの Django contrib アプリが最も有用だと思いますか?> 100%

85%

admin

80%

auth

50%

postgres

50%

sessions

48%

staticfiles

33%

messages

26%

contenttypes

25%

redirects

17%

humanize

16%

sites

11%

GeoDjango

10%

sitemap

3%

flatpages

3%

syndication

1%

その他

5%

使用していない / わからない

回答者の 80% 以上が admin または auth を選択しており、これらは 2 年連続で最も人気のある contrib アプリとなっています。

お気に入りのコアコンポーネントはどれですか?(3 つ選択)> 100%

76%

モデル

50%

管理者

33%

認証

31%

移行

25%

ビュー

14%

Django 管理コマンド

13%

フォーム

13%

テンプレート

10%

サードパーティエコシステム

8%

URL

5%

シグナル

5%

テスト

4%

キャッシュ

2%

わからない

1%

その他

回答者の間で一般的なコアコンポーネントはモデルです。 Django ユーザーの 76% が選択しました。これは前年より 4% 高くなっています。

どのテンプレートエンジンを使用していますか? > 100%

81%

Djangoテンプレート

14%

Jinja2

2%

その他

13%

なし

どのテストフレームワークを使用していますか?> 100%

41%

pytest

36%

unittest

31%

pytest-django

21%

coverage

10%

Selenium

6%

tox

5%

Cypress

3%

Playwright

3%

django-test-plus

2%

nose

1%

TestCafe

1%

その他

26%

なし

どの JavaScript フレームワークを使用していますか?(複数選択可)>100%

36%

37%

React

32%

37%

jQuery

25%

28%

Vue

16%

5%

htmx

8%

10%

Angular

2020 年にリリースされた htmx にさらに注目が集まっています。 この JavaScript フレームワークの使用率は 2021 年 8 月に実施された前回のアンケートから 3 倍になっています。 また、Alpine.js のシェアが 2 倍になっていますが、この値は具体的な結論を導くにはまだ小さすぎます。

昨年の結果に比べて jQuery のシェアが 5% 減少しています。

主力であったフレームワークのシェアが新たに登場したフレームワークに押され始めているのは注目に値します。

どの CSS フレームワークを使用していますか?(複数選択可)>100%

62%

68%

Bootstrap

22%

15%

Tailwind CSS

13%

14%

Pure CSS

9%

12%

Material Design/Lite

6%

6%

Bulma

Tailwind CSS のシェアが 15% から 22% と昨年比で 7% 増加しています。 Tailwind CSS を使用する開発者は、Bootstrap ユーザーよりも頻繁に Alpine.js、htmx、React、Vue などの JavaScript フレームワークを使用する傾向があります。 Bootstrap ユーザーは約 2 倍の頻度で jQuery を使用しています。

お気に入りのサードパーティ Django パッケージはどれですか?(5 つ選択)> 100%

60%

djangorestframework

28%

django-celery

28%

django-debug-toolbar

18%

django-cors-headers

17%

django-filter

17%

django-allauth

16%

pytest-django

16%

django-redis

16%

django-extensions

15%

django-crispyforms

どの非同期テクノロジーを使用していますか?> 100%

25%

ASGI

23%

asyncio

18%

FastAPI

15%

Channels

15%

Uvicorn

11%

Django の非同期ビュー

9%

Daphne

5%

asgiref

4%

Starlette

1%

Hypercorn

1%

Anyio

4%

その他

47%

なし

Django 開発者の半数は、非同期(async)ビューを書いています。 ただし、回答者が async テクノロジーを使用するかどうかは、必ずしも開発者の経験値とは関連していません。

Django 非同期サポートについてはこちらをご覧ください。

構文とドキュメント

Django コードで現在、型ヒントを使用していますか?

経験の多い開発者は、経験の少ない開発者よりもはるかに高い頻度で型ヒントを使用しています。 全体として、Django 開発者の 46% が型ヒントを使用しています。

どの型チェッカーを使用していますか?>100%

35%

Mypy

23%

Pyright / Pylance

4%

Pytype

5%

その他

40%

なし

関与しているソフトウェアのドキュメントにどれくらい貢献していますか?

22%

非常に多くまたは頻繁に

28%

たまに

26%

少し、またはほとんどない

25%

ない、または全くない

関与しているソフトウェアのドキュメントのホスティングと公開には何を使用していますか?>100%

43%

Readme

29%

自己ホスト

21%

Read the Docs

19%

GitHub Pages

3%

GitBook

8%

その他

23%

ドキュメントを公開していない

チームの規模が大きいほどソフトウェアを文書化する可能性が高く、大規模なチームが使用することの多い GitHub Pages などが使用されています。

より小さなチームは、より少ない頻度でドキュメントを公開しています。

ドキュメントの作成とビルドにはどのシステムと言語を使用していますか?>100%

64%

Markdown

37%

Swagger

24%

Sphinx

17%

rST

14%

Postman

13%

wiki

8%

その他

19%

なし

関与しているソフトウェアのドキュメントにはどの原則を採用していますか?>100%

81%

明示的に採用している情報アーキテクチャはない

27%

正式なドキュメントレビュー

14%

トピックベースの構造

13%

コードは関連ドキュメントを使用せずにマージされない

12%

明示的な貢献者向けスタイルガイド

10%

インクルーシブ言語

3%

Diátaxis

1%

DITA

4%

その他

言語とその他の Web フレームワーク

Python はあなたの主要プログラミング言語ですか?

90%

主要

10%

第二

Python の他にどのプログラミング言語を使用していますか?(複数選択可)> 100%

75%

JavaScript

67%

HTML / CSS

49%

SQL

39%

Bash/シェル

25%

TypeScript

15%

C / C++

13%

Java

12%

PHP

12%

Go

9%

C#

8%

Rust

3%

Ruby

3%

R

7%

その他

3%

なし

あなたの主要プログラミング言語は何ですか?> 100%

23%

JavaScript

12%

Java

11%

TypeScript

10%

PHP

9%

C / C++

7%

C#

5%

Go

3%

HTML / CSS

2%

Rust

2%

SQL

2%

Ruby

1%

Bash / シェル

1%

R

11%

その他

この質問は、Python を第二言語として選択した回答者にのみ表示されました。

Django の他に、どの Web フレームワークを使用していますか?> 100%

33%

React.js

29%

Flask

25%

JQuery

25%

FastAPI

24%

Vue.js

8%

Express

8%

Angular

4%

Spring

4%

Laravel

3%

ASP.NET Core

どの Web フレームワークを最もよく使用していますか?> 100%

83%

Django

5%

React.js

2%

Vue.js

2%

FastAPI

1%

Flask

1%

Angular

1%

Spring

5%

その他

リソース

次のうち、どれを使用して Django 開発の情報を得ていますか?> 100%

59%

djangoproject.com

26%

Stack Overflow

20%

Reddit

20%

Twitter

18%

YouTube

15%

Django News ニュースレター

11%

Hacker News

11%

友人

10%

Django フォーラム

9%

ポッドキャスト

7%

RSS

6%

Google グループ

4%

Discord

1%

IRC

3%

その他

16%

Django 開発をフォローしていない

YouTube と Stack Overflow を最も利用しているのは、勤続年数が 2 年未満の開発者です。

勤続年数が 6 年以上になる開発者あ Django を学習する目的で YouTube を使用することはほぼありません。 主に djangoproject.com や Django News を読んでいます。

次のうち、どれを Django の学習に好んで使用していますか?> 100%

80%

djangoproject.com

45%

ブログ

40%

YouTube

31%

書籍

18%

友人 / 同僚

9%

有料動画

5%

ポッドキャスト

5%

その他

3%

なし

Django の公式チャンネル以外で Django の情報を読んだりフォローしたりしている Web リソースを思い浮かべてください。> 100%

50%

YouTube チャンネル

33%

ブログ

33%

ポッドキャスト

16%

Twitter ハンドル

12%

フォーラム

19%

その他

Python のバージョン

どのバージョンの Python を使用していますか?(複数選択可)> 100%

58%

13%

3.10

51%

60%

3.9

36%

53%

3.8

17%

31%

3.7

8%

21%

3.6~3.0

公式の Python 開発者アンケートによると、Django 開発者は概して Python 開発者よりも最新の Python バージョンの使用を好んでいます。 特にバージョン 3.9 の使用が該当し、Python 全般(22%)よりも Django(51%)の方が 29% 高くなっています。

通常は何を使用して Python のバージョンをアップグレードしていますか?>100

39%

OS 提供の Python

37%

Python.org

32%

Docker コンテナー

28%

pyenv

6%

Anaconda

4%

ソースからビルド

3%

クラウドプロバイダーによる自動アップデート

2%

他の人に Python のアップデート管理を任せている

3%

その他

2%

アップデートしない

python.org にアクセスする開発者は、OS に付属する Python を使用する開発者よりも安定版リリースのたびに Python をアップグレードする傾向があります。

アジア圏の開発者は開発者全般よりも python.org の使用を 2 倍好んでいるのに対し(27% 対 13%)、ヨーロッパ圏の開発者は 22% 高く OS 付属の Python を選んでいます(55% 対 33%)。

次のうち、どのツールを使用して Python 環境を分離していますか?> 100%

55%

44%

venv

43%

55%

Virtualenv

42%

40%

Docker

21%

23%

Pipenv

19%

13%

Poetry

Poetry のシェアが 2021 年の 13% から 2022 年末の 19% まで 6% 上昇しています。

どのコードフォーマッターを使用していますか?> 100%

51%

35%

Black

28%

18%

isort

23%

30%

autopep8

19%

0%

コミット前

1%

2%

YAPF

昨年のアンケート結果に比べると、Black コードフォーマッターのシェアが大幅に増加しています(16% 増)。

どのリンターを使用していますか?> 100%

43%

40%

Flake8

41%

26%

Black

33%

37%

PyLint

18%

14%

mypy

3%

4%

その他

どの Python パッケージに依存していますか?(上位 5 つを選択)> 100%

55%

Psycopg2

51%

Requests

40%

Gunicorn

36%

Celery

35%

Pillow

32%

pytest

31%

Black

19%

Boto3

14%

uWSGI

14%

sentry-sdk

14%

WhiteNoise

12%

factory-boy

11%

Coverage

11%

Jinja2

5%

HTTPX

2%

Bleach

2%

Model Bakery

2%

Python Slugify

2%

sorl-thumbnail

6%

その他

5%

なし

Django ユーザーが最も使用している Python パッケージは Psycopg2 と Requests で、それぞれ 54% を占めています。

Requests はすべての Python 開発者に人気の高いプラットフォームであるのに対し、Psycopg2 は Django に限られているようです。

画像処理モジュールである Pillow は、経験の浅い開発者に人気を得ています。

クラウド

どのクラウドホスティングプラットフォームを使用していますか?> 100%

44%

AWS

23%

DigitalOcean

21%

Heroku

12%

Google Cloud Platform

10%

PythonAnywhere

8%

Microsoft Azure

7%

Linode

3%

Fly.io

1%

OpenShift

1%

OpenStack

13%

その他

20%

なし

AWS が 56% のシェアで北米・中米の開発者の一般的な選択肢となっています。

アフリカでは Heroku が 39% のシェアでトップとなっているのに対し、AWS は僅差の 37% で 2 位となっています。

さらに、PythonAnywhere への需要はアフリカと中東地区では 20%、アジアでは 19% となっています。 世界の他の全地域では、10% 未満です。

ローカルではどのようにクラウド向けの開発を行っていますか?> 100%

63%

virtualenv を使用したローカル開発

44%

Docker コンテナーで開発

8%

仮想マシンで開発

7%

ローカルシステムインタープリターを使用

7%

リモート開発環境で開発

2%

本番環境で直接開発

2%

その他

10%

なし

クラウド(本番環境)ではどのようにコードを実行していますか?>100

54%

コンテナー内で実行

33%

仮想マシンで開発

23%

PaaS で実行

9%

サーバーレス

2%

その他

15%

なし

開発ツール

主に使用しているテキストエディターまたは IDE はどれですか?> 100%

42%

VS Code

38%

PyCharm

7%

Vim

5%

Sublime Text

2%

Atom

2%

Emacs

1%

Notepad++

3%

その他

主に使用しているローカルオペレーティングシステムはどれですか?> 100%

41%

Linux

33%

macOS

16%

Windows(WSL あり)

10%

Windows(WSL なし)

1%

その他

どの継続的インテグレーション(CI)システムを使用していますか?(複数選択可)> 100%

42%

35%

GitHub Actions

28%

27%

GitLab CI

10%

12%

Jenkins/Hudson

8%

8%

CircleCI

2%

6%

TravisCI

GitHub Actions のシェアが昨年比でわずかに 7% 増加しているのに対し、Jenking と Travis CI のシェアはそれぞれ 2% 減と 4% 減になっています。

どの構成管理ツールを使用していますか?> 100%

19%

Ansible

8%

カスタムソリューション

6%

Fabric

2%

Puppet

2%

Salt

1%

Chef

5%

その他

65%

なし

コンテナー

Docker コンテナーまたはそれに類するものを使用していますか?>100

47%

開発中にコンテナーを使用している

45%

自分がビルドするアプリケーションを本番のコンテナーで実行している

44%

CI/CD プロセスでコンテナーを使用している

31%

使用していない / わからない

2%

別の目的でコンテナーを使用している

Docker コンテナーでは、何を実行していますか?>100

91%

自分またはチームが開発するアプリケーションのコード

61%

コードの接続先バッキングサービス

22%

開発中に使用するユーティリティ

2%

その他

バッキングサービスとユーティリティでの Docker コンテナーの使用率は、個人ユーザーや 10 名未満の小さな企業の間ではより低くなっています。

開発中はどこでコードを実行していますか?>100

71%

virtualenv 内

61%

自分のコンピューター上のコンテナー内

15%

自分のコンピューターのシステムインタープリターを使用

9%

別のコンピューター上のコンテナー内

4%

コンテナー外の別のコンピューター

0%

その他

開発中はどのようにコードをリモートコンテナーにデプロイしていますか?>100

68%

継続的インテグレーションを使用している

40%

コードをホストマシンに転送し、そこでコンテナーをビルドしている

35%

コンテナーイメージをローカルでビルドし、そのイメージをプッシュしている

12%

Docker エンジンにリモート接続している

6%

その他

どのようにアプリケーションをデバッグしていますか?> 100%

72%

print または log ステートメントを使用する

56%

自分の IDE を使用する

40%

シェル / pdb を使用する

2%

その他

11 年以上の経験を有する開発者の 45% がシェル / pdb を使ってアプリケーションをデバッグしているのに対し、1 年未満の経験を有する開発者の場合はわずか 20%、1~2 年の経験を有する開発者の場合は 30% が使用しています。

リモートホスト上またはコンテナー内でアプリケーションをデバッグしていますか?

回答者に関する情報

あなたの現在の雇用形態は何ですか? >100

65%

会社 / 組織による完全雇用

11%

フリーランサー

9%

自営業

6%

学生

4%

会社 / 組織による部分雇用

3%

勤労学生

1%

退職済み

1%

その他

Djangoユーザーは一般的な開発者の 2 倍の割合でフリーランサーです。このアンケートではフリーランサーが 11 % を占めているのに対し、総合開発者エコシステムではわずか 5%、Python 開発者アンケートでは 6% となっています。

あなたの職務は何ですか?>100

79%

開発者/プログラマー

18%

チームリーダー

17%

アーキテクト

12%

CTO/CIO/CEO

7%

プロダクトマネージャー

6%

テクニカルサポート

4%

DBA

4%

ビジネスアナリスト

3%

QA エンジニア

3%

テクニカルライター

8%

その他

コーディング業務の経験年数はどれくらいですか?> 100%

9%

11%

1 年未満

15%

17%

1~2 年

22%

24%

3~5 年

21%

19%

6~10 年

33%

29%

11 年以上

今年の人口統計によると、2022 年のアンケート回答者の経験年数は昨年よりもわずかに高くなっています。

Python のプログラミングを何年くらい経験していますか?> 100%

6%

8%

1 年未満

16%

21%

1~2 年

30%

31%

3~5 年

28%

24%

6~10 年

19%

16%

11 年以上

どの年齢層に該当しますか?

2%

18 歳未満

4%

18〜20

30%

21~29

37%

30~39

19%

40~49

6%

50–59

2%

60 以上

1%

回答しない

どの地域を拠点としていますか?

45%

ヨーロッパ

19%

北アメリカ

18%

アジア

7%

南アメリカ

7%

アフリカ

3%

中東

2%

オセアニア

1%

中央アメリカ

1%

その他

どちらの国または地域にお住まいですか?

15%

米国

7%

インド

6%

ドイツ

5%

フランス

5%

イギリス

3%

スペイン

3%

ロシア連邦

3%

ブラジル

3%

ポーランド

3%

中国(本土)

2%

カナダ

2%

オランダ

2%

イタリア

2%

オーストラリア

2%

イラン

1%

ナイジェリア

会社

勤務先の規模はどれくらいですか?

18%

自分のみ

20%

2~10 人

20%

11~50 人

20%

51~500 人

5%

501~1,000 人

5%

1,001~5,000 人

8%

5,000 人超

3%

わからない

勤務先ではどの程度の規模のチームで仕事していますか?

9%

自分のみ

67%

2~7 人

14%

8~12 人

6%

13~20 人

2%

21~40 人

1%

40 人超

Django 開発者は小規模のチームで作業する傾向があります。

いくつのプロジェクトに従事していますか?

開発者の経験年数が多いほど、プロジェクトの数が増える傾向にあります。 経験年数の少ない開発者は一般的に 1 つのメインプロジェクトと複数のサイドプロジェクトか、1 つのメインプロジェクトにのみ従事しています。

チームで作業していますか?または単独で作業していますか?

勤務先の事業を最もよく表している産業は次のうちどれですか?> 100%

38%

情報技術 / ソフトウェア開発

8%

教育 / トレーニング

7%

経理 / 財務 / 保険

5%

医薬 / 健康

3%

販売 / 流通 / 事業開発

3%

科学

3%

非営利組織

3%

金融 / 不動産 / 不動産金融

3%

製造

2%

管理 / 運営

2%

物流 / 運輸

2%

マーケティング

2%

経営 / 戦略的経営

2%

サービス / 保守

1%

出版

1%

セキュリティ

1%

人事

1%

レストラン / ホスピタリティ

1%

建設 / 建築

1%

デザイン

1%

法律

1%

カスタマーサポート

10%

その他

実施方法と生データ

より詳細にデータを分析したいですか? 匿名化されたアンケート回答をダウンロードして調査に役立ててください! 調査結果や分析データを Twitter に投稿してください。投稿の際にはハッシュタグ #djangosurvey を付け、@jetbrains@djangoproject をメンションしてください。

データを分析する前に、以下の重要な情報に注意してください。

このデータセットには Django Software Foundation の公式チャンネルからの回答のみが含まれています。 重複する回答や信頼性の低い回答を除外したこのデータセットには、djangoproject.comDSF の Twitter アカウントなどの公式 Django チャンネルでのアンケート推進を通して 2022 年 9 月~10 月に収集された約 4,900 件の回答が含まれています。 アンケート結果が特定のツールやテクノロジーに一方的に有利にならないよう、回答の収集には製品、サービス、またはベンダー関連のチャンネルは使用されませんでした。

データは匿名化されており、個人情報や地理的位置情報は含まれていません。 また、回答者がコメント欄に記入した内容で個人が特定されないよう、自由回答式のフィールドはすべて削除されています。

アンケートの実施方法をより詳しく把握できるよう、データセット、アンケートの質問、アンケートのロジックをすべて公開しています。

生データをダウンロード

Django Software Foundation と JetBrains を代表し、このアンケートにご参加いただいた皆様に重ねて御礼申し上げます。

ご質問やご提案がございましたら、surveys@jetbrains.com までご連絡ください。