Нужна помощь в определении java framework, библиотеки - PullRequest
1 голос
/ 19 мая 2011

Я планирую разработать Java-приложение с открытым исходным кодом для работы с движком приложений Google, а также с обычной системой rdbms, поэтому, пожалуйста, помогите мне выбрать

MVC Framework - Struts / Spring MVC?

ORM - JDO / JPA?

Я считаю производительность ключевым фактором.

Ответы [ 4 ]

1 голос
/ 21 мая 2011

Для движка приложения вам понадобится легкая структура, как для персистентности, так и для приложений. Google меняет свою модель ценообразования, поэтому вы можете подумать, как это повлияет и на ваши планы. Существует интересная дискуссия в группе движка приложения по этому поводу: https://groups.google.com/forum/#!topic/google-appengine/ob-kMuDAAqc/discussion

Кроме этого, я могу только прокомментировать выбор персистентных рамок :

JDO в движке приложения - это боль. Версия, которую они (Google) поддерживают в движке приложений, - 1.x, я думаю, она древняя. У меня было больше проблем с тем, чтобы заставить вещи работать, чем я хочу вспомнить. Если у вас есть предыдущий опыт работы с JDO, это все же может быть хорошим выбором. Если бы я начал все сначала, я бы выбрал постоянную среду, специально написанную для движка приложения, например objectify или веточка . Они требуют меньше накладных расходов и более просты в использовании (с моей точки зрения). Один гигант плюс objectify: дает вам поддержку memcache из коробки без дополнительной работы. Насколько это здорово?

Однако вы также хотите поддерживать СУБД. Если у вас есть время, вы можете свернуть свой собственный уровень абстракции поверх objectify и слоя устойчивости RDBMS по вашему выбору. Это даст вам преимущество в производительности, которую вы ищете. ;)

Если это не вариант, я бы предложил JPA (не потому, что я сам использовал его, а потому, что у меня было так много проблем с JDO).

Надеюсь, это поможет!

1 голос
/ 20 мая 2011

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

Для MVC Spring 3 довольно хорош, но более личныйпредпочтения и то, что вам удобно.Если вы хотите что-то разработанное для AppEngine, попробуйте Gaelyk , хотя это Groovy.Для хранения данных JPA возможно более широко используется, но я думаю, что поддержка JDO в App Engine лучше.Оба из них обеспечивают некоторый уровень независимости от платформы, если вам нужно выйти из App Engine.Также существуют Objectify-Appengine и Twig , которые более привязаны к платформе и, таким образом, могут обеспечить лучший интерфейс для управления хранилищем данных.

0 голосов
/ 11 июня 2011

Я бы пошел на JSF + JPA и использовал бы Spring Framework для внедрения зависимостей.

My 5 5.: P

0 голосов
/ 20 мая 2011

Я бы лично пошел с Java EE 6 framework.So

MVC : JSF -> очень легкий и простой в разработке. JSF2.x исправил много недостатков из JSF1.2 ORM : JPA2.0 ->, поскольку он является стандартным и поставляется с пакетом Java EE 6. Вы можете заменить на Hibernate, ваш выбор. У каждого есть свои уникальные преимущества. Я бы не сказал, что один лучше других. Не забывайте, что Java EE 6 поставляется с EJB3.1. У EJB плохая репутация в супертяжелом весе, однако, начиная с EJB 3.0, это совсем другая история. EJB3.1 стал намного более легким и простым в разработке. Веб-профиль Glassfish обеспечивает EJBLite (Хе-хе-хе: D: D намного легче: D)

С точки зрения сложности разработки, я должен сказать, что Spring немного сложнее, чем JEE6, но, опять же, я лишь касаюсь Spring очень минимально, это обсуждение предоставит возможность гораздо более опытным разработчикам говорить.

...