История популярности Джанго

Какая последовательность событий сделала Django самой популярной веб-картой Python.. и все еще так? Даже если существует несколько других фреймворков.

Примечание. Этот вопрос не является аргументарным и конфронтационным. Я просто попросил (объективную) "последовательность событий", которые привели к ее фактической популярности. Зная о о динамике принятия программного обеспечения, я не собираюсь никого вникать в споры о техническом превосходстве.

Ответ 1

Я думаю, что было несколько факторов, комбинация которых была больше, чем сумма их индивидуальных весов.

Один из них просто синхронизирован: Django появился прямо, когда первая большая волна рекламы Rails нарастала, и поэтому она была сразу же изображена как "ответ Python на Rails". Это привело к незначительному количеству глазных яблок в проекте почти с самого начала. Тот факт, что Адриан был на встрече "Змеи и рубины" в Чикаго и принял участие в бок о бок, говорил о Rails и Django, сделал для этого многое.

Другим фактором является то, что Django является и всегда является установкой с одним пакетом (ну, не совсем: вам все равно нужен адаптер базы данных, если вы не используете Python 2.5+ и не используете SQLite, но достаточно близко). Альтернативы non-Zope, в которых все были сосредоточены на выборе компонентов в руках разработчика, потребовали совсем немного работы, чтобы добраться до того места, где вы могли бы сделать базовый учебник: вам нужно будет искать ORM, язык шаблонов и т.д. и т.д., и все они будут установлены и настроены. Хотя за эти годы это стало намного лучше, я думаю, что сохраняющаяся память об этом все еще имеет эффект.

И Django вышел из ворот с документацией, которая (если можно так выразиться) была намного выше обычного стандарта для проектов с открытым исходным кодом и со временем стала лучше. Учебник по всем его многочисленным ошибкам попадает в ряд высоких точек, которые делают Django полезными, а остальная часть документации всегда была хорошего качества, смешивая как ссылку API, так и важные "как" биты по мере необходимости. Это дает хороший готовый опыт и помогает с кривой обучения после обучения (что всегда преследовало Zope).

Я также считаю, что есть правильное или ошибочное восприятие - что, скажем, Pylons или Werkzeug действительно лучше для опытных разработчиков, которые уже знают свой путь вокруг WSGI и веб-экосистемы Python; тот факт, что они, как правило, предпочитают использовать ваши любимые библиотеки и подключать их вместе, является источником этого, я думаю, и, возможно, подталкивает некоторых новых людей к интегрированному подходу Django. Разумеется, обратная сторона заключается в том, что многие люди, которым было бы лучше учиться больше, прежде чем пытаться Django, не делают этого;)

Наконец, я думаю, что есть что-то, что можно было бы сказать о том, как продавался Django, то есть он действительно не продавался в течение долгого времени или, по крайней мере, не в том смысле, что, скажем, Rails был продан. До тех пор, пока Django 1.0 не приземлился, "маркетинговые" усилия в основном состояли из людей, ведя блог (и были некоторые заметные инциденты, когда людей просили немного смягчить их), переговоры в PyCon, а затем в основном просто улучшение структуры, и позволить результатам говорить сами за себя. Теперь, конечно, в мире post-1.0 у нас есть DSF и DjangoCon, а консультанты, ориентированные на бизнес, занимаются учебными занятиями и множеством книг и всего остального, но все еще довольно новые.

Я ожидаю, что будет обратная реакция, так же, как и с Rails, и на самом деле я думаю, что это заварилось какое-то время и уже началось. Но до сих пор я думаю, что факторы, которые я привел здесь, являются, по крайней мере, основными из-за последовательного, устойчивого роста популярности, который Django видел с момента его первоначального выпуска.

Ответ 2

Многие веб-фреймы Python уже существовали, когда Django появился в 2005 году - действительно, шутка уже шла вокруг, к тому времени, что Python является "языком с большим количеством веб-фреймворков, чем ключевые слова" (и Гвидо отклонил мое предложение исправить это в Py3k, добавив много и много ключевых слов). Теперь "джанго" само по себе немного неоднозначно, как поисковый термин (это также имя популярного гитариста, чья жизнь вдохновила фильм Вуди Аллена и т.д.), Тем не менее добавив "python" к поиску, чтобы удалить эти другие значения вы можете увидеть, например, в этот график, как изменилась его относительная популярность по сравнению с другой классической веб-картой Python, Zope. В основном стабильный рост квартала за квартал, с огромным неожиданным скачком вверх в начале второго квартала 2008 года... который, как раз бывает, совпадает с датой, когда Google анонсировал App Engine (в этом случае невозможно доказать причинность, но совпадение по крайней мере, интересно; -).

App Engine по существу исключает любую веб-инфраструктуру Python, которая сильно зависит от пользовательских C-кодированных компонентов или по существу требует "сильно реляционной" функциональности; из тех, которые хорошо работают с чистым кодом Python, Django, вероятно, тот, который App Engine наиболее прямо и явно поддерживает. Тем не менее, это был просто стимул, добавив к Django основную тенденцию роста. Объяснение этой тенденции (и, действительно, для команды App Engine и решения пользователей поддерживать Django так хорошо) должны лежать в характеристиках, присущих самому Django.

