JavaFX в корпоративных веб-приложениях - хорошая альтернатива классическим веб-страницам?

Мы разработали несколько веб-приложений для разных клиентов, от простых на вид утомительно выглядящих графических интерфейсов в стиле CRUD для этих бедных администраторов до модных графических интерфейсов с расширенными функциями AJAX для тех, кто работает в Интернете. Все они были основаны на JSF 1.2 в сочетании с JBoss Seam 2 с использованием Facelets и RichFaces в качестве уровня представления.

Мы знаем об ограничениях JSF 1.2 и (мне это грустно) нам еще не удалось перейти на Java EE 6, но, определив эту настройку в качестве нашего технологического стека, мы получили некоторый опыт работы с этой технологией, чувствуя удобно разрабатывать веб-приложения для наших клиентов.

Так какого черта я тебе это говорю? Потому что мы все чаще и чаще сталкиваемся с тем, что клиенты, которые слышали о «Web 2.0», хотят иметь расширенную клиентскую функциональность, принимая только браузер в качестве двери для всех приложений. Хотя мы знаем, что это можно сделать с помощью технологий, которые мы используем, мы считаем, что было бы неплохо использовать что-то другое на стороне клиента для удовлетворения этих потребностей. И поскольку мы в основном программисты на Java, и мы продолжаем отгонять этого парня, который подслушивает нас своим Adobe Flex, мы думаем, что JavaFX в его новой версии может быть хорошей идеей.

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

Короче говоря, нам нравится использовать Java EE 6 в бэкэнде, имея при этом богатую и красивую функциональность на клиенте. Является ли JavaFX хорошей альтернативой классическим веб-страницам или даже будущим современным веб-страницам HTML 5 при разработке бизнес-веб-приложений, и где можно найти для этого примеры?

Спасибо за то, что уделили время, прочитав это, и за ответы, которые, надеюсь, возникнут.


person Alexander Rühl    schedule 21.12.2011    source источник
comment
Я думаю, что это скорее альтернатива классическим приложениям форм Swing или .NET.   -  person Thilo    schedule 21.12.2011
comment
Конечно, это альтернатива (тем более сегодня). Это не оптимальная альтернатива для ПРОСТОГО веб-использования, особенно когда развертывание очень сложное (подсказка: обычно на предприятии из-за внутреннего контроля развертывание относительно легко). Но для сложных случаев использования или высокостандартизированных сред он, безусловно, пригоден. Flex был отличным (лучшим, простым) в свое время (и легким в освоении для разработчиков Java ...), пока Apple не разорила Flash, так что оглядываясь назад, взглянуть на FX было хорошим выбором - встроенным в JDK сейчас ... .   -  person User    schedule 10.09.2016


Ответы (3)


Вы можете взглянуть на образец DataApp из пакета образцов JavaFX по адресу http://www.oracle.com/technetwork/java/javafx/downloads/index.html

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

Возможно, вам придется потратить некоторое время на установку MySQL, EE и прочего для этого образца (довольно просто, просто следуйте прилагаемому README), но вы увидите, как полный стек обрабатывается от БД до пользовательского интерфейса клиента.

Маленький снимок экрана первого экрана:

Образец DataApp

person Sergey Grinev    schedule 21.12.2011
comment
Спасибо за подсказку - у меня это уже было скачано, но, поскольку DataApp находится только в папке src, я его не заметил. - person Alexander Rühl; 22.12.2011
comment
Я думаю, что это хорошее начало, поэтому я принимаю это, хотя я хотел бы знать, можно ли иметь более жесткий, поддерживаемый фреймворком способ обмена данными и вызова действий, как я привык с JSF, а не только через REST веб-сервисы. - person Alexander Rühl; 23.12.2011

Я бы выбрал HTML 5, если только у меня не было некоторых потребностей, которые веб-приложение не могло удовлетворить.

Я уверен, что вы можете создавать отличные приложения с JavaFX, но инструментов очень мало, за исключением стандартных вещей Java. А поскольку он не очень широко используется, у вас возникнут проблемы с поиском поддержки и наймом людей, которые в этом разбираются. Также всегда есть риск, что он пойдет тем же путем, что и его аналог .Net Silverlight - в мусорное ведро (Oracle не сентиментален). Что касается Flex, Adobe только что пожертвовала Flex Apache, объяснив, что HTML 5 является «лучшей технологией для предприятий. разработка приложений ».

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

person gustafc    schedule 21.12.2011
comment
Да, я тоже думал об использовании HTML 5 по тем же причинам, о которых вы говорите. Я еще не глубоко разбирался в этом, но поскольку HTML 5 по-прежнему является языком разметки, а не языком программирования, что это тогда, когда вы фактически используете для разработки клиентского кода - JavaScript с множеством фреймворков наверху? - person Alexander Rühl; 21.12.2011
comment
Да, Javascript и jQuery являются своего рода стандартом для веб-программирования на стороне клиента. Большинство веб-фреймворков Java (включая JSF) могут генерировать много Javascript, чтобы помочь вам, если вы действительно не хотите писать JS. - person gustafc; 21.12.2011
comment
Это не ответ на вопрос, это коммерческое предложение. Вы, веб-ребята, бессовестны. Прекратите пытаться убить другие технологии и оставайтесь в своей полуфункциональной фрагментированной песочнице, пожалуйста. - person User; 10.09.2016
comment
@Manius Нет - вполне правильный ответ на вопрос, является ли X хорошей альтернативой Y. Но спасибо, что обратил мое внимание на этот вопрос, его следует закрыть как не по теме. Вопросы, просящие нас порекомендовать или найти книгу, инструмент, библиотеку программного обеспечения, учебное пособие или другой сторонний ресурс, не относятся к теме Stack Overflow, поскольку они, как правило, привлекают самоуверенные ответы и спам. - person gustafc; 11.09.2016

Большинство примеров «корпоративной стороны» JavaFX, которые вы найдете, это клиент JavaFX, общающийся с серверной частью через веб-службу RESTful.

Но Java Web Start - отличная технология. С его помощью у вас будет клиентское приложение, запускаемое через ваш веб-сайт, автоматически обновляемое до последней версии и со всеми новыми зависимостями, автоматически загружаемыми с сервера. Вы даже можете выполнить внедрение зависимостей и внедрить локальный прокси-сервер клиента в ресурсы на стороне сервера; Enterprise JavaBeans, объекты, администрируемые JMS, и т. Д.

Это действительно полезная технология, которая позволит вашему клиенту общаться с сервером множеством способов, а не только использовать проводные веб-службы HTTP. Однако JavaFX нарушает этот шаблон. Не существует прямого способа встроить клиент приложения JavaFX в пакет EAR и заставить его использовать внедрение зависимостей. Но я нашел решение, которое довольно интуитивно понятно и просто воспроизвести. Итак, чтобы дать вам еще один пример приложения JavaFX, работающего как удаленный графический интерфейс для серверной части, ознакомьтесь с моим руководством:

http://blog.martinandersson.com/the-enterprise-side-of-javafx-the-missing-part/

person Martin Andersson    schedule 08.06.2013
comment
Я искал этот блог, он очень полезен, но я не могу найти способ проверить его на сервере wildfly. Потому что этого не хватает. config: ‹glassfish-application-client› ‹java-web-start-access› ‹jnlp-doc› META-INF / custom.jnlp ‹/jnlp-doc› ‹/java-web-start-access› ‹/ glassfish- приложение-клиент › - person kamel2005; 20.11.2015
comment
У wildfly нет этого файла: glassfish-application-client.xml. - person kamel2005; 20.11.2015