#gwt #java #база_данных #ios #веб_программирование
Постановка задачи: Разработать web-приложение для пользователей Windows, Linux, iPad, возможно MacOS, не для iPod и других мобильных платформ. С desktop-версией для Windows, Linux, MacOS, способной работать без активного соединения с интернет и выполнять весь основной функционал. Основной функционал заключается в произведении вычислений и генераций .txt, .doc, .pdf документов, на основе выбранных на форме пользователем параметров и данных из БД. Предлагаемое решение: Основной функционал готовить в виде общих библиотек (для использования в обоих версиях) на Java и БД sqlite. Версия-web: на клиенте только GUI на Java GWT, основной функционал выполняется на Java веб-сервере. Версия-desktop: GUI на Java Swing, основной функционал выполняется на клиенте. Логику приложения реализовать вместе с (на стороне) GUI, которая обращается посредством веб-сервера (web-версия) или напрямую (desktop-версия) к интерфейсным функциям общей библиотеки для выполнения основного функционала. Имеются вопросы: Используем NetBeans 7, настольные приложения Swing и веб-службы SOAP/REST на Java, там разрабатываются довольно просто. Есть проблемы с установкой и настройкой GWT. Насколько адекватно поддерживается в netbeans GWT? Альтернативы IDE? Идея с общей библиотекой для основного функционала выглядит обнадеживающе, это только наши иллюзии или это вполне реализуемо? Дополнение к п.2.: можно ли одно и то же хранилище данных sqlite использовать и на сервере и на клиенте? Какие еще есть альтернативы? Дополнение к п.2.: имеются ли готовые библиотеки на Java для работы с документами форматов .doc и .pdf? GWT используем для обеспечения работоспособности версии-web на всех вышеперечисленных платформах, могут ли нас ожидать проблемы несовместимости? Desktop приложения на Swing по разному выглядят на Windows и Linux. Похоже, как выяснилось, потому, что компоненты Swing надстроены над AWT. Эта проблема решаема, т.е., можно ли оформить интерфейс так, что бы выглядело всегда одинаково? UPD GWT приложение транслируется в JS во время выполнения на сервере, или приложение сначала транслируется в JS код и только затем развертывается на сервере? UPD 2 Дополнение к п.2.: имеются ли готовые библиотеки на Java для генераций .dxf документов?
Ответы
Ответ 1
Для Eclipse есть очень удобный плагин для работы с gwt Общая библиотека это хорошо, но, вероятно, будет много различий, ведь как-никак инструментарий для разработки gwt web приложений и desktop приложений весьма отличается. Всё зависит от того, что Вы собираетесь пихать в эту библиотеку, и что у Вас вообще за проект. Всё зависит от поставленных задач и проекта. работа с .pdf,работа с .doc Вряд ли. Можно. ссылка JS код компилируется вместе с приложением, на сервере уже хранится в виде JS. Исключение - hosted mode - режим, сделанный для удобства разработки. Для браузера нужно поставить соответствующий плагин, чтобы видеть приложение в таком режиме. Плюсы - возможность отладки и публикация изменений на сервер "на лету".Ответ 2
Как альтернатива Net Beans'у - Intellij Idea (есть платна и бесплатная, бесплатную нужно настроить). Если gwt, то тогда ext-gwt: http://www.gwt-ext.com/demo/ По поводу 6-го пункта в swing скины, хорошая статья по этому поводу на хабре http://habrahabr.ru/blogs/java/128755/Ответ 3
Я использую Eclipse в подобных экспериментах. Вроде работает. По внешнему виду SmartGWT значительно лучше GWT , а механизм связи с сервером тот же. Советую обратить внимание на него. http://www.smartclient.com/smartgwt/showcase/#main это примеры. А почему бы не сделать вместо десктоп и веб версий только одну - Веб (с локальным сервером и базой) ? UPD Поподробнее... Я делаю в основном, как описано в http://code.google.com/intl/ru/webtoolkit/doc/1.6/tutorial/gettingstarted.html . Делаю 2 части в Eclipse. Клиентская транслируется в JS, серверная .jar. Они общаются по GWT RPC (это все есть в tutorial). Все исполнимое получается в war/ (Eclipse). Его содержимое кладу в webapps/ в Tomcat, который слушает порт 8080 (если пересекается с Oracle, то передвигаю на 18080). Браузер соединяется с Tomcat и запрашивает html приложения. В общем, локальный и удаленный варианты не отличаются (так сказать, локальный web, если сервер/база установлены на машине пользователя).
Комментариев нет:
Отправить комментарий