Web Development

2024년 Django 현황

Read this post in other languages:

Django 개발의 최신 동향을 알아보고 싶으신가요?

Django Foundation과 협력하여 PyCharm은 전 세계 4,000명 이상의 Django 개발자를 대상으로 설문조사를 진행하고 답변을 기반으로 프레임워크 사용에서 발견된 동향을 분석했습니다.

이번 블로그 게시글에서는 설문조사에서 발견된 다음의 주요 사실을 공유합니다.

  • Django 개발자 세 명 중 한 명은 Flask 혹은 FastAPI를 사용합니다.
  • 대부분의 개발자는 풀스택 및 API 개발 모두에 Django를 사용합니다.
  • Django 개발자의 61%는 비동기 기술을 사용합니다.
  • 그 외에 다양한 인사이트가 있습니다!

이해하기 쉬운 인포그래픽을 참조하면서 조사 결과에 관해서 더 자세히 알아보고 Django 개발의 다른 동향을 발견해 보세요.

2024년 Django 최신 동향

백엔드: Django 개발자 세 명 중 한 명은 Flask 혹은 FastAPI를 사용

Django 외에 어떤 웹 프레임워크를 사용하시나요?
어떤 웹 프레임워크를 가장 많이 사용하시나요?

74%의 개발자에게 Django는 항상 활용하는 프레임워크로 남아 있습니다. 그러나 이 수치는 작년의 83%보다는 다소 떨어졌습니다. FastAPI는 여전히 인기가 있으며, 응답자 중 25%가 사용 중이었습니다. 한편 Flask는 인기가 약간 줄었습니다(2022년 29%, 2023년 26%)

Django를 주로 사용하는 웹 개발자의 33%는 Flask 혹은 FastAPI도 사용하며 다양한 백엔드 기술을 보여주었습니다.

대부분의 전일제로 근무하는 개발자(49%)가 동시에 여러 프로젝트를 진행한다는 점을 고려하면 이는 목적에 따라 도구를 달리 선택한다는 의미일 수 있습니다.

  • Django – ‘배터리 포함’ 접근 방법으로 인해 더 크고 복잡한 웹 앱에 사용합니다.
  • Flask – 간단한 애플리케이션(특히 정적 사이트) 혹은 마이크로서비스에 사용합니다.
  • FastAPI – API 엔드포인트를 생성할 때, 특히 애플리케이션에 다량의 IO 호출이 포함될 때 사용합니다(특히 실시간 웹 애플리케이션).

Django 개발자 중 11%만이 세 프레임워크를 모두 사용한다는 사실은 대다수의 개발자가 Flask와 FastAPI를 비슷한 목적에 사용하고 있으며, 비동기 기능을 지원하는 FastAPI로 전환하고 있음을 의미할 수 있습니다.

Django가 Flask 및 FastAPI와 어떻게 다른지 알고 싶으신가요? Django와 Flask 그리고 Djang와 FastAPI의 상세 비교를 확인하고 사용자의 요구 사항에 어떤 프레임워크가 알맞은지 확인하세요.

API 개발: 대부분의 개발자는 풀스택 및 API 개발 모두에 Django를 사용

Django를 어떤 목적으로 사용하시나요(풀스택 혹은 REST API)?

올해의 설문조사에서는 전일제로 근무하는 개발자들이 API 작업을 하는 추세에 따라 Django가 풀스택(74%) 및 API 개발(60%) 모두에서 인기가 있었습니다. 전일제 근무 개발자들은 Django를 REST API 개발에 사용할 가능성이 더 높았으나(평균 60% 대비 65%) 풀스택 개발에 사용할 가능성은 낮았습니다(평균 74% 대비 68%).

HTMX의 인기가 나날이 증가하고 있으며, 이 추세는 Django가 풀스택 개발에 더 사용되는 점에 맞춰 변화할 수 있습니다.

흥미롭게도 DRF는 타사 패키지 중 여전히 가장 인기가 많았으나 뛰어난 속도와 입력 기능으로 유명한 Django Ninja가 계속 성장하면서 인기가 떨어졌습니다. Django Ninja는 API를 생성할 때 인기 있는 선택지인 FastAPI처럼 성능이 높고 비동기 기능을 제공하지만, Django 에코시스템에 속하기 때문에 학습하는 데 걸리는 시간이 짧습니다.

API를 만드시나요? 이 튜토리얼을 읽고 Django REST 프레임워크로 API를 만드는 방법을 알아보세요.

