2016-10-18 3 views
2

Я начинаю Piston. Я даже не знаю, что я говорю, возможно или нет. Пожалуйста, просветите меня, если кто-то знает, можем ли мы использовать Pyston (Dropbox), чтобы преобразовать код Python в бит-код LLVM, а затем скрывать этот бит-код в Javascript, используя Emiscripten. Также, если я хочу создать файл JQuery. Как можно использовать $ в коде Python.Использование Pyston для LLVM, а затем Emiscripten для Javascript

ответ

1

Как указал Алан Грин, вы можете использовать Transcrypt, чтобы код Python 3.5 взаимодействовал с JQuery. Проблема с символ доллара решается с помощью псевдонима:

__pragma__ ('alias', 'S', '$') 

def start(): 
    def changeColors(): 
     for div in S__divs: 
      S (div) .css ({ 
       'color': 'rgb({},{},{})'.format (* [int (256 * Math.random()) for i in range (3)]), 
      }) 

    S__divs = S ('div') 
    changeColors() 
    window.setInterval (changeColors, 500) 

Transcrypt не интерпретируется в JS, но составленный заранее, так что он работает так же быстро, как JS.

HTML, является:

<html> 
    <head> 
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> 
     <script src="__javascript__/jquery_demo.js"; charset="UTF-8"></script> 
     <script>$ (document) .ready (jquery_demo.start)</script> 
    </head> 
    <body bgcolor="black"> 
     <font face="arial" size = "8"> 
     <div>The</div> 
     <div>quick</div> 
     <div>brown</div> 
     <div>fox</div> 
     <div>jumps</div> 
     <div>over</div> 
     <div>the</div> 
     <div>lazy</div> 
     <div>dog</div> 
    </body> 
</html> 

Отказ от ответственности: Я инициатор проекта Transcrypt.

+0

Спасибо за ваш ответ. Я смотрел в Rapydscript, что вы думаете. Существуют различные диалекты Rapydscript, такие как rapydscript-ng. Я думаю пользователю Rapydscript напрямую. Но когда я импортирую stdlib, он создает javascript с переменными на каком-то другом языке, который дает ошибку, и я застрял. – noamanfaisal

+0

Я вполне уверен, что вы без проблем можете использовать JQuery из Rapydscript. Однако не знаю о stdlib. Rapydscript NG содержит некоторые улучшения. В прошлый раз, когда я посмотрел, некоторые дополнения к Rapydscript NG были объединены в Rapydscript, похоже, что здесь есть конвергенция. –

+0

Большое спасибо, сейчас я использую rapydscript. Я попробовал, и теперь кажется, что это работает. Я загрузил stdlib.js из своей сети. Но мой вопрос все еще есть, мы (сообщество Python) должны придумать что-то по сравнению с Typcript, и я уверен, что Pyston покроет свое место в качестве резервной копии Dropbox. Но, к сожалению, я не знаю, как это сделать. – noamanfaisal

0

Звучит так, как будто у вас есть код Python, который вы хотите использовать с веб-страницы. При большой работе можно было бы использовать предложенную toolchain (Pyston/Emscripten), но есть более простые способы.

Настоящая статья Infoworld "4 tools to convert Python to JavaScript" содержит полезные ссылки.

Transcrypt выглядит особенно перспективным. Существует даже живой пример использования Transcrypt with jQuery.

+0

Я знаю эту ссылку, но проблема в том, что нет хорошего решения (насколько я знаю). Например, Rapydscript находится в состоянии бета-версии и имеет только 500 коммитов. Где Брайтон является переводчиком. Таким образом, Pyston кажется мне только жизнеспособным решением. – noamanfaisal

Смежные вопросы