Meilleure façon d'intégrer Python et JavaScript?
Est-il possible d'intégrer Python et JavaScript? Par exemple, imaginez que vous vouliez être en mesure de définir des classes en JavaScript et l'utilisation de Python (ou vice versa). Si oui, quelle est la meilleure façon? Je suis intéressé non seulement si c'est possible, mais si quelqu'un l'a fait à l'intérieur d'un "grave", projet ou d'un produit.
J'imagine qu'il serait possible à l'aide de Jython et Rhino, pour un exemple, mais je suis curieux de savoir si oui ou non quelqu'un a déjà fait cela, et si il y a des solutions pour d'autres plates-formes (en particulier Disponible).
- Peut-être vous pouvez compiler Disponible pour JavaScript à l'aide d'Emscripten, puis exécutez Disponible dans le navigateur. Il pourrait être possible d'appeler des fonctions Python à partir de JavaScript, et vice versa. syntensity.com/static/python.html
- cela a déjà été fait: pypyjs - github.com/rfk/pypyjs
- Pour ce que ça vaut, ce AFIN de répondre présente une approche unifiée pour le partage d'objets entre JS et Python, et est mis en œuvre dans ce repo qui encapsule simplement un module NodeJS livré via webpack et s'expose comme un Module Python.
Vous devez vous connecter pour publier un commentaire.
Voici quelque chose, un wrapper Python autour du SeaMonkey interpréteur Javascript... http://pypi.python.org/pypi/python-spidermonkey
Comment sur pyjs?
À partir du site web ci-dessus:
Cette question n'est pas exactement de jeunes, mais il est venu quelques alternatives:
il y a deux projets qui permettent une "évidente" de transition entre des objets python et javascript les objets, avec "évident" les traductions de l'int ou float au Nombre et à la str ou unicode String: PyV8 et, comme un écrivain l'a déjà mentionné: python-spidermonkey.
il y a en fait deux implémentations de pyv8 - l'expérience originale a été par sébastien louisel, et le second (en cours de développement) est en dépliant liu.
mon intérêt pour ces projets a été de faire le lien avec pyjama, un python-à-compilateur javascript, pour créer une équipe commune d'enquête python accélérateur.
donc il ya beaucoup de là - cela dépend de ce que vous voulez faire.
Si votre juste intéressés par le partage des types de données complexes entre javascript et python, découvrez jsonpickle. Il enveloppe le standard de Python JSON bibliothèques, mais a une certaine intelligence de la sérialisation et la désérialisation des classes Python et d'autres types de données.
Tout à fait un peu de Google App Engine projets ont utilisé cette bibliothèque. Joose et FirePython à la fois intégrer jsonpickle.
PyExecJS est en mesure d'utiliser chacun de PyV8, Nœud, JavaScriptCore, SpiderMonkey, JScript.
Il y a un pont JavaScriptCore (à partir de WebKit), mais c'est assez incomplet:
http://code.google.com/p/pyjscore/
Vous pourriez également vouloir vérifier la PyPy projet qu'ils ont un Python à (quelque chose) de compilateur, y compris Python, Javascript, C, et llvm. Cela vous permet d'écrire votre code en Python et puis le compiler en Javascript que vous le désirez.
http://codespeak.net/pypy
Aussi, découvrez le blog informatif:
http://morepypy.blogspot.com/
Malheureusement, vous ne pouvez pas convertir le Javascript pour le Python de cette façon. Il semble fonctionner très bien dans l'ensemble, ils ont un Javascript (fabriqué à partir de Python compilé) version de la Bub n'Bros jeu en ligne (si le serveur a été vers le bas pour un certain temps).
http://bub-n-bros.sourceforge.net
Je jouais avec Pyjon il y a quelques temps et semble gérer à écrire du Javascript eval directement en Python et a couru des programmes simples... Même si elle n'est pas mise en œuvre complète de JS et plutôt une expérience.
Obtenez-le ici:
http://code.google.com/p/pyjon/
Utilisation Js2Py de traduire le JavaScript pour le Python, c'est le seul outil disponible 🙂
Un grand nombre de ces projets mentionnés ci-dessus sont morts ou mourants, manque d'activité et l'intérêt de l'auteur de côté. Intéressant de suivre la manière dont ce secteur se développe.
Pour l'enregistrement, dans l'ère de plugin implémentations basées sur KDE camp avait une tentative pour résoudre ce plugin et non de la langue de manière spécifique et a créé le Kross https://en.wikipedia.org/wiki/Kross_(logiciel) - dans ma compréhension, il n'a jamais, même à l'intérieur de la communauté elle-même.
Au cours de cette poule et de l'œuf -problème de temps, basée sur javascript implémentation sont vraiment la voie à suivre. Peut-être que dans l'avenir nous le seee pur et propre, plein le support de Python en mode natif dans les navigateurs.
Vous pouvez également utiliser
XPCOM
, dire dansXUL
en fonction des applications comme Firefox, Thunderbird ou de Komodo.