Django 인기의 역사 [닫기]


84

Django를 가장 인기있는 Python 웹 프레임 워크 ..로 만든 일련의 이벤트는 무엇입니까? 여러 다른 프레임 워크가 존재하더라도.

참고 :이 질문은 논쟁 적이거나 대립적인 것이 아닙니다 . 나는 단지 그것의 실제적인 인기로 이끄는 (객관적인) "사건의 순서"를 물었다. 소프트웨어 수용의 역학 관계를 알고 있으므로 누구도 기술 우월성에 대해 논쟁을 벌일 생각은 없습니다.


14
가장 인기있는 Python 웹 프레임 워크 인 Django는 주관적인 의견이 아니라 사실입니다. "이벤트의 순서"는 인기로 이어지는 디자인 결정, 타이밍, 마케팅 등을 의미합니다. 그것에 대해 무의미한 것은 무엇입니까?
Sridhar Ratnakumar

2
이것은 정말 좋은 질문입니다.
Joshua Partogi

이러한 디자인 결정, 타이밍, 마케팅 등이 "역사"로 간주되기에 충분한 정확성과 적시성을 가지고 있는지 알아보기 위해 관심을 가지고 지켜 볼 것입니다.
John Saunders

이 질문의 종결에 동의하지 않지만 CS에서는 더 좋을 수 있습니다 .
Kyle Strand

답변:


107

몇 가지 요인이 있었는데 그 조합은 개별 가중치의 합보다 더 컸습니다.

하나는 단순히 타이밍입니다. Django는 Rails의 첫 번째 큰 물결이 급증하면서 바로 나타났습니다. 그래서 즉시 "Rails에 대한 Python의 대답"으로 묘사되었습니다. 그 결과 거의 처음부터 프로젝트에 대한 눈알이 많지 않았습니다. Adrian이 시카고에서 열린 "Snakes and Rubies"밋업에 있었고 Rails와 Django에 대한 나란히 대화에 참여하게 된 사실은 그에 큰 도움이되었습니다.

또 다른 요인은 Django가 항상 단일 패키지 설치라는 것입니다 (정답은 아닙니다 : Python 2.5 이상을 사용하고 SQLite를 사용하지 않는 한 데이터베이스 어댑터가 여전히 필요하지만 충분히 가깝습니다). 구성 요소 선택을 개발자의 손에 맡기는 데 초점을 맞춘 비 Zope 대안은 기본 자습서를 수행 할 수있는 지점에 도달하기 위해 훨씬 더 많은 작업이 필요했습니다. ORM을 찾아야합니다. 템플릿 언어 등을 사용하고 모두 설치하고 구성합니다. 그것은 수년에 걸쳐 훨씬 나아졌지 만 그에 대한 기억이 여전히 효과가 있다고 생각합니다.

그리고 Django는 (내가 그렇게 말할 수 있다면) 오픈 소스 프로젝트의 일반적인 표준보다 훨씬 높았으며 시간이 지남에 따라 향상되었습니다. 이 튜토리얼은 모든 결함에 대해 Django를 유용하게 만드는 여러 가지 핵심 사항에 대해 언급했으며 나머지 문서는 API 참조와 중요한 "방법"비트를 필요에 따라 혼합하여 항상 좋은 품질을 유지했습니다. 이것은 좋은 기본 경험을 제공하고 사후 학습 곡선 (항상 Zope를 괴롭히는 것)에 도움이됩니다.

나는 또한 옳든 그르 든-Pylons 또는 Werkzeug가 WSGI 및 Python 웹 생태계에 대해 이미 알고있는 숙련 된 개발자에게 정말 더 좋다는 인식이 있다고 생각합니다. 그들이 기존의 즐겨 찾는 라이브러리를 가져 와서 연결하기위한 강력한 선택이되는 경향이 있다는 사실이 이것의 원천이라고 생각합니다. 그리고 아마도 장고의 통합 접근 방식에 대해 새로운 사람들을 끌어들일 것입니다. 물론 반대로 장고를 시도하기 전에 더 많은 것을 미리 배우는 것이 더 나은 많은 사람들이 그렇게하지 않는다는 것입니다.)

