2013-01-19 4 views
15

私はPythonで書かれたコードを持っています。私はそのコードをWebページに入れたいと思います。 Brythonは2つのものを結合する最も簡単な方法のようですが、実際にサーバー側でコードを実行できるサーバーはありません。Brythonは完全にクライアント側ですか?

Brythonにはサーバー側のコードが必要ですか、それとも安い価格でDropboxを使用してページをホストできますか?

+0

この問題とは関係なく、現在は非常に小さく限られたPythonサブセットしか実装していないことに注意してください。また、「JavaScriptでPythonインタプリタを実装しようとする」というアプローチでは、すぐにでも90%のコア言語互換性を達成することはできません。 – delnan

+1

@delnan Curses。私はクラス、演算子のオーバーロード、あらゆる種類の細かい点を使っていました。 – badp

+1

+1。関連する質問:brythonでdjangoを実行できますか? – g33kz0r

答えて

5

Brython自体は完全にクライアント側であるようですが、十分であるかどうかは、実際に書いたコードに依存します。これは完全な吹き飛ばされたPythonインタプリタではなく、ライブラリを持っていません。コメントに示唆されているように、バックエンドでサポートしたり、別のクライアント側のソリューションを使用したりすることができます。

Pythonをサポートしている実際のWebホスティング業者はほとんどいないため、サーバー上で処理する必要がある場合に備えて、Dropboxがこれに適しているとは思えません。

+0

Dropboxは実際にはインターネットからファイルにアクセスできる特殊なフォルダを持つファイルロッカーサービスです。それは、Webホスティング業者でもありません。 – badp

+0

@badpだからこそ、私は他の人たちを本物の* web hostersと呼んでいます。 Dropboxはちょうど非常に単純なものであると虐待される可能性があります。 –

+2

ライブラリが必要な場合は、[empythoned](https://github.com/replit/empythoned)(CPython on Emscripten)を使用できます。 –

28

ブライトンはかなり新しく、急速に変化しています。しかし、サーバーのサイドコードなしでどこでも使用できます。

いくつかの可能性:

  • は一切のサーバーで、ローカルで実行します。ウェブブラウザでhtmlファイルを開きます。
  • 無料のWebサイトで、ブログなどのサーバー側のアクセスなしで実行できます。私はブロガーを使用して、例えば、私のブログでデモするために、このようにinteractive breadboard
  • あなたがスタッフサーバー側で実行できるホストで実行されます。 ( - ギャラリーでのAJAXの例を確認し、同じドメイン)、および
  • がに

ちょうどあなたのお気に入りのWebフレームワークとテンプレートエンジンとbrythonを統合サーバー上に格納されているライブラリをインポートするためにこれは、あなたがアヤックスを行うことができます明らかに、あなたのサーバー上にPythonは必要ありません。また、brython.jsファイルへのリンクができない場合は、Webページにjavascriptを含めることができます。

言語サポートに関しては、すべての基本をサポートしており、クラス、リストの補完、eval、disなどのあまり分かりにくいものをサポートしています。Webブラウザのコンソールにデフォルトのstdoutとstderrがあります。リダイレクトすることができます(その例については、brythonサイトのコンソールを参照してください)。これは、JSObjectを介してjavascriptライブラリとうまく統合されます。これは素晴らしいHTML5サポートを持っています。

英語とスペイン語のドキュメントはフランス語で翻訳されているため、フランス語のドキュメントの後ろに少し遅れています。彼らは数日後に同期して戻ってくるはずです。それでも、consolegalleryを見ると、可能なことを味わうことができます。

brythonサイトにリンクされていて、困ったときにサポートを提供するメーリングリストがあります。

私はもっと多くの例とリンクを提供していましたが、私は新しいので、ハイパーリンクが限られています。

+1

あなたの最初の回答upvoteをおめでとう、あなたの心のコンテンツにハイパーリンクを投稿できるようになりました:) – badp

2

BrythonがPythonコードで動作するとは限りません。

明らかにする必要があると思うことは、(AJAX要件のため)ファイルをローカルにアクセスすることによって非常に限られた容量で実行できる一方、ライブラリをインポートすることはできません。 、html、時間)。 brythonを実行するには基本的なWebサーバーが必要です。

私のPythonは私のJSより優れているので、基本的なスクリプトには良いことが分かりました。しかし、より複雑な構文で壊れているようです。

+1

Brythonはこの回答から改善しました。ローカルにファイルにアクセスする場合でもライブラリをインポートするようになりました。これは、オフラインスマートフォンアプリに組み込む場合に重要です。 –

2

はい、brythonは完全にクレンザー側です。 はい、Dropboxで使用できます。

<script src=... 

引用符で囲まれた場所のパブリックリンクをして閉じます。あなたがする必要がどのような はbrython.jsファイルへのパブリックリンクをコピーして、デフォルトのテキストがあるHTMLファイルのheadタグ、に配置されスクリプトタグ。 ように、コードは次のようになります。

<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あなたのDropboxにhtmlファイルを置く必要はありません。インターネットにアクセスできる場所ならどこでもかまいません。

関連する問題