Appfuse vs. Roo, что бы вы использовали и почему?
Каковы сладкие пятна каждого.
Appfuse vs. Roo, что бы вы использовали и почему?
Каковы сладкие пятна каждого.
В соответствии с ответом я дал TheServerSide thread по этой проблеме...:
AppFuse стремится предоставить единый первоначальный эшафот вашего нового проекта. Это похоже на архетипы Maven или Eclipse "новый проект", поскольку вы запускаете их один раз в начале нового проекта, а затем поддерживаете продвигаемый код. После того, как вы запустили его, система эшафотов больше не будет участвовать в вашем проекте.
Roo, с другой стороны, предоставляет генератор активного кода с круглым знаком для вашего долгосрочного использования в данном проекте. Таким образом, Roo предлагает ценность как в начальное время создания, так и при каждом изменении проекта.
В практическом плане это означает, что при разработке вашего проекта Roo автоматически будет поддерживать определенные файлы. Чтобы взять простой пример, когда вы добавляете (или удаляете) поле, Roo автоматически обновит toString, getters/seters, JSP-страницы и т.д. Он также предлагает команды, чтобы позже вы могли добавлять новые возможности. Поэтому, если вам нужно добавить безопасность через шесть месяцев после создания проекта, вы просто " настройка безопасности". Или, если вам нужно отправить электронные письма, вы просто " http://static.springsource.org/spring-roo/reference/html/command-index.html#command-index-email-sender-setup". Аналогичные команды есть для многих других областей возможностей, таких как Spring Web Flow, JUnit, Selenium, общие поставщики JPA и т.д. Вы просто откладываете решение, если хотите, и Roo добавит эти возможности только тогда, когда вы попросите их (и он также автоматически будет использовать эти новые возможности в вашем проекте).
Есть и много других различий. Roo допускает расширение через пользовательские надстройки, он предлагает высоко полезный shell, он позволяет постепенно создавать новый проект и добавлять функции только по мере необходимости, он широко поддерживает последние версии основных технологий Spring, он поставляется с разработанным SpringSource (и, следовательно, поддерживается) архитектура приложений и т.д.
Чтение справочного руководства Roo Введение Глава или просто завершение десятиминутный тест продемонстрирует, что они очень разные в подходах.
Мои заметки о AppFuse и Roo:
AppFuse
Это полностью работающее приложение/проект шаблона.
Традиционная архитектура DAO ↔ Service ↔ Controller
Легко начать с архетипов maven
Отличная документация и учебные пособия
Не совсем актуально. Spring 3 финала скоро будет выпущен, а AppFuse будет основан на 2.5 (?)
Spring Roo
Spring С другой стороны, Roo - это инструмент , который ускоряет разработку с использованием генерации кода.
Начало работы с новым полностью сконфигурированным проектом занимает 1 минуту
Создает объекты с богатым доменом, где CRUD сотканы в объекты домена, используя AOP вместо традиционных DAOs/services
Трудно понять, если вы новичок в Spring
Документация не такая хорошая еще
Действительно круто! То есть добавьте Spring Безопасность для вашего проекта только с одной строкой кода!
Telosys (легкий генератор кода) также является хорошей альтернативой. Видеть http://www.telosys.org/
Он производит очень чистый код (без привязки, как ApectJ) и шаблоны настраиваются
Существует стек шаблонов, предназначенных для создания веб-приложений MVC Spring (и многих других для генерации кода для других видов фреймворков).
для меня Appfuse, но он не обновляется, но spring roo использует aspectj, и есть части кода, которые вы не должны касаться, и мне это не нравится.
Spring Roo
Pros. 1.
Настраиваемый. Вы добавляете и удаляете другую структуру и аддон согласно вашему требованию.
Реверсивное воспроизведение базы данных: Создавайте CRUD-приложения, если у вас есть схема базы данных.
Сильная поддержка сообщества Spring.
Поддержка NOSQL MongoDB
Может создавать необходимые надстройки.
Минусы:
Требовать глубокое знание Aspect oriented и Spring stack.
AppFuse:
Плюсы:
Против: Настройте приложение, но не как Spring roo.
Для начала, roo выглядит более сконструированным, с генерацией кода, использованием аспектно-ориентированного программирования и т.д.
Appfuse, похоже, не поддерживается больше, похоже, что последняя версия была выпущена в мае 2008 года.
Вначале Roo немного немного кровоточит, из-за использования еще неизданной версии 3 из Spring Framework, но это изменится, и эта версия принесет много интересных изменений в таблицу.
Он также поднимает вас на большее количество портфелей технологий Spring, таких как STS и tcServer, и делает его мертвым легко использовать Spring Безопасность и Spring WebFlow.
Я собираюсь с ROO.
Я уже использую
Поэтому предпочтение отдается продуктам SpringSource, поскольку я уже знаком с стилем API, документацией, соглашениями SpringSource и даже с их методами кодирования, когда я расширил/внедрил код безопасности-рамки. -)
поэтому, мой совет идет с инструментом/каркасом, который более естественен для вас.
Приветствия,
AppFuse имеет интеграцию с Tapestry, Wicket и другими веб-фреймворками, которые Roo не делает - пока
AppFuse → перейти на SpringFuse Я больше предпочитаю использовать SpringFuse
Вопрос - несколько лет, а между тем есть новые инструменты производительности, которые я хочу отметить:
Generjee. Generjee - это полнофункциональный инструмент. Вы определяете онлайн свои требования и (необязательную) модель данных. Затем вы получаете сгенерированный код в качестве загрузки.
Сгенерированный код не зависит от generjee. Этот инструмент полезен для запуска проектов разработки из интегрированной базы данных полного стека.
generjee будет генерировать для вас:
Forge. Чтобы описать это в некоторых словах, это "как Roo". Но Forge не так силен, основываясь на Spring и AspectJ как Roo.