Jump to content

Пыйс

Пыйс
Оригинальный автор(ы) Джеймс Таубер, Google
Разработчик(и) Люк Лейтон, Энтони Си Райзингер, Кес Бос
Первоначальный выпуск март 2007 г .; 17 лет назад ( 2007-03 )
Стабильная версия
0.8.1а [1]  Отредактируйте это в Викиданных / 9 мая 2012 г .; 12 лет назад ( 9 мая 2012 )
Репозиторий
Написано в Питон , JavaScript
Операционная система Windows , OS X , Linux
Доступно в Питон
Тип Платформа Ajax , набор инструментов для настольных и веб- виджетов , компилятор , набор виджетов
Лицензия Лицензия Апач 2.0
Веб-сайт пижама .org

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

Он содержит автономный компилятор Python в 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.

Компоненты

[ редактировать ]

Основные компоненты Pyjs включают в себя:

pyjs Компилятор Python-JavaScript
Переводит язык программирования Python в JavaScript.
Встроенная и стандартная библиотека эмуляции Python
Реализации JavaScript часто используемых модулей, встроенных функций и классов в стандартной библиотеке времени выполнения Python (таких как строки, списки, словари, кортежи, наборы, getattr, карта, фильтр, диапазон и т. д.; базовая обработка исключений, базовая дата-время и базовый математический модуль).
DOM-библиотека pyjs [5]
браузера Модули для управления DOM .
модуль веб-интерфейса pyjs [6]
Модуль для создания виджетов , как если бы веб-браузер был движком виджетов на рабочем столе .
Порты рабочего стола pyjs
Поддержка запуска приложений pyjs на чистом Python в MSHTML (Trident), Gecko ( XULRunner ) или WebKit . Pyjs Desktop концептуально близок к «размещенному» режиму GWT, за исключением того, что приложения можно развертывать в реальном времени под pyjs Desktop, а не использовать исключительно в качестве инструмента отладки.

pyjs для рабочего стола

[ редактировать ]

Библиотека наборов виджетов [4] который поставляется с pyjs, настолько похож на PyQt и PyGTK , что был создан порт pyjs для запуска приложений pyjs на рабочем столе, который называется pyjs Desktop (ранее PyjamasDesktop [7] до мая 2012 г. и первоначально размещался отдельно до версии 0.6. [8] ). В качестве базовой технологии проект использует Webkit , XULRunner или MSHTML , и именно с помощью этих браузерных движков pyjs манипулирует моделью DOM приложения. Вместе pyjs и pyjs Desktop позволяют писать кросс-платформенные, кросс-десктопные, кросс-браузерные и кросс-виджетные приложения, которые работают в Интернете и на рабочем столе. [9] [10]

  1. ^ «Выпуск 0.8.1а» . 9 мая 2012 года . Проверено 22 июля 2018 г.
  2. ^ Инфраструктура, конечная точка, изменения процессов , разъяснения Лекса в списке рассылки pyjamas-dev (3 мая 2012 г.)
  3. ^ pyjs README
  4. ^ Перейти обратно: а б Иерархия классов модулей пользовательского интерфейса
  5. ^ Перейти обратно: а б DOM-модуль
  6. ^ Перейти обратно: а б модуль пользовательского интерфейса
  7. ^ История PyjamasDesktop , Python Wiki
  8. ^ «Пижамный рабочий стол» .
  9. ^ Пижамы - Приложения Python для настольных компьютеров и Интернета , Люк Кеннет Кассон Лейтон (30 августа 2008 г.)
  10. ^ Программирование в пижаме: приложения для настольных компьютеров и Интернета Люк Кеннет Кассон Лейтон (7 ноября 2008 г.)
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: b99d4e5d0f3e9afed32f2c253575c43a__1714506540
URL1:https://arc.ask3.ru/arc/aa/b9/3a/b99d4e5d0f3e9afed32f2c253575c43a.html
Заголовок, (Title) документа по адресу, URL1:
Pyjs - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)