Является ли Brython полностью клиентской стороной?
У меня есть часть кода, написанная на Python. Я хотел бы поместить этот код на веб-страницу. Brython кажется самым простым способом склеить две вещи вместе, но у меня нет сервера, который может фактически запускать код на стороне сервера.
Требуется ли Brython код на стороне сервера, или я могу разместить страницу, используя ее по дешевой (скажем) Dropbox?
Ответы
Ответ 1
Сам Brython, кажется, полностью клиентский, но достаточно ли этого будет от кода, который вы написали. Это не полный интерпретатор Python и не имеет библиотек. Возможно, вы захотите, чтобы бэкэнд поддерживал его или использовал другое клиентское решение, как это предлагается в комментариях.
Учитывая, как мало реальных веб-хостеров поддерживают Python, я думаю, что очень маловероятно, что Dropbox подходит для этого, если вам также нужна обработка на сервере.
Ответ 2
Brython довольно новый, и поэтому он быстро меняется. Но вы можете использовать его практически везде без кода на стороне сервера.
Некоторые возможности:
- выполняется локально, без сервера. Вы открываете html файл в своем веб-браузере
- работает на бесплатном веб-сайте без доступа к серверу, например в блоге. Я использую блоггер, например, для демонстрационных материалов в своем блоге, например, интерактивный макет
- выполняется на хосте, где вы можете делать серверную часть. Это позволяет вам сделать Ajax (тот же домен - проверить пример ajax в галерее) и импортировать библиотеки, которые хранятся на сервере
- интегрируйте brython с вашим любимым веб-фреймворком и шаблоном.
Чтобы быть понятным, вам не нужен python на вашем сервере. И если вы не можете ссылаться на файл brython.js, вы можете включить javascript на свою веб-страницу.
Что касается поддержки языка, он поддерживает все основы и поддерживает классы, списки и некоторые менее очевидные вещи, такие как eval, dis и т.д. Существует стандартный stdout и stderr по умолчанию для консоли веб-браузера, но могут быть перенаправлен (см. консоль на сайте brython для примера). Он интегрируется с библиотеками javascript через JSObject. Он имеет хорошую поддержку HTML5.
Документация на английском и испанском языках немного отстает от французской документации, поскольку они переведены с оригинала на французский язык. В ближайшие дни они должны быть синхронизированы. Тем не менее, если вы посмотрите на console и gallery, это дает вам представление о том, что возможно.
Есть списки рассылки, связанные на сайте brython, чтобы обеспечить поддержку, если вы застряли.
Я бы предоставил больше примеров и ссылок, но я новичок, поэтому я ограничен ссылками на гиперссылки.
Ответ 3
Brython не всегда работает с кодом python, я узнал.
Что-то, о чем я думаю, нужно уточнить, так это то, что, хотя вы можете запускать brython в очень ограниченной емкости, обратившись к локальным файлам (из-за требования AJAX), вы не можете импортировать библиотеки - даже самые простые (например, html, время). Вам действительно нужен базовый веб-сервер для запуска brython.
Я нашел, что это хорошо для базовых скриптов, поскольку мой питон лучше, чем мой JS. Однако, похоже, он работает с более сложным синтаксисом.
Ответ 4
Да, brython полностью близок.
Да, вы можете использовать его с Dropbox.
Что вам нужно сделать, это скопировать общедоступную ссылку на файл brython.js и поместить ее в свой тег заголовка файла html, где текст по умолчанию:
<script src=...
поместите общедоступную ссылку в кавычки и закройте тег script.
Таким образом, код будет выглядеть так:
<html>
<head>
<script src="Public Dropbox Link To The brython.js File"></script>
</head>
<body onload="brython()">
<script type="text/python">
from browser import document, alert
def echo(event):
alert(document["zone"].value)
document['mybutton'].bind('click', echo)
</script>
<input id="zone"><button id="mybutton">click !</button>
</body>
</html>
И это пример, который они дают на своей странице.
note Примечание Вам не нужно иметь html файл в вашем Dropbox, он может быть где угодно с доступом в Интернет.