비동기: Django 개발자의 61%가 사용

어떤 비동기 기술을 사용하시나요?

Django 개발자들은 명확하게 비동기 기술로 전환하고 있으며, 61%의 개발자가 이를 자신의 프로젝트에 포함하고 있습니다(작년 53% 대비 상승).

비동기 프로그래밍을 고려하여 만들어진 FastAPI는 이제 비동기 기술을 사용하는 모든 Django 개발자 중 21%가 사용하고 있습니다. Django 비동기 뷰도 더 많은 응답자들이 사용하고 있으나(14%) 비동기 작업에는 FastAPI가 여전히 더 인기가 있습니다. Django 5 릴리스에는 더 많은 비동기 지원이 예정되어 있기 때문에 Django 내에서 비동기를 사용하는 것과 관련된 관심이 더 증가할 수 있습니다.

프런트엔드: Django 개발자가 HTMX, Alpine.js 및 Tailwind CSS 등을 점점 더 선호

Python 외에 다른 어떤 프로그래밍 언어를 사용하시나요?

프런트엔드의 경우 개발자의 68%가 사용 중인 JavaScript가 여전히 가장 인기 있는 언어입니다. 그러나 확고하던 우위(2021년 및 2022년 75%)를 TypeScript에 잃고 있습니다. TypeScript는 2021년 19%에서 2023년 28%까지 크게 증가했습니다. 인기가 증가한 이유는 정적 입력 기능 때문일 수 있으며, 이 기능은 개발 프로세스 초기에서 오류를 잡아주어 코드를 더 탄탄하고 관리하기 쉽게 만들 수 있습니다.

어떤 JavaScript 프레임워크를 사용하시나요?

전문 Django 개발자들은 다른 경쟁 프레임워크보다 명확하게 JavaScript 프레임워크를 선호했으며, 다른 프레임워크의 사용률은 Vue 26%, jQuery 35%, React 42%였고, 이 수치는 매년 낮아지고 있습니다.

HTMX(2022년 16%에서 2023년 23%로 성장) 및 Alpine.js(6%에서 10%로 증가) 등과 같은 신규 프레임워크가 빠르게 발전하고 있으며, 현대적인 사용자 인터페이스를 만들 때 더 간단한 도구를 사용하도록 전환하고 있다는 것을 의미합니다. 예를 들어 Adam Johnson이 개발한 전용 django-htmx package가 있습니다.

Dennis Ivy의 HTMX에 관한 의견:

“HTMX를 여기서 보니 반갑군요. 제가 즐겨 사용하지는 않지만(저는 기본적으로 React를 사용합니다), 완전한 JS 프레임워크/라이브러리로 이전하지 않더라도 유연성을 확보해야 하는 여러 Django 프로젝트에 적합한 것 같습니다.”

어떤 CSS 프레임워크를 사용하시나요?

Bootstrap은 3년 연속으로 하락하고, Tailwind CSS는 지난 2년간 인기가 두 배로 증가하며 상당한 성장세를 보이고 있습니다. Tailwind CSS가 Bootstrap보다 선호도가 높아지고 있으며, 이는 사용자들이 웹 프로젝트에서 스타일을 적용할 때 더 많이 사용자화하고 사전에 정의되는 것들이 적은 방식을 더 원한다는 의미입니다. 패키지 크리에이터 Tim Kamanin의 글을 읽고 가이드에 따라 Tailwind CSS를 Django에서 사용하는 방법을 알아보세요.

Dennis Ivy의 Tailwind CSS에 관한 의견:

“Tailwind-Django 사용이 증가하는 것을 확인하니 좋군요. 이 분야에서 기본 통합과 교육적인 콘텐츠가 더 많아졌으면 좋겠습니다.”

데이터베이스: Django 개발자의 75%는 PostgreSQL를 선호하고 50%는 캐시용으로 Redis를 사용

어떤 데이터베이스 백엔드를 사용하시나요?

Django 에코시스템의 개발자들 사이에서 PostgreSQL은 주요 데이터베이스 선택지로 선두를 달리고 있으며(76%), 이는 웹 애플리케이션을 위한 SQL 기반의 강력한 시스템이 선호된다는 것을 보여줍니다. MariaDB(10%)나 MongoDB(8%)와 같은 NoSQL 데이터베이스에 대한 관심도 의미가 있으며, 데이터베이스 환경이 다양화되고 있는 것을 반영합니다.

