Помимо Appcelerator, мне известны две графические среды рабочего стола, в которых есть компонент браузера, обертывающий webkit: GTK + и Qt. Вы можете заставить компонент браузера заполнять окно вашего приложения и писать большую часть (или все) приложения в HTML + CSS. Если вам нравится язык Python или это очень важная стандартная библиотека, вы можете использовать привязки python 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. Он использует модуль контента «Chromium», так же, как node-webkit и Chromium Embedded Framework (и публикует его как автономную библиотеку: https://github.com/brightray/libchromiumcontent). Одно из основных отличий от узла-webkit состоит в том, что вместо слияния цикла событий узла с событием Chromium Цикл Atom запускает их как в отдельных процессах, так и для взаимодействия между ними использует смесь синхронизирующих и асинхронных межпроцессных сообщений.
Если вам интересно внедрить Chromium в приложение на C ++ или .Net, есть также Awesomium .