Веб-структуры: как отличается игра от Spring MVC? - программирование
Подтвердить что ты не робот

Веб-структуры: как отличается игра от Spring MVC?

Play Framework предлагает следующий быстрый обзор, но за исключением механизма шаблона Groovy (который вы можете получить в Spring MVC, если вы хотите), Spring, кажется, предлагает все те же функции и многое другое...

  • Исправить ошибку и нажать reload! Отредактируйте свои файлы Java, сохраните, обновите браузер и сразу увидите результаты! Нет необходимости компилировать, развертывать или перезапускать сервер. Spring делает это, что может раздражать.

  • Модель без состояния. Игра - это настоящая система "Ничего общего". Готов к REST, он легко масштабируется путем запуска нескольких экземпляров одного и того же приложения на нескольких серверах. Типичные приложения Spring имеют уровень состояния без состояния; это не чисто RESTful, если вы не хотите быть, но Spring "готов к REST".

  • Эффективная система шаблонов Чистая система шаблонов на основе Groovy в качестве языка выражений. Он обеспечивает наследование шаблонов, включает в себя и теги. Spring использует Java, но Groovy тоже вариант.

  • Устранить ошибки быстро При возникновении ошибки воспроизведение показывает исходный код и точную строку, содержащую проблему. Даже в шаблонах. Spring делает это также.

  • Все, что вам нужно для создания классного веб-приложения. Обеспечивает интеграцию с Hibernate, OpenID, Memcached... и плагиновую систему. Spring интегрируется со всеми и более.

  • Чистая Java Код с Java, используйте любую библиотеку Java и разработайте с вашей предпочтительной IDE. Интегрирует хорошо с eclipse или netbeans. Spring также является чистой Java.

  • Действительно быстро Начинается быстро и быстро работает! Субъективный, но Spring довольно быстрый.

Итак, что делает Play Framework фактически иначе, чем Spring MVC?

4b9b3361

Ответ 1

Я считаю, что "чистая Java" претензия с обеих сторон очень забавная.

Конечно, нереально для проекта использовать абсолютно ничего, кроме java. Тем не менее, ярлык "чистой Java" должен иметь некоторые стандарты, я не думаю, что любая фреймворк квалифицируется.

Play на самом деле изменяет семантику языка Java. Все в порядке, если это четко указано. Если вы выполняете некоторые манипуляции с байт-кодом, просто будьте честны в этом. Обычно это делается с помощью AOP-ish trick, методы экземпляра украшены дополнительным поведением, их явное поведение - они написаны в коде, как правило, сохраняются. Это не так сложно принять, мы можем притвориться, что наш код подклассифицирован каркасом, а наши методы переопределены дополнительным поведением.

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

Spring - ну, их часть Java по-прежнему остается чистой Java. Но это так волшебно (из java POV) и так сильно зависит от тяжелой структуры, называя Spring "чистую Java", походит на вызов гамбургера "чистой веге", если мы не увидим мясо. Мясо - лучшая часть!