Skip to content
/ exokit Public
forked from exokitxr/exokit

🚀Exokit Browser: Javascript web browser for the post-screen world

License

Notifications You must be signed in to change notification settings

shawwn/exokit

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Exokit Browser

Javascript AR/VR web browser 🦖

Slack Github releases npm package Travis CI build status Appveyor build status Twitter Follow

Quickstart

Download for current OS

Then either:

Open the app to the home environment.

This gets you reality tabs (multiple sites at once), multiplayer, keyboard emulation, and other goodies.

Or...

Run a standalone WebGL/WebXR site by passing the URL as an argument:

exokit https://emukit.webmr.io/

This is the same experience as any other browser.

Introduction

Exokit Browser is a brand new post-screen web browser written in JavaScript as a Node module. It supports WebGL, WebVR, Magic Leap and other mixed reality hardware, and also supports vintage keyboard and mouse. And it's faster and lower latency than Chrome and Firefox in many cases, since it does less (Exokit doesn't render HTML).

The core is Javascript, so changing the browser is just like changing a site. The rest is native OpenGL and the usual libraries.

Exokit runs on Windows, macOS, and Linux.

About Exokit Browser

Exokit can't render HTML, but it can draw Canvas and WebGL -- natively, and fast -- as well as take keyboard/mouse/mixed reality input with the regular APIs. It's a browser for the post-(2D) world.

Think JSDOM, except it actually runs the DOM in a window. Or think Electron, except 300k and no compile step. Or, think an emulator for running web sites.

The multimedia parts (e.g. WebGL) are pluggable native modules. Everything else is Javascript. It's pretty easy to experiment and add new Web APIs.

Exokit runs on Windows, Linux, and macOS.

Examples

What Exokit can do:

  • Load any https: site
  • Parse a programmatic DOM
  • Run any <script>
  • Load <image>, <video>, <audio>
  • Web Workers
  • Canvas 2D
  • WebGL
  • WebVR
  • Gamepad input
  • Iframe isolation
  • Embed anywhere with node
  • Run on Android/iOS
  • Run tests
  • Power a web bot

What Exokit cannot do:

  • Render a web page
  • CSS
  • Interactive HTML forms
  • Legacy APIs

FAQ

Why?

The web is important. The most important part of the web is that it's open. The web is not open if you need to be a genius to build a web browser.

Despite modern browsers being nominally open source, their code is impenetrable. You've probably never compiled a web browser, and almost certainly never added things. Despite the amount of time you spend in a browser.

With Exokit, anyone can write some Javascript to control their experience of the web.

Platform support?

Works:

  • Windows
  • macOS
  • Linux

Planned:

  • Electron
  • Android
  • iOS

The core is Javascript and is platform-agnostic. Porting work is restricted to the native graphics APIs.

Web API support?

  • HTTP(S)
  • HTML5
  • ES7 (whatever Node.js you use)
  • DOM
  • CanvasRenderingContext2D
  • Image tag
  • Audio tag
  • Video tag
  • Keyboard/Mouse events
  • WebGL
  • WebVR
  • Gamepad API
  • No HTML layout
  • No HTML rendering
  • No CSS

Keyboard

Keyboard

Community

Contributors

About

🚀Exokit Browser: Javascript web browser for the post-screen world

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 82.4%
  • Python 8.9%
  • Inno Setup 4.1%
  • C++ 2.9%
  • Shell 1.5%
  • Batchfile 0.2%