Джанго иногда критикуют (в том числе за ваше истинное;) за то, что он "слишком волшебный" или "слишком монолитный", по сравнению с альтернативами, такими как Pylons, TurboGears, Werkzeug и c, которые имеют более легкий вес (особенно последний, мой любимый;-), более прозрачный и позволяет легко переключаться и выходить из определенных компонентов (ORM, templating, и c). Однако популярность Django говорит нам о том, что для большинства людей, заинтересованных в разработке серверных веб-сайтов и приложений, эти варианты дизайна Django воспринимаются положительно: Django рассматривается как очень богатая и хорошо интегрированная инфраструктура (и в ней есть много дополнительных возможностей, и способствовали "плагинам", но это скорее следствие, чем причина его господства).

Простота начала работы, автоматические "страницы администрирования" и т.п., а также тот факт, что Django можно согнуть, чтобы создавать действительно богатые и сложные сайты/приложения и учитывать особые или уникальные требования, с большим мастерством и некоторыми работа - это, вероятно, "особенности убийцы". Чтобы использовать Werkzeug в лучшем виде, вам нужно понимать HTTP и WSGI, а также выбирать и интегрировать ваши любимые хранилища и шаблоны - разработчики веб-сайтов и приложений на основе Python (например, пользователи Rails или пользователи еще более популярный PHP! -) "голосуют с их мозгом" для среды, в которой они не обязательно должны делать что-либо из этого, но могут в основном сосредоточиться на своей области приложений. Я должен признать, что у них, вероятно, есть точка; -).

Ответ 3

Я могу думать о трех причинах популярности Django, только один из которых был рассмотрен в других ответах, насколько я вижу:

  • Документация

    . Это хорошо структурированный, всеобъемлющий и доступный из нескольких уровней мастерства.

  • Design. Визуальный дизайн админов, страниц ошибок и сайта проекта намного выше уровня дизайна, который наблюдается в большинстве проектов с открытым исходным кодом.

  • Поддержка сообщества. Начиная с команды в World Online, Джанго на раннем этапе поднял некоторых влиятельных евангелистов. Я не уверен, что вы можете заявить о важности сообщений в блогах, таких как Jeff Croft Django для Non-Developers (я думаю, это было название).

Ответ 4

"Мой личный фаворит, и я ожидаю, что это останется личным фаворитом в течение долгого времени, это что-то по имени Django" - Guido Van Rossum на еженедельном эпизоде ​​FLOSS 11, выпущенном в эфир 4-го 2006 года

[Нажмите здесь] (слушайте последнюю треть интервью)

Думаете, это могло бы помочь? или по крайней мере, почему Google выбрал его для AppEngine?

конечно, сообщество django (в том числе devs) делает много вещей правильно. Например (некоторый анализ в ссылках):

Улучшение модульности: [Нажмите здесь]

Скачать Нажмите здесь

В сообществе также есть что-то, что заставляет людей хотеть внести свой вклад, на который я еще не могу сказать: Нажмите здесь

Конечно, все это приводит к тому, что Django является outlier: Нажмите здесь

Не стоит забывать о популярности Django.

Ответ 5

В моем случае я купил книгу TurboGears и боролся за ее несогласованности и беспорядочный путь к объяснению вещей. Затем я получил книгу Джанго и вуаля! Мой первый проект для оплаты был создан во время работы над образцом проекта в книге. Это плюс онлайн-документация опечатала сделку. Для меня это было просто: Документация, документация, документация.

Ответ 6

Я заметил, что его часто рекламировали как эквивалент Ruby on Rails на Python. Он также имеет подключение к Google (Google размещает события Django и поддерживает его в своем App Engine). Веб-инфраструктура, одобренная Google, должна что-то подсчитать.:)

Ответ 7

По крайней мере, для меня важным фактором было то, что Саймон Виллисон и Адриан Головаты уже были хорошо известными игроками в сценарии "Веб-стандарты", а позже Джеффом Крофом.

Это была не только качественная печать, но и сделанная Django очень дружественная для веб-сайтов, с уважением к HTTP, разметке и даже быстрой и грязной, "отлаживаемой отпечатке" способ работы с людьми, исходящими из PHP. к.

Возможно, я сильно ошибаюсь, нет данных, чтобы поддержать это, но я чувствую, что Django получил гораздо больше удовольствия от людей, поступающих с PHP, в отличие от Rails, которые получили много конверсий из Java/.NET.

Как уже отмечалось, документация выше среднего. Насколько я помню, лучшее, что я видел.

Ответ 8

Тот факт, что было несколько сайтов с большим объемом, уже использующих Django (т.е. lawrence.com и т.д.) - даже на 0,96 дня, помогло мне убедить руководство в безопасности. Такие вещи, как Pylons и Turbogears, действительно не имели этого.

Ответ 9

Что касается популярности Django с течением времени (буквальный смысл названия вопроса, если не совсем ваш фактический вопрос), посмотрите google trend.