Фреймворк для (HTML + JS) настольного клиента
Я планирую написать настольный клиент для Windows и Mac. Он будет работать на основе веб-технологий (HTML + JS). Поэтому он должен работать на движке WebKit на рабочем столе пользователя.
Недавно я увидел интересный подход к этой проблеме: Appcelerator Мне нравится его основная концепция, но я не хочу зависеть от их услуг. Вместо этого я хочу иметь полный контроль над программой WebKit, которая загружает мое приложение.
Существуют ли какие-либо достойные фреймворки WebKit с открытым исходным кодом для построения настольные приложения? Возможности интеграции с настольными компьютерами, такие как Growl-поддержка и прочее, ценятся.
С уважением,
Стефан
Обновление: я не ищу Adobe Air ; -)
3 ответа:
Помимо Appcelerator, я знаю о двух графических фреймворках рабочего стола, которые имеют компонент браузера, который обертывает webkit: GTK+ и Qt. Вы можете заставить компонент браузера заполнить окно вашего приложения и написать большую часть (или все) приложения в HTML+CSS. Если вам нравится язык Python или это очень важная стандартная библиотека, вы можете использовать python bindings pyQt или pyGTK.
Более "мускулистой" альтернативой Prism, если вы готовы пойти с двигателем Gecko, является XULRunner (https://developer.mozilla.org/En/XULRunner в то время как Prism-это набор легких привязок к рабочему столу для веб-приложения, XULRunner позволяет создавать полноценные приложения, такие как Firefox, Thunderbird и т. д. В то время как многие приложения XULRunner написаны с помощью XUL, легко написать все приложение с помощью HTML/CSS внутри одного компонента XUL WebBrowser - и ваш javascript по-прежнему обладает всей мощью собственного настольного приложения.
Я написал пару настольных приложений используя XULRunner. Почти весь код приложений-это HTML / CSS / Javascript, но я включил фреймворк Python (через pyXPCOM и pyXPCOMext) и написал тонкий слой, который предоставляет некоторую функциональность Python для Javascript. Компоненты Mozilla, поставляемые с XULRunner, дают вам приличное количество функциональности бесплатно, но если вам понадобится больше функциональности или полнофункциональная библиотека программирования, Python сделает это. Существуют также привязки к Java. Или, если если вы хотите использовать библиотеки C или C++, Вы можете построить XULRunner с нуля.
Обновление: несколько вещей изменились с тех пор, как я впервые написал выше в 2009 году. Во-первых, проект Prism был исключен из Mozilla Labs и впоследствии полностью прекращен в конце 2011 года (http://www.salsitasoft.com/2011/09/08/discontinuing-webrunner/). одна альтернатива, на которую стоит обратить внимание, - это https://github.com/rogerwang/node-webkit .
Декабрь 2014 Обновление: Еще Один последним вариантом является GitHub Atom от оболочки. Он использует модуль "контент" Chromium, так же как node-webkit и Chromium Embedded Framework (и публикует его как автономный lib: https://github.com/brightray/libchromiumcontent одно из главных отличий от node-webkit состоит в том, что вместо слияния цикла событий node с циклом событий Chromium, Atom запускает их как в отдельных процессах, так и использует смесь синхронизирующих и асинхронных межпроцессных сообщений для связи между ними.
Если вы заинтересовавшись встраиванием Chromium в приложение C++ или .Net, есть такжеAwesomium .
Платформа Appcelerator являетсяоткрытым исходным кодом , поэтому вы не зависите от компании - вы всегда можете взломать код вокруг себя, если захотите. Если вы хотите больше контроля, вы всегда можете простоподключить непосредственно к WebKit . Геккон, эквивалентный AIR / Appcelerator, на который ссылается Джоэл, вероятно, Mozilla Prism.