Фреймворки JVM, какие? - PullRequest
       28

Фреймворки JVM, какие?

4 голосов
/ 07 июля 2011

У меня нет большого опыта работы с фреймворками или языками, поэтому мне нужна ваша помощь.

Вот что я уже сделал, чтобы вы могли понять, откуда я.

Я разработал веб-приложение с использованием Java / Spring MVC / Hibernate.на переднем крае у меня есть некоторые jquery datatables, делающие ajax-вызовы к БД, другие страницы выполняют сохраненный продукт и все.

Теперь я сыт по горло всей конфигурацией, bean, отображениями hibernate,Spring Mappings, Apache тайлы и этот список можно продолжить.

У меня была игра с Groovy / Grails, и это кажется намного проще, но это значит, что мне нужно учиться Groovy, и я слышал о его слабости производительности.

Итак, я столкнулся с Play Framework, может кто-нибудь сказать мне, облегчит ли Play мою жизнь с помощью описанного выше сценария, или я просто пойду в Groovy / Grails или даже в scala / lift.

У меня не так много времени, чтобы выбрать другой язык, так что если я смогу остаться с ядром Java и использовать Play, это было бы здорово.

Так что моя описанная головная боль является причиной, по которой существует RoR / python-Джанго, Граальц и т. д.?или это что-то еще?

спасибо,

Гленн.

Ответы [ 4 ]

10 голосов
/ 07 июля 2011

Я могу сказать вам с точки зрения 10-летнего разработчика J2EE, который перешел с JSP / сервлет до Grails на Play. 6 лет назад я обнаружил groovy, и мне очень понравилось, я использовал groovy и его GSP-шаблоны в других моих проектах для генерации кода. Мне очень нравится отличный синтаксис. Потому что вы можете многое сделать в одной строке кода;) Из-за отличного кода я попробовал Grails. Но, помимо использования языка для кодирования чего-либо за примерно 20% времени проекта, вы на 80% имеете дело с соглашениями Grails. Как они отображают то и это, и на постоянный слой (который находится под поверхностью JPA). Таким образом, вы просматриваете документы большую часть времени.

Тогда я нашел игру. Это действительно было естественно. Все так быстро с этим. Все прямолинейно, это 80% безупречного, продуктивного кодирования, только 20% читают документы. Завершение кода любой Java IDE - буквально достаточная поддержка. В Grails вам нужна либо среда разработки Grails, либо вы часто просматриваете документы.

Самый большой интерес Play для меня - это функция горячей замены кода, которая почти полностью исключает этап сборки. Усовершенствования класса Play дают вам достаточно комфорта, чтобы справиться с потерей этих динамических искателей в Grails. А пока я даже пишу свои собственные энхансеры, чтобы получить еще больше комфорта.

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

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

Подводя итог, можно сказать, что после 10-летнего разочарования в Java и J2EE и почти отказа от Java я снова переключился на него, реализованный Play, потому что в Play это очень весело, и теперь я снова его люблю. Я рекомендовал поиграть еще двум друзьям-разработчикам, и им это тоже нравится. Похоже на Java, что он должен был быть в первую очередь. Быстро, чисто, безопасно и очень весело. Я никогда не буду использовать что-то еще, основанное на Java, даже для простого main ();)

9 голосов
/ 07 июля 2011

Играть!

После 6 или 7 лет Spring / Hibernate, еще несколько с JSP / EJB. Я покончил с миром Java, ища другие альтернативы, такие как Scala, Node.js, Rails и т. Д.заставил меня снова полюбить Java, хотя я и рекомендую Scala.

У меня много информации о Play в моем блоге http://geeks.aretotally.in и http://playframework.info.

Его очень легко подобрать, это безумно продуктивно, и вам будет очень весело!

2 голосов
/ 08 июля 2011

Производительность Grails 2.0 будет примерно такой же, как и у статически типизированных языков.

Исходя из вашей текущей архитектуры, Grails будет наиболее естественным - вы можете повторно использовать все существующие классы и код без проблем, и вы сможете напрямую их использовать.Вы можете свободно использовать @Autowired и другие аннотации Spring, код Java, и Grails подхватывает его - потому что Grails - это Spring под одеялом.Единственная часть, которая может потребовать небольшой доработки - это JSP, но я смог заставить работать существующие JSP и пользовательские теги-библиотеки без проблем.Grails использует SiteMesh для создания своих Groovy Server Pages (подумайте, что JSP Groovy-ized и удаляет некоторые ограничения JSP).

Ничего против Play, Lift, веб-фреймворка Clojure, SEAM или любых других фреймворковтам - но если вы хотите простой переход от того, что у вас есть, к чему-то более продуктивному, то Grails будет наиболее подходящим вариантом.

Конечно, в наши дни почти каждая из этих платформ поддерживает программирование полиглотов - вы используете Scala для чего-то, Groovy для чего-то другого, и Java повсюду - компиляторы, среды сборки и инструменты - все это относится к разработке полиглотов..

Короче говоря, все сводится к требованиям и управлению рисками - вам нужно функциональное программирование, динамическая типизация, повторное использование контроллеров Spring или просто какое-то упрощение и повышение производительности?

Даже простое обновление Spring 3.1 может исключить некоторые ваши XML-файлы для аннотаций и решить большинство ваших проблем.

Удачной охоты!

2 голосов
/ 07 июля 2011

Если вы спросите парня из Play Framework, он скажет вам использовать Play.Если вы спросите парня из Scala / Lift, он скажет вам использовать Scala / Lift.

В идеале вы хотели бы найти кого-то, кто использовал Groovy / Grails, Scala / Lift и Play, но, к сожалению, там нет.Их не так уж много.

FWIW, я использую Groovy и Grails, и мне это очень нравится.Если вы уже знаете Java, Spring и Hibernate, вы уже знаете, что нужно для продуктивной работы с Groovy / Grails.

Если вы не хотите тратить много времени на изучение нового языка, я бы держался подальше от Scala, поскольку это совсем другой язык, чем Java, тогда как Groovy - это почти расширенный набор Java, исо знакомым синтаксисом.

Я практически ничего не знаю о Play, но я буду обеспокоен размером сообщества - проверьте количество вопросов Play и Grails по stackoverflow для приблизительного сравнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...