Підводні камені в рамках Граалу [закрито]


12

Які основні проблеми / підводні камені з використанням рамки Grails? Зараз я вивчаю основи, і мені це дуже подобається, але мені потрібно знати, з якими основними проблемами я можу зіткнутися під час його використання та як їх уникати.

Відповіді:


13

IMO, найслабшою частиною Grails була відсутність функцій міграції моделі даних (ala Rails ActiveRecord міграції). Були кілька сторонніх плагінів різного рівня якості, але нічого офіційного.

Однак я щойно виявив, що Liquibase розширений і перетворився на плагін міграції баз даних, і це виглядає багатообіцяюче: http://www.grails.org/plugin/database-migration

З іншого боку, для всього, що я використовував Grails для (простих до середньо складних веб-додатків), це було переважно фантастично. Я б сказав, що я можу отримати приблизно 2–3-кратне підвищення продуктивності в розробці через стек MVC Java / Hibernate / Spring / Spring.


1
+1. Я вибрав Grails для подальшої роботи над неякісно написаним додатком Struts 1. Єдиною складною частиною для мене було обмін файлами cookie на двох сервлетів. Інакше це був загальний виграш.
Кевін Клайн

5

Проведення інтеграційних тестів було повільним, оскільки середовище грааль потребує часу для завантаження, і для запуску тесту потрібно лише частина цього часу. Це збільшить час обороту, коли ви розробляєте код, який записує на db. Іншу проблему Калеб уже згадував у своїй відповіді (про міграцію даних). Я також виявив, що кожного разу, коли я застряг, кількість форумів, на які я міг отримати допомогу, була обмежена порівняно з допомогою, доступною для сплячки та весни.


Запуск тестів: просто запустіть їх в інтерактивному режимі - таким чином ви уникнете запуску
rdmueller

3
Форуми: мій досвід полягає в тому, що я отримую відповідь на всі мої запитання протягом 4 годин на Stackoverflow - здебільшого прямо з комітерів з грааль ...
rdmueller

3

Нинішнім недоліком використання фреймворку є його нинішня погана інтеграція в систему збірки gradle. В даний час для цього використовується плагін, але сам плагін розривається з новими версіями граалів (як я нещодавно намагався використовувати і виправляти). Вони планують виправити цю проблему в майбутній версії, зробивши градієль частиною системи побудови граалів (замість gant), але відсутність системи складання, яку можна легко інтегрувати, є проблемою. Однак ця піщаність піде в майбутньому.

Ще однією підводним каменем є динамічний характер мови. Ви дійсно ОБОВ'ЯЗКОВЕ написати тести на все. Більшість помилок у вашому коді виявляються під час виконання. Це дійсно інший спосіб мислення про програму. Покладатися на компілятора, щоб знайти деякі ваші помилки, не відбувається з цією рамкою. Я не кажу, що це погано, це просто інше (і підводний камінь, якщо ти з ним не знайомий).


2

Мені подобаються цілі граалі / зернисті поняття, хоча я особисто використовував звичайну крупу більше, ніж грааль, я думаю, що вони обидва чудові.

Єдиний недолік (на мій особистий досвід) - погана підтримка IDE. Я подумав (досить оптимістично), що оскільки SpringSource мав чудовий збір Eclipse і був сильним прихильником Grails, що це буде шлях. Грозові плагіни важко встановити, доповнення коду є хитким (завжди проблема з динамічними мовами, але надання мені вибору 60 методів не так корисно), налагодження може бути втомливим, оскільки це часто вимагає проходження внутрішнього коду groovy, і, в останньому випуску встановлення groovy плагіна виводить з ладу Java-відладчик!


0

В даний час він має підтримку абстрактних класів. Наприклад, ви не можете прив’язати список реалізацій до одного List<T>в командному об'єкті. Зрозуміло, це в першу чергу дратує, тому що я звик магічно зобов'язувати все інше! : D

Взагалі це все ще просто різновид "зеленого"; ви врешті-решт зіткнетеся з незначними обмеженнями та помилками. Це дійсно пройде довгий шлях через кілька років.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.