Программирование для 99%

PyScript? Python и Javascript??

Ну да и нет.

PyScript — это фреймворк, который позволяет пользователям создавать интересные и интерактивные веб-сайты с помощью Pyodide, WASM и современных веб-технологий. Это поможет вам создавать веб-приложения с помощью Python, с Javascript или без него.

Одна из целей PyScript — сделать веб-разработку удобным местом для всех, кто хочет научиться кодировать, и это достигается за счет отсутствия необходимости в какой-либо установке или настройке (Серьезно, просто импортируйте файлы js и css. Это так просто!)

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

-ПиСкрипт 2022

PyScript был создан Фабио Плигером, а первый камень (первоначальная фиксация) был сделан в феврале 2022 года и публично объявлен в апреле 2022 года. На момент публикации этой статьи PyScript все еще находится на экспериментальной стадии, поэтому ожидайте увидеть новые вещи в ближайшем будущем!

Что такое Pyodide и WebAssembly?

Pyodide — это порт интерпретатора CPython на WebAssembly/Emscripten. Это позволяет запускать Python в веб-браузерах с помощью micropip. Pyodide поставляется с надежным интерфейсом внешних функций Javascript ⟺ Python, что означает, что вы можете свободно создавать набор функций с минимальными трудностями. При использовании внутри браузера Python имеет полный доступ к веб-API.

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

Однако WASM несовместим с Python. Вот тут-то и появляется пиодид. Pyodide скомпилировал весь интерпретатор CPython в WASM и позволил ему интерпретировать команды Python в вашем HTML, как если бы это были обычные команды Python.

Основные компоненты PyScript

  • Python в браузере: включение вставного контента, внешнего хостинга файлов и хостинга приложений без зависимости от конфигурации на стороне сервера.
  • Экосистема Python: запускайте многие популярные пакеты Python и научный стек (например, numpy, pandas, scikit-learn и другие).
  • Python с JavaScript: двусторонняя связь между объектами и пространствами имен Python и Javascript.
  • Управление средой: разрешить пользователям определять, какие пакеты и файлы следует включать для выполнения кода страницы.
  • Визуальная разработка приложений: используйте готовые компоненты пользовательского интерфейса, такие как кнопки, контейнеры, текстовые поля и т. д.
  • Гибкая платформа: гибкая платформа, которую можно использовать для создания и совместного использования новых подключаемых и расширяемых компонентов непосредственно в Python.

Начало работы

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

Но перед этим давайте начнем с простого примера, нашего старого надежного «Hello world!»

Создайте файл HTML со следующим содержимым:

И вот она, ваша собственная первая программа Hello world PyScript!

Но реальность часто разочаровывает, не так ли? Это не всегда так просто, давайте посмотрим на один из примеров из PyScript Github и пройдемся по нему.

Мы возьмем пример «Создание списка дел».

Пояснения к важным строкам приведены под кодом.

Строка 8 и 9: Импорт операторов для PyScript в ваш HTML-код (Что я вам говорил? Это так просто)

Строки с 10 по 13:файлы Env, содержащие ваши зависимости. Не имеет значения в этом примере, поэтому вы можете удалить их, если хотите.

Строка 16: импортирует ваш файл Python. Точно так же, как вы импортируете файлы Javascript. To_do.py имеет ваши функции, которые добавляют задачи в ваш список и отображают этот список всякий раз, когда

Строка 24:кнопка, которая вызывает функцию Python при нажатии кнопки.

Строка 31 до 38: здесь отображаются ваши задачи с флажком перед задачей.

Теперь, когда предоставлен HTML-контент, давайте добавим несколько задач и посмотрим, как они все отобразятся.

Процесс, который добавляет в список и проверяет выполнение задачи, реализован в вашем файле Python.

Строки 5, 6 и 7: содержат элементы DOM.

Строки с 8 по 37: функция add_task вызывается при нажатии кнопки, эта функция получает значение из текстового поля ввода, добавляет их в список и отображает этот список.

Строки с 29 по 34:функция check_task для добавления зачеркнутого класса (указывающего, что задача завершена) к конкретной задаче, если флажок установлен, обработчик события находится в строке 37. сильный>

Строки 39, 40 и 41:add_task_event — это обработчик событий, который проверяет ключевые действия, выполняемые, когда этот вход находится в фокусе. В нашем случае единственным событием, которое нам нужно было обработать, была кнопка «ввод».Обработчик событий для этой функции объявлен в строке 42.

Как только вы сохраните эти файлы, запустите локальный сервер, откройте файл to_do.html в браузере и начните добавлять эти задачи!

Заключение

Если вы зашли так далеко, то пришло время начать собственное приключение с PyScript. Есть несколько классных справочных сайтов, которые объясняют гораздо больше об этом, а также освещают хитрости его использования.
Удачного кодирования!

Об авторе:

Вишвант — старший SDE в KBX Digital. Он восхищается и уважает людей, которые визуализируют данные во время кодирования и проявляют творческий подход в своих подходах. Он всегда говорит: «Если можешь сделать работу за 2 минуты, сделай это сейчас».

О KBX Digital

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

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

Ссылка для подачи заявки