Разработчики написанного на языке JavaScript web-браузера Breach развивают новый кросс-платформенный фреймворк Thrust, позволяющий создавать пользовательские приложения с использованием технологий web-браузера Chromium. Thrust является развитием используемого в браузере Breach ядра и позволяет разрабатывать произвольные GUI-приложения, использующие в качестве каркаса Chromium Content API.

Thrust не привязан к определённому языку программирования и может в текущем состоянии использоваться в проектах на языках JavaScript (Node.js), Python и Go. При этом оформление и организация работы графического интерфейса базируется на web-технологиях. Иными словами Thrust позволяет обеспечить интеграцию базовой части приложения, которая может быть написана на любом языке программирования, с интерфейсом, который по сути является web-приложением. Поддерживается работа в Linux, OS X и Windows. Thrust загружается с использованием динамического связывания, т.е. может поставляться в качестве зависимости через штатные пакетные менеджеры.

Использующее Thrust приложение состоит из двух основных компонентов: платформы и HTML5-клиента. В платформе, благодаря предоставлению спецефичного для разных языков программирования API, осуществляется управление открытием окон, размещением меню, контролем за сеансами и взаимодействием с HTML5-клиентом. HTML5-клиент непосредственно обеспечивает формирование интерфейса. Взаимодействие с HTML5-клиентом производится при помощи JSON RPC. Для вывода графики применяется штатный графический движок Chromium.






(Platform)

 [stdio]
 (Your Implementation)









#




 +--------------+
 #

+-----------------------+
|





| Cocoa / Aura |
 #
 +---|

win3: (HTML/JS)

|
|




 +-------+------+
 #
 |
+-----------------------++
|





 |

#
 +--|

win2: (HTML/JS)

|
 | cli

 +------------+ +-------+------+
 #
 | +-----------------------++
 |

 |


+-+ thrust (C++) +-------+-+

win1: (HTML/JS)

|

|

 | ContentAPI | +-------+------+
 #
+-----------------------+

|

 |


|


|

#


 | (TCP/FS)



| (Blink/v8) | +-------+------+
 #
+-----------------------+

|

 |


| + JSON RPC srv +---------+ Client App (any Lang) |

| srv

 +------------+ +--------------+
 #
+-----------------------+

|








#


Источник: http://www.opennet.ru/opennews/art.shtml?num=41063