Я новичок в разработке Flex и RIA в целом. У меня есть служба Java + Spring + Hibernate в стиле CRUD, поверх которой я пишу пользовательский интерфейс Flex. В настоящее время я использую BlazeDS. Это внутреннее приложение, работающее в локальной сети.
Мне стало очевидно, что работа RIA больше похожа на настольное приложение, чем на веб-приложение, поскольку мы загружаем всю модель и работаем с ней непосредственно на клиенте (или, по крайней мере, с той частью, которая нас интересует). . Это не очень хорошо сочетается с BlazeDS, потому что на самом деле он поддерживает только удаленное взаимодействие, а не управление данными, поэтому может потребоваться много дополнительной работы, чтобы убедиться, что клиенты синхронизированы, и избежать перезагрузки модели, которая может быть большой (тем более, что ленивая загрузка невозможна).
Так что мне кажется, что у меня осталась ситуация, когда я должен относиться к своему Flex-приложению больше как к обычному старому веб-приложению, в котором я выполняю много мелкозернистой загрузки данных.
LiveCycle слишком дорогой. Бесплатная версия WebOrb для Java действительно выполняет только удаленное взаимодействие.
Войдите в GraniteDS. Насколько я могу судить, это единственное бесплатное решение, в котором есть многие функции управления данными LiveCycle. Я начал немного просматривать его документацию и внезапно почувствовал, что это еще одно болото фреймворка, которое мне придется изучить, чтобы запустить приложение.
Итак, мой вопрос к аудитории StackOverflow:
1) вы рекомендуете GraniteDS, особенно если мой текущий стек Java - Spring + Hibernate?
2) в какой момент, по вашему мнению, он начинает приносить плоды? То есть, на каком уровне сложности приложения, по вашему мнению, использование GraniteDS действительно делает разработку намного лучше? Каким образом?