Django가 공식적으로 지원되지 않음에도 불구하고 스키마가 없으며 확장이 가능한 MongoDB가 상위 데이터 선택지로 포함되었다는 점은 더 유연한 문서 기반의 데이터베이스를 통합하려는 개발자의 의향을 반영합니다.

MongoDB를 사용하시나요? 단계별 가이드인 Django를 MongoDB와 연결하는 방법을 읽어보세요.

Dennis Ivy의 MongoDB에 관한 의견:

“Mongo가 다른 접근 방식을 취하고 있고 Django와 호환되지 않는 점을 고려하면 이 수치는 놀랍습니다. 8%에 해당하는 이들의 경력이 어느 정도인지 알고 싶군요. 아마도 신규 개발자이거나 실험적인 프로젝트를 하고 있는 것 같아요.

몇몇 MongoDB 팀원과 이야기하고 나서 보니, 이 자료에 나온 통합에 대해 이렇게 결론이 나더군요.”

어떤 캐시 백엔드를 사용하시나요?

캐시 분야에서 웹 앱의 응답성을 높이는 용도로 가장 많이 찾는 솔루션은 Redis(54%)였으며, Memcached(20%)도 증가하고 있습니다.

오케스트레이션: 50% 이상의 Django 개발자가 컨테이너 오케스트레이션을 사용

어떤 컨테이너 오케스트레이션 서비스를 프로덕션에서 사용하시나요?

인기 있는 서비스 중에서 Amazon ECS/Fargate(19%)가 사용 편의성과 AWS와의 통합 덕택에 선두를 달리고 있으며, AWS 에코시스템에 속한 개발자들에게는 자연스러운 선택지가 되었습니다.

자체 관리형 Kubernetes(14%)도 인프라의 유연성과 통제를 원하고 손쉽게 공개/비공개 클라우드 간에 마이그레이션하고 싶어하는 개발자로부터 관심을 받고 있습니다. Amazon EKS(12%)와 Docker Swarm(12%)이 인기 있는 이유는 관리 용이성과 확장 가능성의 균형이 잘 잡혀 있어서 다양한 개발 요구 사항에 맞출 수 있기 때문일 수 있습니다.

Kubernetes 인프라를 다루시나요? Kubernetes에서 Django 앱을 배포하는 방법을 읽어보세요.

CI 시스템: GitHub Actions이 업계를 선도

어떤 지속적 통합 시스템을 사용하시나요?

CI 분야에서 GitHub Actions의 성장세(2021년 35% 대 2023년 45%)는 이미 GitHub를 소스 코드 관리에 사용하는 개발자가 쓰기에 편리하다는 점을 보여줍니다. 파이프라인 관리에 간단한 YAML 파일을 활용할 수 있어 매우 간편하기 때문에 GitHub 에코시스템 내에서 직접 소프트웨어 워크플로를 자동화할 때 접근성이 좋고 효율적인 도구입니다. 게다가 큰 잡을 실행할 때 충분한 처리 용량이나 메모리를 갖춘 사용자 지정 하드웨어 구성을 사용할 수 있는 유연성도 제공합니다.

IaC: Django 개발자의 39%는 Infrastructure as Code(IaC)를 사용

어떤 Infrastructure-as-Code(IaC) 도구를 사용하시나요?

응답자의 39%가 IaC 솔루션을 사용한다는 점은 코드를 통해 자동화와 인프라를 관리하려는 추세가 증가하고 있음을 보여줍니다. 대형 프로젝트에서 IaC는 신뢰할 수 있고, 재현이 가능하며 확장이 가능한 인프라 환경을 보장합니다. 다른 옵션과 비교했을 때 20%의 응답자들이 선호한 Terraform은 가장 일반적으로 사용되는 IaC 프로비저닝 엔진입니다.

오픈 소스 솔루션인 Pulumi를 응답자의 5%가 선택했다는 점도 흥미롭습니다. 이는 Pulumi가 고안될 때부터 인프라 관리를 위해 어떠한 프로그래밍 언어든 유연하게 지원했기 때문일 수 있습니다. 이러한 특징 덕분에 다양한 배경의 개발자와 DevOps 엔지니어에게 Pulumi가 널리 이용됩니다. Terraform도 2022년에 CDK를 통해 유사한 옵션을 제공하기 시작했습니다.

Django 개발자의 직업과 경험에 기반한 인사이트

Django 학습 리소스

