click fraud detection
click fraud detection
Blog Case

Разработка веб приложений с использованием Python и Django

BLOG
CASE
145
0
5/ 5stars
5/5

Язык Python – популярный инструмент среди наших разработчиков. Его применяют для проектирования web-сайтов, десктопных приложений, игр и пр. Наверное, единственное с чем он не сможет справиться – написание операционной системы. В этой сфере конкурентов у языка Си нет. Однако для задач, связанных с администрированием операционных систем на базе Linux, он подходит идеально. Возможно поэтому, Python включен по умолчанию в дистрибутив Ubuntu и активно используется системными администраторами как язык серверных сценариев, а также на нем написана основная масса серверных утилит.

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

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

 

В Питоне для этого используются отступы (пробелы или табуляция). За счет этого повышается читабельность, а разработчик дисциплинируется в использовании отступов как управляющих структур, а не только как стилистических элементов оформления. Это послужило появлению так называемого «питонического стиля» в программировании, и ряд языков переняли этот принцип.

Код в Питоне не содержит «лишних» символов. Например, знак доллара перед переменными или точки с запятой в конце каждой строки, или использование var в начале объявления переменных. Это радует т.к. текста набирать нужно меньше. Не приходится держать в голове элементы, что не влияют на логику кода, либо могут быть позиционно вычислены самим интерпретатором. После того как я привык к Питону (после PHP), подобные элементы начали вызывать дискомфорт. Зачем они? Ведь оказывается, без них можно было обойтись!

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

Присутствуют все концепции ООП, хоть и не отличаются особой изысканностью как в C# или Java.

Импортирование библиотек интуитивно понятно и максимально упрощено. Везде поддерживается принцип минимализма и явности конструкций (без всякой магии с бубном).

Где нужна навигация по файловой системе (при импорте) либо доступ к методам объекта, вы будете использовать только точку, а не слеши, стрелки и пр.

Конечно это все мелочи, но к ним очень быстро привыкаешь ведь это удобно и понятно.

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

И конечно есть фреймворки, в том числе для веба. В отличие от PHP их не так много. Самым мощным из фреймворков для web-приложений принято считать Django, есть конечно еще Tornado или Flask. Но они позиционируются как микрофреймворки и не обладают такой обширной инфраструктурой и степенью абстракции.

Основная цель любого фреймворка – обеспечить наиболее высокий уровень абстракции для программиста. Чем меньше кода пишет программист для решения типовых задач, тем круче фреймворк. Он позволяет сосредоточиться исключительно на логике приложения и не думать про то, что «под капотом».

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

В чем заключается абстракция? Например. В сердце любого Django приложения ставится модель (база данных) – набор классов (таблиц) с атрибутами (полями таблиц) и их свойствами. Далее классы связываются между собой добавлением атрибутов внешних ключей, обеспечивая связи «один-ко-многим», «многие-ко-многим» и пр. Имея в наличии такие классы, вы без труда создаете, достаете и изменяете данные в БД, не вникая как строить для нее SQL-запросы.

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

Так же эта модель используется для скаффолдинга CRUD-модулей и админ. Интерфейса. Причем последнй может быть создан буквально двумя строчками кода: первой вы создадите свой админ-класс, унаследованный от админ-класса джанги «из коробки», во второй – «кормите» этому классу ваш класс модели. Все. Вы получите работоспособную админку для таблицы с возможностью добавить, удалить и изменить запись. Такой себе phpMyAdmin, но с возможностью кастомизации.

Еще строка кода – фильтр по полям.

Еще строка – поиск.

Еще – кастомизация полей в списке.

Существует множество тем для админ интерфейса, включая Bootstrap.

За полчаса, можно создать админку для заказчика, и не переживать что в самый неподходящий момент что-то отвалится.

И конечно, стоит упомянуть обилие плагинов под Django.

К примеру, плагин REST API позволяет построить API, который, используя вашу модель данных, предоставит красочный web-интерфейс для тестирования запросов.

Любая задача может быть решена в минимальные сроки установкой необходимого пакета Python, представляющего собой каталог со скриптами, необходимые части которых (функции, классы, методы или переменные) вы импортируете в свой клиетский код и используете.

И поверте, благодаря ООП код у вас будет на удивление кратким и расширяемым.

Поэтому я считаю, что Python в связке с Django – это достойный выбор для людей, которые ценят свое время и время своих клиентов.

5/5
Проголосовало людей: 1
Кейс: Уманьпиво
Елена Чихун
Елена Чихун
Разработка веб приложений с использованием Python и Django
Язык Python – популярный инструмент среди наших разработчиков. Его применяют для проектирования web-сайтов, десктопных приложений,…
Алексей Варламов
Алексей Варламов
Адаптивная верстка vs мобильная версия сайта
На сайте с адаптивной версткой пользователь не перенаправляется на поддомен, структура страницы просто подстраивается под…
Сколько стоит создать сайт
Сколько стоит сайт, этот вопрос может заинтересовать каждого но ответить на него сможет не каждый.…
Wezom
Wezom
Автор
145
0
Алексей Варламов
Алексей
Варламов
копирайтер
most
Popular
самое лучшее на айтыжблог
НЕ ПРОПУСТИТЕ ЭТИ 
СТАТЬИ
Сайт – это средство, с помощью которого вы строите и развиваете свой бизнес. Какие этапы проходит веб-ресурс при разработке? Узнайте из нашего материала.
Галина Назарова
Галина Назарова
Возможно
Эффективность ресурса YouTube в качестве маркетингового инструмента очевидна. Здесь есть большая аудитория, готовая уже сегодня…
Александр Вострецов
Александр Вострецов
Продать можно всё. Особенно если как следует поработать над УТП. О том, что это, как…
Галина Назарова
Галина Назарова
Как наши SEO-специалисты используют Serpstat. Плюсы и минусы сервиса на конкретном примере.
Сергей Мищенко
Сергей Мищенко
Оставить комментарий
к статье
ПОДПИСЫВАЙТЕСЬ НА РАССЫЛКУ АЙТЫЖБЛОГ
ХОТИТЕ ПОЛУЧАТЬ 
ИНТЕРЕСНЫЕ СТАТЬИ?
Уже подписались 229 человек
313
ПОПИСЧИКОВ
ЧИТАТЬ
4269
ПОПИСЧИКОВ
СЛЕДИТЬ
10139
ПОПИСЧИКОВ
СЛЕДИТЬ