Пейс


Pyjs (ранее Pyjamas до мая 2012 года [2] ) — это многофункциональная среда веб-приложений для разработки клиентских веб-приложений и приложений для настольных компьютеров на Python . Полученные приложения можно запускать в веб-браузере или как автономные настольные приложения .

Он содержит автономный компилятор Python - to - JavaScript , фреймворк Ajax и набор инструментов для виджетов , и благодаря использованию этих компонентов разработчики могут создавать комплексные приложения для запуска во всех основных веб-браузерах без написания кода JavaScript. Pyjs — это порт Google Web Toolkit (GWT) с Java на Python . [3]

Используя pyjs, разработчики могут писать веб-приложения на Python вместо JavaScript . Приложение компилируется в JavaScript. Также включена библиотека Ajax и набор виджетов [4] , которые обеспечивают доступ к объектной модели документа (DOM) современных веб-браузеров с поддержкой JavaScript. Библиотека Ajax и библиотека наборов виджетов представляют собой гибридную смесь Python и JavaScript. Как и в случае с Google Web Toolkit, pyjs не является его библиотеками и не является еще одной платформой Ajax. Фреймворки Ajaxстрого ограничены предоставлением предварительно подготовленных конкретных функций, написанных почти исключительно на специализированном JavaScript. И GWT, и pyjs, являясь компиляторами JavaScript, позволяют разработчику работать на знакомом ему языке (Java или Python соответственно), писать свои собственные виджеты либо полностью с нуля, либо на основе существующих доступных виджетов, но по-прежнему ориентирован на весь спектр современных браузеров. Таким образом, pyjs не предоставляет веб-разработчикам готовую среду Ajax, а дает вам свободу разрабатывать свои собственные.

Компилятор pyjs написан на языке программирования Python и использует его для компиляции входных данных в JavaScript, обходя абстрактное синтаксическое дерево компилируемой программы. Хотя компилятор является автономным, pyjs в основном используется для веб-разработки, поэтому существует дополнительная инфраструктура для создания веб-приложений.

Библиотека моделей DOM.py [5] представляет собой уровень абстракции — тонкий слой Python поверх фрагментов кода JavaScript, — использование которого обеспечивает доступ к полной объектной модели документа целевой платформы браузера. Как и любой компилятор, фрагменты JavaScript обрабатываются как встроенный ассемблер .

Кроме того, поверх библиотеки моделей DOM.py находится дополнительный уровень абстракции, ui.py, [6] , который предоставляет наиболее полезный уровень для веб-разработчиков: полный набор виджетов , с которыми разработчики настольных приложений будут знакомы. В настоящее время список доступных виджетов представляет собой смесь полного набора виджетов, которые были доступны в Google Web Toolkit 1.2, а также нескольких других, которые были перенесены из GWT 1.5.