Надеюсь, вы сможете помочь!Я занимаюсь разработкой простого кросс-платформенного приложения для системных лотков. Вот требования, какие инструменты следует использовать?
Вкратце, мне нужно что-то вроде кросс-платформенного веб-браузера с небольшим или отсутствующим хромом, который легко распространяется и позволяет (локальным и удаленным) HTML-страницам, работающим в нем получать сообщения (JavaScript?), Когда глобальные горячие клавиши системы.
Я разрабатываю настольное приложение, которое будет использовать существующий веб-интерфейс REST API. Я хотел бы, чтобы это приложение было кросс-платформенным (Windows, Mac OS и Linux) и имело согласованный интерфейс на всех платформах. Приложение работает в системном трее и использует глобальные горячие клавиши для удобного доступа ко многим его функциям, не открывая главное окно пользовательского интерфейса.
Я уже написал грубую первоначальную версию приложения с использованием C#/Windows Forms, но есть несколько проблем. В настоящее время он использует неуправляемый код Win32 для поддержки глобальных горячих клавиш, который не является межплатформенным, даже если я портировал его в Mono. Кроме того, это действительно не очень красиво ...
В идеале, я хотел бы построить пользовательский интерфейс с использованием традиционных веб-технологий, таких как XHTML/CSS и использовать JavaScript/AJAX для связи с удаленным API, поэтому я подумал, что Adobe AIR будет хорошим решением, но, к сожалению, it still doesn't support global hotkeys. Я также посмотрел XULRunner, но я не уверен, что правильно понимаю, для чего это предназначено.
Таким образом, основные требования к какой комбинации инструментов я буду использовать следующие:
- Позвольте мне создать пользовательский интерфейс в XHTML/CSS/JavaScript
- JavaScript для удаленного взаимодействия с веб-API через AJAX
- Разрешить приложение, чтобы показать, и быть доступны через-иконки в трее (в любой ОС он запущен)
- позволяет приложению реагировать на глобальные горячие клавиши (опять же, в любой ОС он запущен)
Есть ли у меня какие-либо советы по этому поводу? Я открыт для любых предложений и примеров, независимо от языка или инструмента.
Редактировать: Я просто наткнулся на Nokia's Qt Toolkit, есть ли у кого-нибудь опыт?