Есть ли проблемы при разработке Django на Jython? - PullRequest
13 голосов
/ 24 ноября 2008

Фон

В свое время я создаю веб-приложение достаточного размера с другом, и мы решили использовать платформу Django на Python. Django предоставляет нам множество функций, которые нам понадобятся, поэтому, пожалуйста, не предлагайте альтернативные фреймворки.

Единственное решение, с которым у меня возникают проблемы, заключается в том, будем ли мы использовать Python или Jython для разработки нашего приложения. Теперь я довольно хорошо знаком с Java и могу извлечь выгоду из библиотек в JDK. Я знаю минимальный Python, но использую этот проект как возможность выучить новый язык - поэтому большая часть работы будет написана на Python.

Привлекательность Jython - это, конечно, JVM. Количество веб-хостов с поддержкой python / django крайне минимально - хотя я предполагаю, что могу разместить приложение jython / django на самых разных хостах. Это не масштабное дизайнерское решение, но все же, я думаю, его нужно решить. Я бы действительно предпочел jython над python только для доступности jvm.

Вопросы

Есть ли у Jython много ограничений по сравнению с обычным питоном? Будет ли запуск django на jython причиной проблем? Насколько быстро команда Jython выпускает обновления вместе с Python? Будет ли Django работать так, как рекламируется на Jython (с минимальной предварительной настройкой)?

Решение

Спасибо за полезные комментарии. Я думаю, что собираюсь заняться разработкой на Jython для поддержки JVM - но попытаться использовать только код / ​​библиотеки Python. Портативность не является серьезной проблемой, поэтому, если мне нужна библиотека в JDK (недоступная в python), я буду ее использовать. Пока Django полностью поддерживается, я счастлив.

Ответы [ 4 ]

3 голосов
/ 24 ноября 2008

Django работает на Jython , хотя вам нужно будет использовать разрабатываемый выпуск Jython, поскольку технически Jython 2.5 все еще находится в бета-версии. Тем не менее, Django 1.0 и выше должен работать без изменений.

Что касается того, следует ли вам использовать обычную реализацию Python или Jython, я бы сказал, что вопрос в том, предпочитаете ли вы, чтобы были доступны все библиотеки Java или все библиотеки Python. На данный момент вы можете ожидать, что почти все в стандартной библиотеке Python будет работать с Jython, но есть еще множество сторонних пакетов, которые не будут работать, особенно модули расширения C. Я лично рекомендовал бы перейти с обычного Python, но если у вас есть масса опыта JVM и вы хотите придерживаться того, что вы знаете, то я могу уважать это.

Что касается поиска хостинга Python, эта страница может быть полезна .

3 голосов
/ 24 ноября 2008

Я бы сказал, что если вам нравится Django, вам также понравится Python. Не делайте (слишком распространенную) ошибку, смешивая опыт прошлого языка, пока вы изучаете новый. Только после освоения Python у вас будет возможность судить, лучше ли гибридный язык, чем любой из них.

Это правда, что очень мало дешевых хостингов предлагают предустановленный Django; но вполне вероятно, что это изменится, учитывая, что это наиболее похожая среда на движок приложений Google. (и большинство проектов GAE можно запускать на Django)

1 голос
/ 24 ноября 2008

Я недавно начал работать над проектом с открытым исходным кодом в свободное время. Так что это может не относиться. Я пришел к тому же вопросу. Я решил, что я должен написать как можно больше кода на python (и Django) и ориентироваться на все платформы CPython, Jython и IronPython.

Затем я решил, что напишу плагины, которые будут взаимодействовать с библиотеками в разных реализациях (например, в разных библиотеках GUI).

Почему? Я решил, что долговечность моего кода может зависеть не только от CPython, но и от виртуальных машин. Для сегодняшних целей CPython - это путь из-за скорости, но кто знает о завтрашнем дне. Если ваш код достаточно гибок, вам, возможно, не придется выбирать его.

Недостатком этого подхода является то, что у вас будет больше кода для создания и поддержки.

0 голосов
/ 24 ноября 2008

Предполагается, что Django совместим с jython sinc версии 1.0.

Этот урок немного устарел, но оттуда вы можете видеть, что особых проблем нет.

...