УДК 519.682

ПОЧЕМУ Я ПРЕДПОЧИТАЮ ФРЕЙМВОРК DJANGO

Шакирова Зульфия Ханифовна
Казанский национальный исследовательский технологический университет (КНИТУ)

Аннотация
Процесс написания сайтов сильно упрощается благодаря использованию разнообразных фреймворков. Среди них можно выделить Django на языке Python. Так чем же он так привлекателен и почему его предпочитает огромное количество разработчиков, включая меня? В своей статье я постараюсь раскрыть главные преимущества этого мощного веб-фреймворка.

Ключевые слова: веб-программирование, веб-фреймворк, фреймворк


WHY I PREFER DJANGO FRAMEWORK

Shakirova Zulfiya Hanifovna
Kazan National Research Technological University (KNRTU)

Abstract
Thanks to various frameworks developers can simplify the process of writing sites. Django is one of these frameworks. Why do developers prefer Django? In this article I would like to tell about main advantages of this powerful framework.

Keywords: django, python


Библиографическая ссылка на статью:
Шакирова З.Х. Почему я предпочитаю фреймворк Django // Современная техника и технологии. 2014. № 1 [Электронный ресурс]. URL: http://technology.snauka.ru/2014/01/3025 (дата обращения: 01.10.2017).

Всем разработчикам знакомо ощущение, что им катастрофически не хватает времени. Клиентам важно, чтобы сайт был не только качественным и производительным, но и быстро написан.

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

Оба языка являются полноценными, многоуровневыми фреймворками последнего поколения с открытым исходным кодом, которые основаны на архитектуре Модель-Представление-Контроллер (Model-View-Controller, MVC). Особенностью MVC является разделение данных приложения, пользовательского интерфейса и управляющей логики на три отдельных компонента: модель, представление и контроллер. Хранилищами данных могут быть разнообразные СУБД: MySQL, PostgreSQL, SQLite, Oracle, SQL Server. Программисты предпочитают такие веб-серверы, как Apache или nginx. Оба языка используются как для написания стартапов, так и для создания разнообразных бизнес-приложений для крупного бизнеса.

Я, будучи программистом, отдала предпочтение фреймворку Django. И поэтому свою статью посвящаю именно ему.

Django был написан группой разработчиков из Лоуренса, штат Канзас, США в 2003 году. Первая версия была выпущена в июле 2005 года. Его название связано с именем джазовского гитариста Джанго Рейнхардта[1]. С каждым годом Django совершенствуется и затачивается новыми возможностями, избавляясь от своих недостатков.

Фреймворк использует язык программирования Python. Но при переходе на Django программисту не требуется глубокое знание языка. Для изучения существует отличная документация, как на английском языке, так и на русском языках.

Django построен на архитектуре MVC, но называют его MTV-фреймворком, где M – Model (модель – уровень доступа к данным), T – Template (шаблон – уровень отображения), View (представление – уровень бизнес-логики), который является своеобразным мостом от моделей к шаблонам.

Модель реализуется в файле models.py. Она представляет собой описание данных в базе и является эквивалентом SQL-кода CREATE TABLE. Django автоматически генерирует поле id для каждой таблицы. Так же, как и при работе с любой базой данных, можно создать отношения между таблицами.

Шаблон служит для отображения страниц. Здесь можно встретить множество шаблонных тегов, которые упрощают построение логических конструкций, например, {% if %} или {% for %} и разнообразные фильтры.

View.py служит для реализации представлений, которые представляют собой разнообразные функции.

В файле Urls.py записывается список всех URL сайта, которые привязываются к обрабатывающим функциям.

Красивый URL является важной составляющей любого веб-сайта. Django поощряет создание элегантных URL-адресов, что не свойственно для .php и .asp. Например, /mysite/news/3 вместо/mysite/news?id=3.

При создании приложений используются динамические url, которые создаются с помощью регулярных выражений. Такие как (r’^ mysite/news/d+/$’, news_id).

Благодаря Django разработчик может создавать насыщенные динамические приложения за короткий промежуток времени, не отвлекаясь на написание однообразного, повторяющегося кода. Фреймворк превосходно подходит для создания динамических страниц.

Одним из главных достоинств Django является слабая связанность его компонентов. К примеру, разработчик может изменить URL страницы, даже не редактируя html-код. Верстальщик, дизайнер и программист могут работать независимо друг от друга и вносить поправки, не вмешиваясь в чужой код.

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

Разработчики на Django придерживаются принципа DRY (Don’t repeat yourself). Программисты стараются не повторять уже использованный код, поэтому количество строк моментально уменьшается.

Процесс написания сайтов упрощается благодаря использованию такого мощного инструмента, как наследование шаблонов. Такое решение является более правильным, чем простое включение кода при помощи тега {% include %}. Смысл наследования состоит в разработке скелетного родительского и дочерних шаблонов. Главная страница содержит общие разделы и в ней описываются переопределяемые в наследованных шаблонах блоки. Переопределение становится возможным при добавлении в дочерние страницы тега {% extends «index.html» %}, где index.html -  главная страница.

Также огромным плюсом этого фреймворка является его стандартная структура. Код систем, написанных на Джанго, подчиняется определённому своду правил. Добавить нового программиста в проект не доставит больших сложностей.  Следуя определённой логике, ему будет несложно найти кусок кода, ответственный за определённый функционал на сайте.

Django предоставляет нам мощный встроенный инструмент администрирования. Админка Django предназначена не для обычных посетителей сайта, а для технических специалистов для управления данными на базе созданных моделей. Файл для добавления моделей имеет название admin.py. Любая сущность, описанная в базе данных, может быть отредактирована, добавлена, удалена. Можно легко настроить внешний вид административного интерфейса, страниц с ошибками (404, 500).

Головной болью многих программистов является обеспечение безопасности их продукта. Django упрощает решение этой задачи. Многие встроенные механизмы не позволяют применять небезопасные решения. Django по умолчанию экранируют все значения перед добавлением в базу, а перед отображением экранирует html-код. При желании разработчик может отключить экранирование.

Для крупных сайтов очень важна экономия ресурсов. Django имеет встроенную систему кеширования, которая позволяет сохранять динамические страницы так, что разработчикам не потребуется создавать их для каждого запроса. Имеется возможность кэшировать весь сайт или только трудно вычисляемые куски, или результат работы представления.

При помощи Django написаны такие популярные сайты, как Instagram, Washington Times, Painterest, Яндекс.Афиша и другие.

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


Библиографический список
  1. Головатый А., Каплан-Мосс Дж. – Подробное руководство (2-е издание) – 2010.


Все статьи автора «Шакирова Зульфия Ханифовна»


© Если вы обнаружили нарушение авторских или смежных прав, пожалуйста, незамедлительно сообщите нам об этом по электронной почте или через форму обратной связи.

Связь с автором (комментарии/рецензии к статье)

Оставить комментарий

Вы должны авторизоваться, чтобы оставить комментарий.

Если Вы еще не зарегистрированы на сайте, то Вам необходимо зарегистрироваться: