Фреймворк для (HTML + JS) настольного клиента


Я планирую написать настольный клиент для Windows и Mac. Он будет работать на основе веб-технологий (HTML + JS). Поэтому он должен работать на движке WebKit на рабочем столе пользователя.

Недавно я увидел интересный подход к этой проблеме: Appcelerator Мне нравится его основная концепция, но я не хочу зависеть от их услуг. Вместо этого я хочу иметь полный контроль над программой WebKit, которая загружает мое приложение.

Существуют ли какие-либо достойные фреймворки WebKit с открытым исходным кодом для построения настольные приложения? Возможности интеграции с настольными компьютерами, такие как Growl-поддержка и прочее, ценятся.

С уважением,

Стефан


Обновление: я не ищу Adobe Air ; -)

3 7

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.

Если вы не совсем привержены webkit, я вспоминаю что-то о проекте, который позволит вам сделать что-то подобное с движком Firefox. В основном окне минималистский вокруг рендера Гекк плюс шестерни и ярлык на рабочем столе для вашего приложения. Однако в данный момент не могу найти ссылку.