2009-11-13 1 views
2

В настоящее время я просматриваю базу данных среднего размера (около 30 тыс. LOC), которая использует огромный апплет и взаимодействует с другими системами.Перенос Java-апплета на то, что/где?

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

К какой технологии вы выполните миграцию, если база кода находится на Java.

  • Applet - Нет
  • Java FX - Уровень внедрения слишком низкая
  • GWT - Рефакторинг не просто

Любые идеи/предложения.

+1

Почему вы говорите, рефакторинг не просто в GWT? Это не мой опыт. – skaffman

+0

Является ли это попыткой перейти от апплетов к GWT? –

ответ

6

Зачем вам нужно перенести это? Из-за drag-n-drop?

Возможно, вам стоит взглянуть на запуск его как автономного приложения Java и использовать Java Web Start для его обслуживания. Я думаю, что изменения в кодировке должны быть минимальными, чтобы преобразовать их из апплета.

+0

Вы можете написать JNLP-файл, который запускает апплет без изменений в WebStart (хотя он явно не получает LiveConnect). –

+0

Я этого не осознавал. Thx, Tom –

+0

Согласен - звучит как хороший soln. JNLP и веб-запуск работают удивительно хорошо. – Joel

0

Я предлагаю вам GWT в сочетании с хорошей библиотекой пользовательского интерфейса (например, Ext-GWT, aka GXT). Я думаю, что с хорошей миграцией библиотеки пользовательского интерфейса не так сложно. До сих пор Claudio

1

Ваш вопрос немного сложно понять. Насколько я знаю, JavaFX и Applets используют одну и ту же технологию.

Я часто использую GWT, и я считаю, что довольно легко перейти от Applets/Swing к GWT. Но вы можете использовать только подмножество java-библиотек, поэтому не ожидайте, что вы можете просто скомпилировать приложение SWING и запустить его с помощью GWT. Некоторые вещи просто не выполняются в браузере, поэтому вам может потребоваться переместить часть кода на сервер и оставить в браузере только слой пользовательского интерфейса.

Что вы имеете в виду, когда говорите, что оно взаимодействует с другими системами? Если вам нужно подключиться к другим машинам из апплета/браузера, не забывайте, что GWT - это просто JS, поэтому он имеет ту же самую исходную политику, которая блокировала бы это. Возможны обходные пути для этого, но это потребует дополнительной работы.

2

Используйте AjaxSwing для автоматического преобразования вашего апплета в веб-приложение. Возможно, вам придется написать собственное перетаскивание, но вам придется делать это с помощью любой другой структуры. По крайней мере, вы остаётесь без каких-либо кодировок.

http://ajaxswing.com

+0

Прохладный. У вас есть отзывы из первых рук? Благодарю. – lud0h

+1

Да, мы использовали его в нескольких приложениях, и он работал очень хорошо. Не все работало на 100% из коробки, поэтому нам пришлось сделать небольшие изменения в коде Swing для многопоточности, и нам пришлось внести некоторые изменения в конфигурацию для нескольких настраиваемых компонентов. Но это был быстрый процесс, и, в конце концов, все приложение работало в браузере так же, как реальное веб-приложение. – Maximus