Подъем граалей:Какой фреймворк лучше подходит для какого типа приложений?[закрыто]

StackOverflow https://stackoverflow.com/questions/1097252

  •  11-09-2019
  •  | 
  •  

Вопрос

Я пользуюсь Grails последние несколько месяцев, и мне это действительно нравится, особенно GORM.Тем не менее, я начинаю интересоваться Лифтом Scala.Поэтому я хотел бы узнать ваше мнение о том, какие веб-приложения лучше подходят для какого из этих двух фреймворков, или это просто вопрос вкуса, какой фреймворк использовать?

Наконец, какой из этих фреймворков, по вашему мнению, будет чаще использоваться в будущем?У меня такое ощущение, что Grails далек от достижения критической массы и все еще остается очень неясным (в последние несколько месяцев у меня была возможность работать с компаниями среднего размера и ИТ-стартапами, работающими в основном со стеком JVM, и только один человек знал и использовал Grails), и я даже не уверен, сможет ли он стать "RoR" мира Java (действительно, сообщается о падении роста за последние несколько месяцев, даже если другие фреймворки имеют положительные темпы роста).И я люблю Groovy, его действительно легко освоить, но я заметил, насколько медленным он может быть для некоторых задач.

С другой стороны, Scala, кажется, более популярна (индекс Tiobe), и тот факт, что Twitter использует ее сейчас, придал ей еще большее присутствие в блогосфере, где появилось много поклонников и ненавистников, создающих шумиху.Он славится своей скоростью и масштабируемостью.Однако многим разработчикам этот язык кажется несколько сложным для понимания и изучения (так что, возможно, он никогда не получит статус основного).Lift малоизвестен, и я читал некоторые отчеты о том, что он лучше подходит для небольших приложений (менее 20 доменных классов).

Судя по количеству изданных книг, Groovy-Grails доминируют прямо сейчас, но у многих издателей есть книги Scala о произведениях, так что я думаю, это преимущество продлится недолго.

Наконец, у нас есть проблема в том, что оба языка и фреймворки по-прежнему имеют плохую поддержку IDE (она становится лучше с каждым днем, но далека от того, что магазины Java ожидают от производительности).

Я не хочу затевать флейм-войны, но мне было бы очень интересно услышать мнения других пользователей.

Это было полезно?

Решение

Grails - хорошая идея (но только "украденная" у rails), но тот факт, что заводные ребята не заинтересованы в получении надлежащей поддержки Eclipse, сильно мешает ее успеху.Я даже видел, что в списках grails вообще не было ответов на вопросы Eclipse.

Я согласен с Тимом в том, что Netbeans 6.7 наконец-то обеспечивает первую половину полезной поддержки IDE с открытым исходным кодом для groovy / grails - и, в конечном счете, SpringIDE также будет иметь лучшую поддержку groovy / grails.

Причина, по которой многие Java-специалисты любят Java, - это статическая типизация, которая позволяет инструментам очень помочь вам во многих вещах.Это теряется при таком заводном языке.Да, я мог бы написать каждый действительно важный фрагмент кода на Java и по-прежнему использовать Grails - но тогда, почему я должен, просто чтобы сэкономить кучу строк связующего кода, делать это вместо того, чтобы научиться высокоэффективно использовать Java Framework?

Чтобы прийти к концу:Я еще не изучал scala, но создал несколько простых приложений с помощью grails - и я склонен возвращаться к java, даже переопределяя каждое приложение, которое нуждается в дальнейшей разработке, в простом Java-фреймворке - я думаю, wicket и Seam.

Я также посмотрю на Scala / Lift, я слышал о нем много хорошего!

Кстати:Я бы сравнил сообщества и посмотрел списки рассылки - сколько там людей, получают ли они хорошие ответы на свои важные вопросы?

Похоже, что у Grails процент неотвеченных составляет почти 50%, что, по моему мнению, плохо.

Другие советы

Принятый здесь ответ отражает действительно невежественный взгляд на Groovy - это современный динамичный язык (dynamic vs.статика - это огромная дискуссия сама по себе, и здесь она не особенно актуальна).Это сделано специально и, следовательно, не является недостатком, просто разница.В нем много функций современного языка, которых нет в Java, таких как замыкания, собственное регулярное выражение, полиморфная итерация, некоторая необязательная статическая типизация (предмет обсуждения, но также посмотрите на groovy ++), собственный синтаксис для списков и карт и т.д. - вы можете увидеть сравнение здесь http://groovy.codehaus.org/Differences+from+Java

Чтобы ответить на актуальный вопрос о Граалях противПоднимите, я бы сказал, Граали из рук в руки.За ним стоит SpringSource, и просто посмотрите на страницу плагинов http://www.grails.org/plugin/category/all - Я даже не могу найти, какие плагины или эквиваленты доступны для Lift.Grails также использует новейшие облачные технологии с такими функциями, как встроенная поддержка обмена сообщениями RabbitMQ и готовая поддержка GORM для MongoDB и Redis.

Поддержка Grails в netbeans 6.7 действительно хороша, так же как и поддержка idea intellij в Maia.

Eclipse по-прежнему довольно отстойный проект.

Я посмотрел на lift, но был обеспокоен имеющимися сейчас ресурсами;это изменится в будущем, но мои проекты не могут ждать.

Я хотел бы конкретно ответить на вопрос "для какого рода приложений".Основное различие между философиями Grails и Lift, по-видимому, заключается в том, что Grails применяет MVC, тогда как Lift кажется более либеральным, т. е.он не применяет MVC, но предоставляет достаточно возможностей для использования MVC, если вы этого хотите.

Кроме того, Lift, по-видимому, отлично подходит для "одностраничных приложений", особенно если вам нужно реализовать серверную функциональность с использованием такой технологии, как Comet (что, очевидно, не означает, что она не подходит для других типов приложений).С другой стороны, Grails, по-видимому, лучше подходит для "корпоративных" приложений, особенно если вы уже знакомы с Spring и Hibernate, но хотите, чтобы ваше приложение было намного более кратким (используя соглашение о настройке), чем приложение, отличное от Grails, использующее эти технологии.


Ссылки:

  1. Просто поднимите, глава 13
  2. Одностраничное приложение

Отказ от ответственности:
Я только начал изучать Lift и создал несколько простых приложений, используя Grails.

Со всеми улучшениями производительности и усовершенствованиями Grails2.0, с отличной поддержкой фреймворка IntelliJ 11, возможностью подключать практически любые передовые веб-технологии в ваше приложение grails., и да - за этим стоит вес VMware - я действительно не понимаю, как Lift может быть преимуществом или хорошим выбором.Просто подумайте об использовании двух разных языков в одном приложении, необходимости двойного опыта в команде и т.д.

Первоначальный вопрос был опубликован более 2 лет назад, и я думаю, время показало, на чьей стороне выбор сообщества разработчиков ;)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top