Какая последовательность событий сделала Django самым популярным веб-фреймворком Python ... и до сих пор? Хотя существует несколько других фреймворков.
Примечание : этот вопрос не является аргументом или конфронтацией . Я просто спросил (объективную) «последовательность событий», которые привели к его реальной популярности. Зная о динамике принятия программного обеспечения , я не собираюсь спорить о техническом превосходстве.
Ответы:
Думаю, было несколько факторов, комбинация которых превышала сумму их индивидуальных весов.
Один из них - это просто время: Django появился как раз тогда, когда нарастала первая большая волна шумихи о Rails, и поэтому он был немедленно изображен как своего рода «ответ Python на Rails». Это привело к тому, что практически с самого начала проект вызвали немалое количество глазных яблок. Тот факт, что Адриан был на митапе "Snakes and Rubies" в Чикаго и должен был принять участие в параллельных обсуждениях Rails и Django, многое для этого сделал.
Другой фактор заключается в том, что Django является и всегда был установкой из одного пакета (ну, не совсем: вам все еще нужен адаптер базы данных, если вы не используете Python 2.5+ и SQLite, но достаточно близко). Альтернативы, не относящиеся к Zope, которые все сосредоточены на том, чтобы оставлять выбор компонентов в руках разработчика, потребовали немного больше работы, чтобы добраться до точки, где вы могли бы сделать базовое руководство: вам нужно было бы найти ORM, язык шаблонов и т. д. и т. д., и все они будут установлены и настроены. Хотя с годами ситуация стала намного лучше, я думаю, что давние воспоминания об этом все еще действуют.
И Django вышел из ворот с документацией, которая (если можно так сказать) была намного выше обычного стандарта для проектов с открытым исходным кодом и со временем только улучшилась. Учебное пособие, несмотря на все его многочисленные ошибки, затрагивает ряд важных моментов, которые делают Django полезным, а остальная часть документации всегда была хорошего качества, смешивая при необходимости как ссылки на API, так и важные "как" биты. Это дает хороший готовый опыт и помогает с кривой обучения после обучения (что всегда беспокоило Zope).
Я также думаю, что существует мнение - правильно или ошибочно - что, скажем, Pylons или Werkzeug действительно лучше подходят для опытных разработчиков, которые уже разбираются в WSGI и веб-экосистеме Python; тот факт, что они, как правило, являются сильным выбором для того, чтобы взять ваши существующие любимые библиотеки и соединить их вместе, является источником этого, я думаю, и, возможно, подталкивает некоторых новичков к интегрированному подходу Django. Обратной стороной, конечно же, является то, что многие люди, которым было бы лучше заранее узнать больше, прежде чем пробовать Django, этого не делают;)
Наконец, я думаю, что есть что сказать о том, как продавался Django, то есть он действительно долгое время не продавался, или, по крайней мере, не в том смысле, в котором, скажем, продавался Rails. До появления Django 1.0 «маркетинговые» усилия в основном состояли из ведения блогов (и были некоторые заметные инциденты, когда людей просили немного смягчить его), переговоров на PyCon, а затем в основном просто улучшения фреймворка, создания с его помощью интересных вещей. и пусть результаты говорят сами за себя. Теперь, конечно, в мире после 1.0 у нас есть DSF и DjangoCon и бизнес-ориентированные консультанты, которые проводят тренинги, много книг и всего остального, но это все еще в новинку.
Я ожидаю, что будет обратная реакция, как и в случае с Rails, и на самом деле я думаю, что это назревает уже некоторое время и уже началось. Но до сих пор я думаю, что перечисленные здесь факторы, по крайней мере, являются основными, стоящими за последовательным, неуклонным ростом популярности Django с момента его первого выпуска.
источник
Многие веб-фреймворки Python уже существовали, когда Django появился в 2005 году - действительно, к тому времени уже ходили шутки, что Python - это «язык с большим количеством веб-фреймворков, чем ключевых слов» (и Гвидо отклонил мое предложение исправить это в Py3k с помощью добавляя много-много других ключевых слов). Само по себе слово "django" немного двусмысленно в качестве поискового запроса (это также имя популярного гитариста, чья жизнь вдохновила фильм Вуди Аллена и т. Д., И т. Д.), Тем не менее, добавляя слово «питон» к поиску, чтобы удалить эти другие значения. вы можете увидеть, например, в этом графикекак изменилась его относительная популярность по сравнению с другим классическим веб-фреймворком Python, Zope. В основном стабильный рост квартал за кварталом, с огромным неожиданным скачком в начале второго квартала 2008 года ... который просто совпал с датой, когда Google анонсировал App Engine (в таком случае невозможно доказать причинно-следственную связь, но совпадение по крайней мере интересно ;-).
App Engine по существу исключает любую веб-платформу Python, которая в значительной степени зависит от пользовательских компонентов с кодом C или по сути требует «в значительной степени реляционной» функциональности; из тех, которые хорошо работают только с чистым кодом Python, Django, вероятно, тот, который App Engine поддерживает наиболее непосредственно и явно. Однако это был просто толчок, добавивший к основной тенденции здорового роста Django. Объяснение этой тенденции (и действительно для команды App Engine и решения пользователей так хорошо поддерживать Django) должно заключаться в характеристиках, которые присущи самому Django.
Django иногда критикуют (в том числе ... ваш покорный слуга ;-) за то, что он "слишком магический" или "слишком монолитный" по сравнению с такими альтернативами, как Pylons, TurboGears, Werkzeug и т. Д., Которые легче (особенно последние , мой любимый ;-), более прозрачный и упрощает замену определенных компонентов (ORM, шаблоны и т. д.). Однако популярность Django говорит нам о том, что для большинства людей, заинтересованных в разработке серверных веб-сайтов и приложений, эти варианты дизайна Django воспринимаются положительно: Django рассматривается как очень богатый и хорошо интегрированный фреймворк (и в нем есть много дополнительных возможностей). ons и добавленные "плагины", но это скорее следствие, чем причина его господства).
Легкость начала работы, автоматические "страницы администратора" и тому подобное - а также тот факт, что Django можно использовать для создания действительно богатых и сложных сайтов / приложений и удовлетворения особых или уникальных требований, с большим умением и некоторой работой - вероятно, "убийственные особенности". Чтобы использовать Werkzeug в лучшем виде, вам необходимо понимать HTTP и WSGI, а также выбирать и интегрировать ваше любимое хранилище и шаблоны - разработчики веб-сайтов и приложений на основе Python (например, в некотором смысле пользователи Rails или пользователи даже более популярный PHP! -) «голосуют вместе со своим мнением» за среду, в которой они не обязательно должны делать что-либо из этого, но могут в основном сосредоточиться на своей области приложения. Я должен признать, что они, вероятно, правы ;-).
источник
len(keyword.kwlist)
- например, имена типов не являются ключевыми словами в Python и т. д.Я могу придумать три причины популярности Django, только одна из которых, насколько я понимаю, рассматривалась в других ответах:
Документация. Он хорошо структурирован, всеобъемлющ и доступен для разных уровней квалификации.
Дизайн. Визуальный дизайн админки, страниц ошибок и сайта проекта намного превосходит уровень дизайна, характерный для большинства проектов с открытым исходным кодом.
Поддержка сообщества. Начиная с команды World Online, Django с самого начала подобрал несколько влиятельных евангелистов. Я не уверен, что вы можете переоценить важность таких сообщений в блогах, как Django Джеффа Крофта для не-разработчиков (я думаю, это было название).
источник
«Мой личный фаворит, и я ожидаю, что он останется моим фаворитом еще долгое время, - это что-то под названием Django», - Гвидо Ван Россум в еженедельном выпуске FLOSS 11, показанном 4 августа 2006
[Кликните сюда] (прослушайте последнюю треть интервью)
Думаете, это могло помочь? или хотя бы причина, по которой Google выбрал его для AppEngine?
конечно, сообщество django (включая разработчиков) делает многое правильно. Например (некоторый анализ в ссылках):
Улучшение модульности: [Щелкните здесь]
документация по заднице Нажмите здесь
В сообществе также есть что-то, что побуждает людей вносить свой вклад, что я еще не заметил: Нажмите здесь
Конечно, все, что приводит к тому, что Django является исключением: Нажмите здесь
В популярности Django сомнений нет.
источник
В моем случае я купил книгу TurboGears и боролся с ее несоответствиями и случайным путем к объяснению вещей. Потом я получил книгу Django, и вуаля! Мой первый платный проект был создан во время работы над образцом проекта из книги. Это плюс онлайн-документация скрепили сделку. Для меня это было просто: документация, документация, документация.
источник
Я заметил, что его часто рекламировали как эквивалент Ruby on Rails в Python. Он также связан с Google (Google принимает события Django и поддерживает их в своем движке приложений). Веб-фреймворк, одобренный Google, должен чего-то значить. :)
источник
По крайней мере, для меня важным фактором было то, что Саймон Уиллисон и Адриан Головати были уже хорошо известными игроками на сцене «веб-стандартов», как и Джефф Крофт позже.
Это не только знак качества, но и сделало Django очень дружественным к сети, с его уважением к HTTP, разметке и даже к быстрому и грязному способу работы с «отладкой печати», к которому привыкли люди, пришедшие с PHP.
Возможно, я здесь сильно ошибаюсь, нет данных, подтверждающих это, но я чувствую, что Django получил гораздо больше внимания от людей, пришедших с PHP, в отличие от Rails, который получил много преобразований из Java / .NET.
Как уже отмечали другие, документация намного выше среднего. Лучшее, что я видел, насколько я помню.
источник
Тот факт, что Django уже использовалось на нескольких крупных сайтах (например, lawrence.com и т. Д.) - даже к 0,96 дням - помог мне убедить руководство, что его использование безопасно. У таких вещей, как Pylons и Turbogears, этого действительно не было.
источник
Что касается популярности Django с течением времени (буквальное значение названия вашего вопроса, если не совсем ваш вопрос), обратите внимание на тенденцию Google .
источник