Могу ли я использовать научные библиотеки Java в Google App Engine?

Я пытаюсь создать веб-приложение для выполнения научных и инженерных расчетов. Я новичок в веб-разработке, и я искал бесплатный фреймворк (с бесплатным хостингом), поэтому я пришел к Google App Engine, но нет никакого способа заставить работать scipy, поэтому я решил переключиться на Java вместо python (хотя я нашел PythonAnywhere, и у него есть numpy, scipy и т. д., у него нет поддержки построения графического интерфейса, такой как PyQt , wx, Tkinter...).

Я хотел бы знать, есть ли способ использовать COLT или около того для Java в Google App Engine или есть ли какой-то другой вариант. Я бы предпочел бесплатные варианты, так как я учусь в колледже, но дешевые настраиваемые варианты полностью приветствуются: D (даже если это означает использование другого языка)

ПД: Я надеюсь, что это было понятно, так как английский не мой язык.

EDIT: Я ПЫТАЛСЯ использовать математику Apache Commons, и похоже, что это не сработает. Краткий ответ на мой вопрос: НЕТ.


person Francisco Quintero    schedule 12.02.2012    source источник
comment
Взгляните на Heroku.   -  person Jeremy    schedule 12.02.2012
comment
Вот список того, что можно и что нельзя запускать в App Engine. Если вы не получили исчерпывающего ответа, я предлагаю проанализировать рассматриваемую библиотеку, чтобы увидеть, соответствует ли она правилам App Engine.   -  person Marvin Pinto    schedule 12.02.2012
comment
Re PythonAnywhere: как бы вы использовали PyQt, wx или Tkinter в веб-приложении? Это настольные инструменты GUI.   -  person Thomas K    schedule 12.02.2012
comment
@ThomasK хммм ... вы правы ... поэтому я должен использовать Django вместо этих инструментов для рабочего стола. Есть ли графический дизайнер GUI для Django?   -  person Francisco Quintero    schedule 13.02.2012
comment
Ну, он использует шаблоны, которые в основном представляют собой HTML. docs.djangoproject.com/en/1.3/topics/templates   -  person Thomas K    schedule 13.02.2012


Ответы (4)


  1. Я считаю, что GAE сильно ограничивает возможности запуска.
  2. Я сомневаюсь, что вы найдете полностью бесплатное решение для хостинга Java.
person Andrew Thompson    schedule 12.02.2012
comment
Большое спасибо за ваш ответ!... теперь я не знаю, чему верить... поэтому я буду ждать ответа сообщества, а пока попробую. - person Francisco Quintero; 12.02.2012
comment
Я попробую. Это лучший способ узнать. ;) - person Andrew Thompson; 12.02.2012
comment
Я думаю, это зависит от того, что вы считаете строго ограничивающим. GAE Java ограничивает создание новых потоков и запись в файловую систему, почти все остальное разрешено. К сожалению, многие научные математические пакеты, вероятно, будут использовать многопоточность, но если вы попытаетесь включить что-то, нарушающее правила, это сообщит вам об этом. - person Rick Mangi; 13.02.2012
comment
создание новых тредов Да, я считаю, что это серьезно ограничивает, теперь вы упомянули об этом. - person Andrew Thompson; 13.02.2012
comment
Сильно ограничивает... так верно. - person Francisco Quintero; 14.02.2012

Чтобы прояснить утверждения в других сообщениях, GAE невероятно ограничивает пакеты Python с расширениями C. Любой чистый Python будет работать нормально. Scipy активно использует расширения C, поэтому попадает в эту категорию.

Google недавно представил поддержку Python 2.7, а вместе с ней и возможность использовать NumPy в App Engine. Я не уверен, что это покрывает ваши потребности, но, возможно, стоит проверить.

Я разрабатываю только Python для Google App Engine, поэтому боюсь, что не могу комментировать состояние внешних зависимостей Java.

person mvanveen    schedule 13.02.2012

GAE ограничит многое, если не все в вашем случае. Возможно, вы захотите попробовать Heroku, Amazon Web Services в пределах их бесплатной квоты.

person Vishal Biyani    schedule 12.02.2012

Не вижу причин не делать этого. Вы можете запускать интерфейсные экземпляры, которые могут использовать 800 МГц процессора и 128 МБ ОЗУ — вы можете запускать один экземпляр все время бесплатно, но вам нужно иметь возможность разбивать свои задачи на 10-минутные разделы (если вы используете задачи или 30-секундные разделы). в противном случае). Серверная часть будет платной, и вам, вероятно, будет дешевле работать на другой системе.

person mjaggard    schedule 13.02.2012