Программирование питон. Выбор веб-фреймворка

Программирование Питон. Выбор веб-фреймворка Наумов Р. В.

Наумов Родион Владимирович /Naumov Rodion Vladimirovich - студент, кафедра информационных технологий, Институт математики и информатики Северо-Восточный федеральный университет им. М. К. Аммосова, г. Якутск

Аннотация: в статье анализируется описание фреймворков Django и Flask. Преимущества и недостатки данных фреймворков. Описание инструмента для верстки html шаблонов, введение описания Bootstrap, важность использования инструментов Bootstrap. Преимущества механизма шаблонов Django и Flask, особенности Jinja2. Jinja2 - шаблон дизайнов на Flask, благоприятный для языка Python, поддерживает гибкую систему решений. Описание значения слова фреймворк, отличие от слова микрофреймворк. Остальные известные фреймворки на языке программирования Python.

Ключевые слова: Python, flask, django, фреймворк, микрофреймворк.

Фреймворки - это компонент программной платформы, т.е. набор библиотек. В каждом языке программирования имеется набор библиотек, это может быть и набор полезных инструментов для программиста. Фреймворк представляет собой каркас программной системы.

Микрофреймворк - довольно прост в изучении, в flask есть только базовый функционал, притом ничто не мешает написать передовой веб-сервис. Микрофреймворк состоит из программного ядра проекта, в случае полноценного фреймворка.

Список самых известных фреймворков возглавляет Django, также Pylons, Zope, Web2py, Webware, Twisted и др. В данной статье рассматривается только Django и Flask.

Flask - это микрофреймворк для Python по разработке веб-сервисов.

Внутри себя Flask использует внутрипоточные объекты, поэтому в запросе, чтобы сохранять потокобезопасность (thread-safe), необязательно передавать объекты от функции к функции [3].

Для установки Flask необходимо установить виртуальное окружение. Установленное виртуальное окружение необходимо запустить и установить flask командой pip install flask.

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

Flask использует механизм шаблонов Jinja2. Также он имеет полную поддержку Unicode. Считается, что создание шаблонов на Jinja2 имеет больше возможностей, чем создание шаблонов Django.

Особенности Jinja2:

- мощная автоматическая система HTML;

- наследование шаблонов;

- компилирует до оптимального кода Питона [4].

from flask import Flask app = Flask

return "Hello World!"

Рис. 1. Пример кода в Flask views.py

Django - это высокоуровневый веб-фреймворк для Python. Django мощный инструмент для веб-разработчика, имеет готовые шаблоны и формы, также работа Django довольно-таки быстрая [1].

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

- Наличие администраторской части.

- Выбор готовых шаблонов.

- Обширная документация.

- Достаточно высокая скорость работы.

Также одними этими фреймворками вполне затруднительна разработка приложений, одним из удобных инструментов для верстки html страниц является bootstrap.

Bootstrap используется для создания html, css и js шаблонов [2], что помогает сэкономить достаточно много времени. При этом разработчик не тратит много усилий для дизайна, т.к в нем уже все предоставлено.

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

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

Литература

1. Django By Example / Под ред. Antonio Mele. Packt Publishing, 2015. 24 с.

2. [Электронный ресурс]. Режим доступа: http://getbootstrap.com/components/ официальный сайт Bootstrap/ (дата обращения: 13.12.2016).

3. [Электронный ресурс]. Режим доступа: https://flask-russian-docs.readthedocs.io/ru/latest/ русский перевод документации Flask/ (дата обращения: 13.12.2016).

4. [Электронный ресурс]. Режим доступа: http://jinja.pocoo.org/docs/dev/ официальная документация Jinja2/ (дата обращения: 13.12.2016).