Разработка приложений для настольных ПК с использованием HTML, как веб-приложения

StackOverflow https://stackoverflow.com/questions/1433602

Вопрос

Я использую для разработки веб-приложений на Java (Struts, Spring, JSP ...). Но сейчас я хочу разработать настольный. Мне никогда не нравилось создавать окна на Java (AWT, Swing, SWT): слишком много работы для уродливого интерфейса. Поэтому я думаю, что было бы неплохо, если бы я воспользовался моими навыками в веб-приложениях. Одним из вариантов является изменение браузера SWT и выполнение вызовов функции Java вместо HTTP-запросов. Очень хорошим дополнением будет использование JSP. Наконец, я подумал, что, вероятно, для этого есть какая-то основа или инструмент.

Как вы думаете, что я предлагаю, это хорошая идея? Есть какие-то рамки для этого?

Мне это нужно для легких приложений. Поэтому я считаю, что встраивание сервера Tomcat и использование его с HTTP-запросами не очень хорошая идея.

Спасибо за вашу помощь.

Изменить. Одним из примеров приложения может быть средство сравнения папок: вы указываете две папки, и приложение показывает, какие папки и файлы различаются. В этом случае, я думаю, что открывать внешний браузер некрасиво. Раздутое приложение (с его сервером, MVC и т. Д.) Было бы не лучшим выбором.

Это было полезно?

Решение

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

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

Другие советы

Если вы использовали библиотеку JavaScript - ExtJs - тогда вы можете использовать ее с Adobe AIR для создания привлекательного веб-приложения для настольного компьютера.

Сборка приложений в Adobe AIR также проста и элегантна с помощью конструктора flex.

Если вы хотите встроить легкий сервер, проверьте, winstone не полностью совместим с J2EE, но должно быть достаточно для того, что вам нужно. Что касается браузера, я сам не большой поклонник swt, он сильно усложняет межплатформенное развертывание, поэтому, вероятно, стоит присмотреться к jwebpane , еще не совсем готов, но, вероятно, вам понадобится решение.

Есть несколько вариантов: вы можете использовать API плагина Firefox и разрабатывать там свое приложение. Вы можете использовать HTML, JavaScript, встроенную базу данных, все функции браузера и получить доступ к уровню ОС.

Или вы можете попробовать PyQt (Python и Qt), который позволяет пишите простые приложения очень быстро.

[EDIT] Основная проблема, с которой вы сталкиваетесь, - это безопасность: по соображениям безопасности приложения JavaScript (работающие на HTML-странице) не могут получить доступ к ресурсам локальной ОС. Поэтому, если ваш браузер не позволяет вам писать плагины в JavaScript (что справедливо только для FF AFAIK), невозможно написать приложение, которое использует HTML в качестве " view " без помощи чего-то другого.

Кроме того, HTML очень ограничен, когда дело доходит до функций для приложений. HTML разработан, чтобы быть «статичным представлением документа»; не "приложение". Вы можете делать такие вещи, как GMail, но если вы сравните GMail с любым реальным почтовым приложением (Outlook, Thunderbird, Notes), вы быстро увидите, что реальные настольные приложения предлагают гораздо больше функций.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top