2024년 Django 현황
Django 개발의 최신 동향을 알아보고 싶으신가요?
Django Foundation과 협력하여 PyCharm은 전 세계 4,000명 이상의 Django 개발자를 대상으로 설문조사를 진행하고 답변을 기반으로 프레임워크 사용에서 발견된 동향을 분석했습니다.
이번 블로그 게시글에서는 설문조사에서 발견된 다음의 주요 사실을 공유합니다.
- Django 개발자 세 명 중 한 명은 Flask 혹은 FastAPI를 사용합니다.
- 대부분의 개발자는 풀스택 및 API 개발 모두에 Django를 사용합니다.
- Django 개발자의 61%는 비동기 기술을 사용합니다.
- 그 외에 다양한 인사이트가 있습니다!
이해하기 쉬운 인포그래픽을 참조하면서 조사 결과에 관해서 더 자세히 알아보고 Django 개발의 다른 동향을 발견해 보세요.
백엔드: Django 개발자 세 명 중 한 명은 Flask 혹은 FastAPI를 사용
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를 사용
올해의 설문조사에서는 전일제로 근무하는 개발자들이 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 등을 점점 더 선호
프런트엔드의 경우 개발자의 68%가 사용 중인 JavaScript가 여전히 가장 인기 있는 언어입니다. 그러나 확고하던 우위(2021년 및 2022년 75%)를 TypeScript에 잃고 있습니다. TypeScript는 2021년 19%에서 2023년 28%까지 크게 증가했습니다. 인기가 증가한 이유는 정적 입력 기능 때문일 수 있으며, 이 기능은 개발 프로세스 초기에서 오류를 잡아주어 코드를 더 탄탄하고 관리하기 쉽게 만들 수 있습니다.
전문 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 프로젝트에 적합한 것 같습니다.”
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)를 사용
응답자의 39%가 IaC 솔루션을 사용한다는 점은 코드를 통해 자동화와 인프라를 관리하려는 추세가 증가하고 있음을 보여줍니다. 대형 프로젝트에서 IaC는 신뢰할 수 있고, 재현이 가능하며 확장이 가능한 인프라 환경을 보장합니다. 다른 옵션과 비교했을 때 20%의 응답자들이 선호한 Terraform은 가장 일반적으로 사용되는 IaC 프로비저닝 엔진입니다.
오픈 소스 솔루션인 Pulumi를 응답자의 5%가 선택했다는 점도 흥미롭습니다. 이는 Pulumi가 고안될 때부터 인프라 관리를 위해 어떠한 프로그래밍 언어든 유연하게 지원했기 때문일 수 있습니다. 이러한 특징 덕분에 다양한 배경의 개발자와 DevOps 엔지니어에게 Pulumi가 널리 이용됩니다. Terraform도 2022년에 CDK를 통해 유사한 옵션을 제공하기 시작했습니다.
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도 기본적으로 지원합니다.
설문조사 인구분포
중복되고 신뢰할 수 없는 응답을 제외한 후 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.com 및 DSF X(이전 Twitter) 계정 등 Django 공식 채널의 홍보를 통해 답변을 수집했습니다. 설문조사가 특정 도구나 기술에 유리하게 편향되는 것을 방지하기 위해 제품, 서비스 또는 공급업체 관련 채널은 응답을 수렴하는 데 사용되지 않았습니다.
자세히 알고 싶으신가요? 전체 설문조사 데이터는 2023년 Django 개발자 설문조사를 참조하세요.
게시물 원문 작성자