Brython — Python В Браузере


Brython-это компилятор Python для JavaScript, но он выполняет всю работу в браузере и поэтому делает Python похожим на клиентский язык сценариев. 

Brythonic-древний кельтский язык, но в данном случае Brython означает браузерный Python, или, я полагаю, это может быть ссылка на Жизнь Брайана. Независимо от того, откуда происходит название, Brython является еще одним из растущих примеров использования JavaScript в качестве языка ассемблера. В этом случае, однако, подход немного отличается. Идея заключается в том, что вы можете писать Python в браузере, как если бы это был язык со встроенной поддержкой браузера. 

Например:

<тип скрипта="текст/python"> def echo():    предупреждение(«Привет %s !» %doc[«зона»].значение)

Вы можете видеть, что это похоже на собственный скрипт. Вы также можете видеть, что это Python с несколькими расширениями, позволяющими ему работать в среде браузера — doc представляет DOM, и вы можете использовать его для выбора элемента с помощью индексации doc[«zone»] — это элемент с идентификатором «zone». 

Аналоговые Часы На Python

Так как же это работает?

Как вы можете добавить новый язык в любой браузер?

Ответ очень прост. Библиотека Brython должна быть загружена, чтобы она работала, и вы должны включить вызов функции bryrthon() до начала выполнения скрипта — обычно что-то вроде: 

Это позволяет найти теги сценариев Brython и заменить их тегами сценариев JavaScript, содержащими эквивалентный код JavaScript. Да, верно, brython компилирует код Brython в JavaScript по мере загрузки страницы. Это умный метод, и его единственная реальная стоимость-это время, необходимое для компиляции. Если это неприемлемо, вы можете скомпилировать код «в автономном режиме» и вставить эквивалентный JavaScript на страницу. 

Конечно, большим недостатком компиляции чего-либо в JavaScript является то, что прямая отладка должна выполняться в терминах JavaScript, а не на языке оригинала.

Вы можете скептически относиться к вероятному успеху компилятора, который преобразует Python в JavaScript, но ядра этих двух языков очень похожи. Они оба нетипизированы, оба имеют ассоциативные массивы в качестве основных типов данных и оба реализуют динамические объекты.

Хотя Byth не является 100% — ной реализацией Python — во-первых, ему не хватает большинства библиотек, на которые полагаются программисты Python, — он поддерживает хорошее подмножество языка, включая генераторы, понимание, классы, декораторы и так далее. Он также имеет достаточно дополнений, чтобы сделать возможным программирование в браузере — DOM, SVG, Ajax и доступ к объектам JavaScript. 

Проект находится на ранней стадии разработки, но если вы хотите помочь, посетите веб-сайт.


Добавить комментарий