Вопрос

Есть ли у кого-нибудь прямой опыт (хороший или плохой) использования Jython с Google App Engine?

Это было полезно?

Решение

Чтобы задать очевидный вопрос: почему вы хотите? (C) Python изначально поддерживается Google App Engine, и к настоящему времени он достаточно развит и очень хорошо поддерживается.

Однако, чтобы ответить на исходный вопрос: у меня нет личного опыта, но я могу дать вам общий обзор того, на что он будет похож

В настоящее время самым простым способом будет использование поддержки Jython для вызова Java для использования App Engine Java SDK. Это означает, что, хотя вы будете писать Python, он будет очень похож на Java, и вам придется использовать документы на Java, а не на Python.

Тем не менее, теоретически возможно использовать Python SDK в Jython на App Engine. SDK - это чистый Python, и все взаимодействие между SDK и средой выполнения осуществляется с помощью RPC через модуль google.appengine.api.apiproxy_stub_map. Java имеет эквивалентный интерфейс в классе com.google.apphosting.api.ApiProxy - см. Статью на Юнит-тестирование в GAE для получения подробной информации о том, как его настроить.

Учитывая все это, вот как вы можете использовать Python API в Jython:

<Ол>
  • Напишите Python apiproxy_stub, который просто принимает все вызовы API и отправляет их в класс com.google.apphosting.api.ApiProxy.
  • Объедините соответствующие части Python SDK с вашим приложением Jython (к сожалению, это большая часть).
  • В своем коде инициализации установите подкласс apiproxy_stub, который вы написали в качестве обработчика для всех соответствующих служб - datastore_v3, memcache, user, urlfetch и images.
  • Если вы в конечном итоге сделаете это, пожалуйста, задокументируйте это и выпустите код - я знаю по крайней мере еще одного пользователя, который будет заинтересован. :)

    Другие советы

    Во-первых, есть люди, которые утверждают, что Jython, Querces и JRuby могут превзойти своих родных коллег , когда дело касается скорости, используя мощь JVM.

    Однако, есть некоторая противоречивая информация о скорости Jython. Пользователь Stack Overflow утверждает, что Jython является самым медленным из многих языков, задействованных в тесте скорости, который он проводил .

    Ни один из вопросов о производительности на самом деле не касается App Engine, а только JVM.

    В этой статье, опубликованной коммиттером Jython Алан Кеннеди утверждает, что Jython в App Engine сочетает в себе характер быстрой разработки Python с обильными библиотеками, доступными в JVM. Jython - это Python, но это Python, который имеет прямой доступ к классам Java.

    У меня есть некоторый опыт работы с Querces PHP. Я перенес плагин JQuery Form Builder в Google App Engine. Это PHP-код, но PHP может напрямую обращаться к объектам DAO, написанным на Java. Кроме того, Jython может сделать то же самое.

    Алан Кеннеди также встретился с проблемой, выданной Ник Джонсон , где он демонстрирует что-то, что можно сделать с помощью Jython в App Engine, что иначе было бы трудно осуществить в чистых преобразованиях XSLT на Python. Он отвечает на зачеркнутый вопрос в ответе Ника: почему вы хотите?

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top