runtime.js

[未维护]云端轻量级 JavaScript 库操作系统。([not maintained] Lightweight JavaScript library operating system for the cloud)

  • Owner: runtimejs/runtime
  • Platform: Docker, Linux, Mac
  • License:: Apache License 2.0
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

Project is not maintained, use at your own risk

There is a project at runtimejs-comm/runtime that is looking to continue by maintaining a fork. Visit the repository on Github for more details.

runtime.js

Build Status npm Gem Travis

runtime.js is an open-source library operating system (unikernel) for the cloud that runs JavaScript, can be bundled up with an application and deployed as a lightweight and immutable VM image.

It's built on V8 JavaScript engine and uses event-driven and non-blocking I/O model inspired by Node.js. At the moment KVM is the only supported hypervisor.

It tries to be compatible with npm module ecosystem and supports some of the Node.js API.

WARNING: project is in development and not ready for production use.

Installation

First thing is the command line tool runtime-cli, it will add runtime command to the shell. Type runtime to get full usage help.

npm install runtime-cli -g

Make sure QEMU is installed, it enables running applications locally.

brew install qemu           # OSX
sudo apt-get install qemu   # Ubuntu

Getting Started

Create new project and add index.js entry point file:

mkdir project
cd project
npm init
npm install runtimejs --save
echo "console.log('ok')" > index.js

Run project locally in QEMU:

runtime start

That's it, it should start and print ok in the console.

Optionally you can let it watch directory for changes and restart QEMU automatically:

runtime watch

How does it work?

There are two main components: operating system kernel and a JavaScript library.

The kernel is written in C++ and manages low-level resources like CPU and memory, runs JavaScript using embedded V8 engine. Library drives the entire system and manages hardware devices (usually virtualized by hypervisor).

Docs

API docs

Community

Modules and projects developed by the community for runtime.js

License

Apache License, Version 2.0

Main metrics

Overview
Name With Ownerruntimejs/runtime
Primary LanguageC++
Program languageShell (Language Count: 7)
PlatformDocker, Linux, Mac
License:Apache License 2.0
所有者活动
Created At2014-05-25 12:26:29
Pushed At2019-12-19 02:13:43
Last Commit At2019-12-18 21:13:41
Release Count31
Last Release Namev0.2.16 (Posted on 2017-09-30 18:59:53)
First Release Namev0.0.1 (Posted on )
用户参与
Stargazers Count1.9k
Watchers Count82
Fork Count126
Commits Count689
Has Issues Enabled
Issues Count112
Issue Open Count40
Pull Requests Count35
Pull Requests Open Count8
Pull Requests Close Count8
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private