这是indexloc提供的服务,不要输入任何密码
Skip to content

breach/thrust

Repository files navigation

Thrust

Thrust is a cross-platform (Linux, OSX, Windows) application shell bindable from any language. It is designed to ease the creation, packaging and distribution of cross-platform native desktop appplication.

Thrust embeds Chromium Content API and exposes its API through a local JSON RPC server listening on unix domain socket. Through the use of a language library, developers can control Thrust and create shell window, sessions, menus, etc...

Thrust also come with support for the <webview> tag allowing the execution of remote pages in a entirely secure setting.

Thrust will be used by next releases of Breach.

[Thurst Architecture]

              (Platform)                        (Client Implementation)
                                                                       
                                           #
                   +------------------+    #        +-----------------------+
                   |   Cocoa / Aura   |    #    +---|  shell3: (HTML/JS)    |
                   +---------+--------+    #    |  +-----------------------++
                             |             #    +--|  shell2: (HTML/JS)    |
+----------------+ +---------+--------+    #    | +-----------------------++
|                +-+   Thrust (C++)   +---------+-+  shell1: (HTML/JS)    |
|  Content  API  | +---------+--------+    #      +-----------------------+
|                |           |             #                 | (TCP/FS)      
|  (Blink / v8)  | +---------+--------+    #      +-----------------------+
|                | +   JSON RPC srv   +-----------+ Client App (any Lang) |
+----------------+ +------------------+    #      +-----------------------+
                                           #

Using Thrust

To use thrust you need to rely on a binding library for your language of choice. Libraries are currently available for Go and NodeJS.

Thrust is currently supported on Linux and MacOSX (Windows coming right away!).

NodeJS

Simply install node-thrust as any other package. At postinstall a binary image of thrust is downloaded from this repository's releases.

require('node-thrust')(function(err, api) {
  api.window({
    root_url: 'https://www.google.com/',
    size: {
      width: 1024,
      height: 768
    }
  }).show(function(err) {
    console.log('WINDOW CREATED');
  })
});

See breach/node-thrust for more details.

Go

[TODO]

See miketheprogrammer/go-thrust for more details.

Building Thrust

First you'll need to make sure you have the Chromium depot_tools installed. Check out the instructions here: Install depot_tools

Then you can build with the following commands:

./scripts/boostrap.py                                

GYP_GENERATORS=ninja gyp --depth . thrust_shell.gyp
ninja -C out/Debug thrust_shell -j 1

Note that bootstrap.py may take some time as it checks out brightray and downloads libchromiumcontent for your platform.

Getting Involved

About

Chromium-based cross-platform / cross-language application framework

Resources

License

MIT and 2 other licenses found

Licenses found

MIT
LICENSE
MIT
LICENSE-BRIGHTRAY
BSD-3-Clause
LICENSE-CHROMIUM

Stars

Watchers

Forks

Packages

No packages published