마지막으로 Django가 마케팅 된 방식에 대해 말할 것이 있다고 생각합니다. 즉, 장고가 실제로 오랫동안 마케팅 되지 않았 거나 적어도 Rails가 마케팅되었다는 의미에서는 그렇지 않다는 것입니다. Django 1.0이 출시 될 때까지 "마케팅"노력은 대부분 사람들이 블로깅하고 (그리고 사람들이 약간의 톤을 낮추도록 요청받은 주목할만한 사건이있었습니다) PyCon에서 이야기 한 다음 대부분 프레임 워크를 개선하고 멋진 것들을 구축하는 것으로 구성되었습니다. 결과가 스스로를 대변하게합니다. 물론 1.0 이후의 세계에서는 DSF와 DjangoCon, 비즈니스 지향 컨설턴트가 교육 세션과 많은 책과 나머지 모든 것을 수행하고 있지만, 이는 여전히 완전히 새로운 것입니다.

Rails와 마찬가지로 반발이있을 것으로 예상하고 실제로는 한동안 양조되고 이미 시작되었다고 생각합니다. 하지만 지금까지 제가 여기에 나열한 요소는 Django가 처음 출시 된 이후로 지속적이고 꾸준한 인기를 얻고있는 주된 요소라고 생각합니다.


31
겸손 할 필요는 없습니다. Django 문서의 품질과 양은 큰 장점입니다. 잘하셨습니다.
Ned Deily

1
"장고 1.0이 출시 될 때까지"마케팅 "노력은 대부분 사람들이 블로깅하는 것으로 구성되었습니다 ..." 1.0 이전에 출판 된 권의 책 (즉, 오랫동안 작업 중) 을 잊고 있습니까? 그중 하나가 귀하의 것입니까? 그것은 나에게 무거운 마케팅처럼 들립니다.
Cristian

9
적어도 나에게는 두 권의 책이 "무거운 마케팅"을하지 않는다. 그리고 솔직히 말해서 1.0이 나올 때까지 내 인생을 아주 간단하게 만들었을 때까지 내 것을 중단하고 싶었습니다.
James Bennett

4
장고는 블로그만큼 잘 알려져 있지 않기 때문에 장고와의 관계를 언급해야 할 것입니다. 링크 atm을 찾을 수는 없지만 전에 이것에 대해 무언가를 작성했던 것을 기억하는 것 같습니다.
Xiong Chiamiov

7
내 이름을 클릭하고 내가 누구인지 확인하는 것은 매우 쉽습니다.
James Bennett

112

2005 년에 Django가 등장했을 때 많은 Python 웹 프레임 워크가 이미 존재했습니다. 실제로 그 당시에는 Python이 "키워드보다 웹 프레임 워크가 더 많은 언어"라는 농담이 이미 진행되고있었습니다 (그리고 Guido는 Py3k에서 수정하려는 제 제안을 거부했습니다. 더 많은 키워드 추가). 이제 "django"자체는 검색어로서 약간 모호합니다 (또한 Woody Allen 영화 등에서 영감을받은 인기 기타 연주자의 이름이기도합니다). 그럼에도 불구하고 검색에 "python"을 추가하여 다른 의미를 제거합니다. 예를 들어이 그래프 에서 볼 수 있습니다.다른 고전적인 Python 웹 프레임 워크 인 Zope와 비교하여 상대적 인기가 어떻게 변했는지. 2008 년 2 분기 초에 엄청난 급등을 보이며 전분기 대비 대부분 꾸준한 성장세를 보였습니다. 이는 Google이 App Engine을 발표 한 날짜와 일치합니다 (이 경우 원인을 증명하는 것은 불가능하지만 우연의 일치는 적어도 흥미로운 ;-).

App Engine은 기본적으로 커스텀 C 코딩 된 구성 요소에 크게 의존하거나 본질적으로 '높은 관계형'기능을 요구하는 모든 Python 웹 프레임 워크를 배제합니다. 순수한 Python 코드로 잘 실행되는 것 중에서 Django는 아마도 App Engine이 가장 직접적이고 시각적으로 지원하는 것일 것입니다. 그러나 이것은 장고의 근본적인 건전한 성장 추세에 추가 된 단지 향상 일뿐입니다. 이러한 추세에 대한 설명 (실제로 App Engine 팀과 Django를 잘 지원하기로 한 사용자의 결정)은 Django 자체의 고유 한 특성에 있어야합니다.

Django는 Pylons, TurboGears, Werkzeug, & c와 같은 대안에 비해 "너무 마 법적"이거나 "너무 모 놀리 식"이라는 비판을 받기도합니다 (특히 후자의 경우 포함). , 내가 가장 좋아하는 ;-), 더 투명하고 특정 구성 요소 (ORM, 템플릿, & c)를 쉽게 교체 할 수 있습니다. 그러나 Django의 인기는 서버 측 웹 사이트 및 앱 개발에 관심이있는 대부분의 사람들에게 이러한 Django 디자인 선택이 긍정적으로 인식되고 있음을 알려줍니다. Django는 매우 풍부하고 잘 통합 된 프레임 워크로 간주됩니다 (그리고 많은 추가 기능이 있습니다. 온과 기여한 "플러그인", 그러나 그것들은 그 상승의 원인보다 더 많은 결과입니다).

