Прежде чем мы погрузимся в изучение кода, следует уделить немного времени истории развития Django. Мы отметили, что мы будем рассказывать вам как всё работает без вспомогательных средств, чтобы помочь вам разобраться с внутренней кухней процессов. Аналогично, будет полезно для понимания того, почему была создана среда Django, почему Django работает именно так, а не иначе.
Если у вас есть достаточный опыт разработки приложений, возможно вы сталкивались с проблемами, показанными на примере CGI, который мы продемонстрировали ранее. Классический процесс разработки приложения выглядит так:
Создать приложение с нуля.
Создать другое приложение с нуля.
Реализовать работу первого приложения со вторым.
Переработать код так, чтобы оба приложения использовали общие функции.
Повторить шаги 2-4 несколько раз.
Вы изобрели среду разработки.
Именно так и была создана Django!
Django органично росла во время разработки реальных приложений, созданных командой разработки в Лоуренсе, штат Канзас, США. Она родилась в конце 2003 когда программисты газеты «Lawrence Journal-World», Эдриан Холовати (Adrian Holovaty) и Симон Виллисон (Simon Willison), начали использовать язык Python для разработки своих приложений. Команда World Online, ответственная за разработку и поддержку нескольких локальных новостных сайтов, процветала в среде разработчиков, диктуемой срочностью работы журналиста. Для сайтов, включая LJWorld.com, Lawrence.com и KUsports.com, журналисты и менеджеры требовали, чтобы новые возможности и целые приложения были разработаны максимально быстро, часто счёт шёл на дни или на часы. Таким образом, Симон и Эдриан создали среду разработки экономящую время, исходя из своих потребностей — это был единственный способ, с помощью которого они могли создавать управляемые приложения в жёстких рамках сроков.
Летом 2005, развив эту среду до такого состояния, что она поддерживала большинство сайтов World Online, команда разработчиков, включая Якоба Каплан-Мосса (Jacob Kaplan-Moss), решила выпустить среду в виде программного обеспечения с открытым исходным кодом. Они выпустили его в июле 2005 под именем Django в честь джазового гитариста Джанго Рэйнхарда (Django Reinhardt).
Теперь, по прошествии нескольких лет, Django является грамотным проектом с открытым исходным кодом с десятками тысяч пользователей, над которым работают разработчики по всей планете. Два автора из команды World Online («Великодушные пожизненные диктаторы», Эдриан и Якоб) всё ещё осуществляют общее руководство над развитием среды разработки, но теперь оно в большей степени зависит совместных усилий команды разработчиков. World Online обеспечивает другие важные аспекты, такие как время разработчиков, маркетинговые материалы и хостинг/канал для сайта среды (http://www.djangoproject.com/).
Эта история уместна, потому что помогает объяснить два ключевых аспекта. Первый аспект — основное назначение Django. Так как Django родился в новостной среде, он предоставляет некоторые средства (такие как административный интерфейс, описанные в главе «Интерфейс администратора Django»), которые хорошо подойдут для контент-ориентированных сайтов, таких как Amazon.com, craigslist.org и washingtonpost.com, которые предоставляют динамическую информацию из базы данных. Существует разница между быть особенно эффективным в чём-то и быть неэффективным в другом.
Вторым аспектом является то, как происхождение Django сформировало культуру его сообщества открытого исходного кода. Так как Django был получен из реального кода, а не был академической разработкой или коммерческим продуктом, он полностью сфокусирован на решение проблем разработки, с которыми сталкивались и продолжают сталкиваться его авторы. В результате, Django постоянно совершенствуется. Основатели среды имеют свой интерес в том, чтобы Django экономил их время, создавал приложения лёгкие в обслуживании и хорошо работал под нагрузкой. При отсутствии других причин, разработчики мотивируются своими собственными эгоистичными желаниями сэкономить своё время и наслаждаться своей работой.
| Пред. | Уровень выше | След. |
| Шаблон MVC разработки | Начало | Как читать эту книгу |
0 comments | Make a comment