2008-11-24 4 views
13

ФоновыйЕсть ли проблемы с разработкой Django на Jython?

Я построение справедливого размера веб-приложение с другом в свое свободное время, и мы решили пойти с фреймворком 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 полностью поддерживается, я счастлив.

ответ

3

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

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

Что касается поиска хостинга Python, this page might be helpful.

+0

Можно ли загружать модули расширения python c из java с помощью load_library() или нужно ли писать тонкую оболочку для их переноса? – 2008-11-24 14:43:06

0

Django должен быть совместимым с jython версией sinc версии 1.0.

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

3

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

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

1

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

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

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

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

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

  • Нет связанных вопросов^_^