시작의 용이성, 자동 "관리자 페이지"등-Django 매우 풍부하고 복잡한 사이트 / 앱을 만들고 많은 기술과 약간의 작업으로 독특하거나 고유 한 요구 사항을 수용하도록 구부릴 있다는 사실 - 아마도 "킬러 기능"일 것입니다. Werkzeug를 최상으로 사용하려면 HTTP 및 WSGI를 이해하고 Python 기반 웹 사이트 및 앱 개발자 (예 : Rails 사용자 또는 다음의 사용자)와 같이 선호하는 저장소 및 템플릿을 선택하고 통합해야합니다. 훨씬 더 인기있는 PHP!-) 반드시 그렇게 할 필요는 없지만 대부분의 애플리케이션 도메인에 집중할 수있는 환경을 위해 "마인드 쉐어로 투표"하고 있습니다. 나는 그들이 아마도 요점이 있음을 인정해야 할 것입니다 .-).


3
Django의 인기를 감안할 때 약간의 친숙 함이 당신에게 도움이 될 것이라고 생각합니다. repoze.bfg, werkzeug 등이 앱이나 사이트에 더 적합 할 때 사용하는 것도 배제하지 않습니다. 시간이 있다면 각각에서 반 장난감 프로젝트를 처음부터 만들어서 프로젝트가 수반하는 것에 따라 다소 적절하게 만드는 강점과 약점에 대해 더 깊은 인식을 얻을 수 있습니다. repoze.bfg에 대한 실제 경험이 없습니다 ...).
Alex Martelli

1
@Triptych, 분명히 유일한 이유 는 아닙니다. 다른 프레임 워크 ( 어떤 프레임 워크도 아님 : 예를 들어 Zope를 생각하세요!-)가 적용 가능했을 수도 있기 때문입니다. 앱 / 사이트 개발자에게 풍부하게 통합되고 다소 "마법적인"프레임 워크의 장점에 대한 나의 생각이 기본 지원을 제공 할 것인지 결정하는 데 영향을 미쳤을 수 있습니다 (예 : 사용자 업로드없이 자동으로 제공).
Alex Martelli

1
@cletus, Java는 java.sun.com/docs/books/tutorial/java/nutsandbolts/… 당 50 개의 키워드를 가지고 있으며 , Python 2.6은 당 31 개의 키워드를 가지고 있습니다. len(keyword.kwlist)예를 들어, typenames는 Python의 키워드가 아닙니다.
Alex Martelli

34
중요한 점을 놓친 것 같습니다. Django의 문서는 (방법) 어떤 Python 프레임 워크보다 낫습니다 (뿐만 아니라 rails 문서, IMO보다 낫습니다)
agiliq

6
@Alex, 누구든지 실제로 문서를 읽는 것이 끝나기 시작하는 것 같지는 않지만 대부분의 사람들은 문제가있을 때 Google 검색을 쳤습니다. 블로그 게시물을 검색하는 데 1 시간이 아닌 멋진 문서를 사용하여 5 분 안에 답변을 찾을 수 있다는 점은 큰 장점입니다 (적어도 StackOveflow까지 멍청한 질문을 훨씬 쉽게 할 수있었습니다.)
Edan Maor

22

Django의 인기에 대한 세 가지 이유를 생각할 수 있으며 그중 하나만 다른 답변에서 다루었습니다.

  1. 선적 서류 비치. 다양한 기술 수준에서 체계적이고 포괄적이며 접근하기 쉽습니다.

  2. 디자인. 관리자, 오류 페이지 및 프로젝트 사이트의 시각적 디자인은 대부분의 오픈 소스 프로젝트에서 볼 수있는 디자인 수준보다 훨씬 높습니다.

  3. 커뮤니티 지원. World Online의 팀을 시작으로 Django는 초기에 영향력있는 전도사를 몇 명 데려 왔습니다. Jeff Croft의 Django for Non-Developers와 같은 블로그 게시물의 중요성을 과도하게 언급 할 수 있을지 모르겠습니다 (제 생각에 그것이 제목이라고 생각합니다).


13

"내 개인적으로 가장 좋아하는 것, 그리고 오랫동안 개인적으로 가장 좋아할 것으로 기대되는 것은 Django라는 이름입니다."-Guido Van Rossum on FLOSS 주간 에피소드 11, 2006 년 8 월 4 일 방영