다음 중 어떤 채널을 사용하여 Django 개발 관련 정보를 얻으시나요?
Django를 배우기 위해 다음 중 어떤 방법을 선호하시나요?

전일제로 근무하는 개발자는 Django를 배우기 위해 YouTube를 시청하는 비중이 적으며(평균 39% 대비 32%) 학습 목적으로 AI 도구를 더 적게 사용합니다(평균 25% 대비 22%).

팀 리더는 일반적으로 Django News 뉴스레터, Reddit, Hacker News와 심지어는 X(이전 Twitter)를 통해 최신 Django 개발 정보를 얻습니다. 친구들로부터 배우는 비율이 더 높은 것으로 보고되었습니다(평균 11% 대비 16%).

초급 개발자는 YouTube나 StackOverflow를 학습 목적 및 Django 에코시스템의 최신 소식을 듣기 위한 용도로 더 많이 사용합니다. 학습 방법으로는 시니어 개발자보다 새로운 AI 도구를 사용하는 경향이 높았습니다(평균 25% 대비 38%).

기타

  • 전일제로 근무하는 Django 개발자는 Django를 업무에만 사용하는 확률이 높았습니다(평균 17% 대비 23%).
  • 팀 리더와 전일제 근무 개발자 모두가 선호하는 핵심 구성 요소는 마이그레이션 지원이며, 이보다 선호도가 떨어지는 구성 요소에는 인증, 템플릿과 더불어 클래스 기반의 뷰까지도 포함되었습니다.
  • 팀 리더는 기본 에디터로 PyCharm(평균 29% 대비 31%)과 Vim(평균 7% 대비 12%)을 VS Code(평균 29% 대비 31%)보다 선호합니다.

PyCharm으로 Django 앱 개발을 시작하기

Django를 사용하시나요? PyCharm은 업계 최고의 Django용 IDE입니다. Django에 맞는 코드 분석 기능, 코드 완성 및 강조 표시를 활용하여 더 빠르게 코드를 작성하세요. 프로젝트를 손쉽게 탐색하세요. 클릭 한 번으로 데이터베이스에 연결하고 TypeScript, JavaScript 및 기타 프런트엔드 프레임워크를 처리하세요. PyCharm은 Flask 및 FastAPI도 기본적으로 지원합니다.

PyCharm 무료로 사용해 보기

설문조사 인구분포

중복되고 신뢰할 수 없는 응답을 제외한 후 2023년 9~10월에 수집한 약 4,000개의 응답에서 데이터를 취합했습니다.

지역 분포

어느 지역에 기반을 두고 있으신가요?

응답자의 44%는 유럽, 19%는 북미, 17%는 아시아에 거주하고 있습니다.

나이 분포

연령대가 어떻게 되시나요?

응답자의 대부분은 21~49세에 속했습니다. 모든 응답자 중 38%는 31~39세였으며, 30%는 21~29세였습니다.

전문적인 코딩 경험

전문적으로 코딩을 하신 지 몇 년이 되셨나요?

응답자의 대부분은 11년 이상 전문적으로 코드 작성을 해 왔습니다. 응답자 중 24%는 전문적인 코드 작성 경력이 3~5년이었고, 19%는 전문 개발자로 6~10년 근무했습니다. 설문조사 응답자 중 전문적으로 개발한 경력이 2년 미만인 응답자는 25%였습니다.

직무

어떤 직무를 맡고 계신가요?

응답자 중 79%는 직무에 개발/프로그래밍 혹은 소프트웨어 엔지니어링이 포함된다고 말했습니다. 응답자의 16%는 팀 리더였습니다. 응답자 중 10%는 본인의 업무에 데이터 분석, 데이터 엔지니어링 혹은 데이터 과학이 포함된다고 밝혔습니다.

데이터 세트에는 공식 Django Software Foundation 채널의 응답만 포함됩니다. 이 설문조사는 JetBrains 채널은 사용하지 않고, djangoproject.comDSF X(이전 Twitter) 계정 등 Django 공식 채널의 홍보를 통해 답변을 수집했습니다. 설문조사가 특정 도구나 기술에 유리하게 편향되는 것을 방지하기 위해 제품, 서비스 또는 공급업체 관련 채널은 응답을 수렴하는 데 사용되지 않았습니다.

자세히 알고 싶으신가요? 전체 설문조사 데이터는 2023년 Django 개발자 설문조사를 참조하세요.

게시물 원문 작성자

Valeria Letusheva

Valeria Letusheva

image description