Я искал, чтобы увидеть, есть ли эквивалент django/RoR в java.Java web frameworks
я нашел:
ли кто-нибудь когда-нибудь пробовали эти рамки, или вы знаете какой-либо другой? Являются ли они быстрее, чем django/RoR?
Я искал, чтобы увидеть, есть ли эквивалент django/RoR в java.Java web frameworks
я нашел:
ли кто-нибудь когда-нибудь пробовали эти рамки, или вы знаете какой-либо другой? Являются ли они быстрее, чем django/RoR?
Я узнал о Граале около года назад и не оглянулся. Это требует много идей от Ruby on Rails (оригинал был назван Groovy on Rails) и имеет богатые экосистемы плагинов/расширений. Grails и базовый язык Grails (надмножество Java) дают радость программе - вы действительно можете сосредоточиться на сути. Его функциональность GORM (слой поверх гибернации) также очень эффективна, и в дополнение к плагиновой системе это одна из двух огромных причин, чтобы проверить ее (вы можете использовать ее и в своих приложениях Java).
С выпуском версии 1.2, я чувствую, что она многофункциональна и достаточно зрелая, чтобы быть чем-то, что любой разработчик должен иметь в своем наборе инструментов.
Что касается производительности, то это определенно меньше, чем у чистой Java, но у вас есть все, что вам нужно для оптимизации, от Spring/hibernate/J2EE, и вы всегда можете отказаться от чистой java для некоторых критических фрагментов кода.Были некоторые недавние эксперименты, позволяющие запускать часть кода Groovy с использованием разрешения статического метода, что в сочетании с поддержкой invokedynamic должно обеспечивать значительное повышение производительности.
Другие, чтобы проверить на Java, являются Spring Roo и AribaWeb.
Обновление на основе дополнительных квалификаций
Масштабируемость, производительность, документации и приличных ресурсов потребления
Ну да, Грааль кажется замечательным. Но думаю, что я собираюсь попробовать «Играть», это выглядит действительно привлекательно.единственное, что меня беспокоит, - это потребление ресурсов и хуже или лучше, чем php/python/ruby, мне не удалось найти много об этом в google. – Roch
Звучит неплохо - игра выглядит круто. Также посмотрите видео AribaWeb - выглядит очень мило. Просто имейте в виду, что с Grails вы также получаете мощь Groovy, что само по себе является преимуществом (хотя, конечно, производительность - это компромисс). –
Хорошо, я посмотрю AribaWeb. Play Framework использует Groovy тоже для своих шаблонов ;-) – Roch
Я не знаю о Play Framework, но для ответа на второй вопрос, , мы делаем несколько проектов с Webtoolkit от Google. Возможно, стоит проверить.
Удачи!
Я не знаю о Play Framework, но Spring MVC или Struts вместе будет Hibernate предложит аналогичную функциональность.
Имеется много других опций. В основном вам нужна структура MVC (Spring MVC, Struts, Wicket) и инструмент ORM (Hibernate, iBatis). Конечно, вам нужно будет самостоятельно интегрировать необходимые компоненты, но это уже сделано много раз, и вы сможете найти много информации.
Я не уверен, если Spring MVC и Hibernate обеспечивает такую же простоту использования, что Рубин на Rails предоставляет (на самом деле, я уверен, что это намного сложнее ...). Play Framework намного больше похожа на Ruby on Rails. Я думаю, однако я сам не сам это делал и смотрел только скринкаст и читал документацию на нем, поэтому, если вы хотите иметь похожий опыт разработки с использованием RoR, я думаю, что вы лучше попробовать что-то вроде Play вместо Spring MVC с Hibernate. Преимущество последнего заключается в том, что он очень мощный и способен адаптироваться к существующей datamodel, например (из того, что я знаю на RoR, что не очень тривиально в RoR). Еще одна структура, которую вы могли бы рассмотреть - Groovy на Grails. Хотя он не использует Java (он использует Groovy), он очень похож на RoR. Он использует Spring и Hibernate под капотом (если я прав), и преимущество Groovy заключается в том, что у вас нет строгой статической типизации Java. Ruby on Rails и Django в значительной степени зависят от динамического характера языка, на котором он реализован, функция Java пропускает из-за ее статической типизации.
Edit: ах, вы упомянули Grails уже в вашем вопросе ...
если Грааль варианта (который на самом деле не является Java, но заводная рамка), тем Scala на основе Lift рамки будет вариантом , слишком.
Другой вариант - RIFE, который пытается иметь минимальную конфигурацию RoR, находясь на Java. В вашем списке только Play Framework имеет эту функцию, остальные находятся на JVM, но не являются Java (если это важно для вас вообще).
Stripes, по-видимому, довольно легкий и охватывает Конвенцию по конфигурации.
Полосы выглядят очень интересно. +1 –
Что относительно VRaptor? - он использует Spring как контейнер DI и контроллер/View, похожий на Rails Action-Pack.
Использование стоек, калитки, рельсов & Гобелен, рекомендуем вам ознакомиться с Tapestry 5.
Он поддерживает
единственным недостатком является документация, которая, хорошо, но немного немногословен, хотя группы пользователей/списков рассылки очень активны и большинство вопросов отвечают хорошо & охотно.
(Кроме того, убедитесь, что только смотреть на Т5 - и не T4,3,2,1 ..... так как они очень сильно отличаются от текущей версии)
Подробнее о том, почему here.
Spring Roo претензий быть решением.
Рассмотрите возможность попыток Lift Framework. Это действительно здорово.
AribaWeb также поддерживает Groovy. Ознакомьтесь с нашими другими функциями в http://aribaweb.org/ и узнайте наш подход к созданию продуктивной веб-разработки.
В любое время, когда вы рассматриваете стек приложения (язык, фреймворк и т. Д.), Вам также необходимо рассмотреть, что вы пытаетесь решить и какие навыки программирования у вас есть в вашем распоряжении. Я обнаружил, что более опытные Java-программисты очень продуктивны со стеком Groovy и Grails по сравнению с более младшими программистами.
Вы упомянули следующее в качестве проблемных областей:
Надеюсь, что это поможет.
Мы широко используем раму Stripes, и она отлично работает. Это действительно легкий вес, и он направляет вас на чистый дизайн ваших приложений. Это в основном просто скрывает скучные части развития от вас, поэтому вы можете сосредоточиться на забавных вещах (одним из таких примеров является indexed properties).
Я сделал проект с граалем, и я нашел его очень быстрым для некоторых задач, но он делает много «волшебных» за кулисами, что затрудняет его при отладке.
Также я обнаружил, что постоянно читаю документацию, потому что я не чувствовал ее естественной. Простым примером является контроллер, где действие определяется как поля (для меня естественно думать о действии как методе ...). Я могу что-то сказать о GORM, где вам нужно знать некоторые специальные слова, которые при вставке в статические поля делают какую-то магию, как создание переходного процесса ... Никаких аннотаций, нет автозаполнения ... только руководство.
Что касается Play! Я нашел это удивительно простым и быстрым для развития, легким для изучения и запоминания. Сообщество кажется меньше, чем Grail, но он более активен и быстрее отвечает. Единственным недостатком является то, что он не полагается на api сервлета, поэтому некоторые сторонние фильтры или другие вещи трудно интегрировать, но не невозможно. Важно отметить, что вы можете развернуть приложение Play на любом традиционном веб-сервере, где оно будет объявлено войной.
По моему мнению, Grails замечательный, но вам нужно иметь большой опыт работы с ним, чтобы быть продуктивным, иначе вы потеряете много времени с руководствами. Так что если это не ваш случай, я должен порекомендовать Play! Специально, если вы не знакомы с Groovy
Я использую http://www.ninjaframework.org/ для микросервисов, и это очень близко к большинству парадигм mvc, если вы использовали рельсы, asp.net mvc или nancyfx, вам хорошо идти. Это очень близко к этой философии и действительно удивительно и легко тестируется. Лишь в нижней части документации не так много, но она довольно точно соответствует шаблону mvc. Он не использует ничего проприетарного в рамках, поэтому это чистое решение на основе Java. Таким образом, это компенсирует отсутствие документации.
Какие элементы веб-структуры важны для вас? Масштабируемость, производительность, документация и т. Д. – Joel
Масштабируемость, производительность, документация и достойное потребление ресурсов (Даже если все говорят, что это не так важно для веб-приложения, в облаке, это будет) – Roch
контрольная точка рельсов, калиток, гравий, игра, список, jsp: http : //www.jtict.com/blog/rails-wicket-grails-play-lift-jsp/ –