24  Создание простых веб-приложений на основе библиотеки Streamlit

24.1 Введение

В ходе биоинформатических исследований учёные создают инструменты для решения некоторой задачи. Программа - конечный продукт чисто биоинформатических исследований. Программа может быть создана как для дургих биоинформатиков, так и для коллег из других областей, которые обладают меньшими техническими компетенциями. Тогда наиболее оптимальный вариант решения будет разработка веб-приложения, так как его просто распространять, не требует установки и каких-либо дополнительных технических знаний от конечного пользователя. Однако такие приложения сложны в разработке и требуют больших знаний от разработчика. Как минимум, знание сетевых технологий и нескольких языков программирования и разметки. Это настолько сложная задача, что в промышленной разработке за взаимодействие с пользователем (front-end) и программирование выполнения задач пользователя (back-end) отвечают разные команды людей. Упростить задачу призваны фреймворки для веб-разработки. Их большое количество для самых разных языков программирования. Какой из них использовать, зависит от задачи и предпочтений вас и вашей команды.

Примеры фреймворков

  • Python - Flask, Django, FastAPI

  • Java - Spring

  • C++ - Poco

  • JavaScript - Vue.js, Angular, React

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

Для начала работы зайдите в аккаунт на официальном сайтебиблиотеки. Регистрироваться необязательно, платформа поддерживает Google и GitHub OAuth. Для работы нам также потребуется аккаунт GitHub. Простота библиотеки заключается в том, что добавление графических элементов отображения и управления происходит как простое объявление переменной. Библиотека содержит игровую площадку с несколькими примерами, на которой вы можете тестировать ваши идеи.

Для того, чтобы работать над нашим приложением в облаке и сразу делать его общедоступным (деплоить (deploy) на сервер Streamlit) перейдите по ссылке. Создайте новое приложение и свяжите его с вашим профилем GitHub. В случае успеха у вас должно открыться окно профиля с новым приложением (@fig-streamlit_profile) и онлайн VSCode в облачном окружении GitHub(@fig-github_vscode)

Figure 24.1: Профиль разработчика Streamlit
Figure 24.2: Онлайн VSCode

24.2 Задание

Разработать дашбоард под датасет пассажиров Титаника. Примеры для вдохновления можно найти здесь.
Требования:

  • Должна быть представлена описательная статистика: стобцы и тип данных в них, форма таблицы,

  • Не менее 5 графиков, 3 разных типов.

  • Не менее одного графика, который реагирует на пользовательский ввод

  • Вывод n-го, задаваемого пользователем количества строк из начальной таблицы.

24.3 Защита

Будет проходить индивидуально, с обоснованием выбранных решений и вопросами по коду.