[여기를 클릭] (인터뷰의 마지막 1/3을 들어보세요)

이것이 도움이되었다고 생각하십니까? 또는 적어도 Google이 AppEngine을 위해 선택한 이유는 무엇입니까?

물론 django 커뮤니티 (개발자 포함)는 많은 일을 제대로하고 있습니다. 예 (링크의 일부 분석) :

모듈성 향상 : [여기를 클릭]

kick ass documentation 여기를 클릭하십시오

또한 사람들이 기여하고 싶어하는 커뮤니티에 대해 제가 아직 언급하지 않은 부분이 있습니다. 여기를 클릭하세요.

물론 장고가 이상 치가되는 이유는 다음과 같습니다 . Click Here

Django의 인기에 대해서는 의문의 여지가 없습니다.


1
나는이 답변이 다른 사람들이 제공하지 않는 것을 제공한다고 생각합니다. 많은 사람들이 그 댓글로 인해 장고에 맹목적으로 들어갔다.
Jorge Vargas

Guido가 그렇게 설명 할 때 맹목적으로하는 것은 잘못이 아닙니다. 나는 그랬고 그 이후로 결코 뒤돌아 보지 않았습니다.
위로.

3

제 경우에는 TurboGears 책을 샀고, 그 불일치와 상황을 설명하는 우연한 길을 헤쳐나갔습니다. 그런 다음 Django 책을 얻었습니다. 책의 샘플 프로젝트를 진행하면서 첫 번째 유료 프로젝트가 만들어졌습니다. 그것과 함께 온라인 문서가 거래를 봉인했습니다. 저에게는 간단했습니다 : 문서, 문서, 문서.


2

나는 그것이 Python에서 Ruby on Rails와 동등한 것으로 종종 승격된다는 것을 알았습니다. 또한 Google과 연결되어 있습니다 (Google은 Django 이벤트를 호스팅하고 App Engine에서 지원함). Google이 보증하는 웹 프레임 워크는 가치가 있습니다. :)


2
물론입니다.하지만 GAE는 그 과정에서 훨씬 늦게 나타났습니다. 그리고 Django는 이미 인기가있었습니다.
Sridhar Ratnakumar

1
@Sridhar, yep-나는 내 대답에서 두 가지 요점을 모두 들었습니다 .GAE는 Django가 발표 날짜에 큰 인상을 주었지만 꾸준한 성장 추세에있었습니다.
Alex Martelli

2

적어도 저에게 중요한 요소는 Simon Willison과 Adrian Holovaty가 "Web Standards"장면에서 이미 잘 알려진 선수 였고 나중에 Jeff Croft도 잘 알려진 선수라는 것입니다.

그것은 품질의 봉인 일뿐만 아니라, Django를 매우 웹 친화적으로 만들었습니다. HTTP, 마크 업, 심지어 PHP에서 온 사람들이 익숙한 빠르고 더러운 "인쇄 디버깅"작업 방식에 대한 존경심 때문입니다.

제가 여기서 크게 틀렸을 수도 있고,이를 백업 할 데이터가 없을 수도 있지만, Django는 Java / .NET에서 많은 변환을 얻은 Rails와 달리 PHP에서 오는 사람들로부터 훨씬 더 많은 견인력을 얻었습니다.

다른 사람들이 이미 언급했듯이 문서는 평균 이상입니다. 내가 기억하는 한 내가 본 최고의 것.


0

이미 Django를 사용하는 사이트가 여러 개 있다는 사실 (예 : lawrence.com 등 ...)은 0.96 일이 되어도 사용하기에 안전하다는 것을 경영진에게 확신시키는 데 도움이되었습니다. Pylons 및 Turbogears와 같은 것은 실제로 그것을 가지고 있지 않았습니다.


1
다행히 그 시절은 끝났고, 이제 pylons에 reddit.com과 sourceforge가 있습니다 (터보 기어를 통해).
zzzeek

그러나 Pylons는 아직 1.0에 도달하지 않았습니다. 이것은 Django의 API 안정성 약속이 없다는 것을 의미합니다 (확인하지 않았 음).
Xiong Chiamiov

-1

시간이 지남에 따라 Django의 인기도 (실제 질문이 아니라면 질문 제목의 문자 적 ​​의미)에 대해서는 Google 트렌드를 살펴보십시오 .


1
트렌드 링크가 잘못되었습니다. @Alex Martelli가 지적했듯이 기타리스트를 꺼내야합니다.
Jorge Vargas
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.