Skip to content

a lightweight js runtime for IOT(一个面向物联网的JS运行时)

Notifications You must be signed in to change notification settings

MarilynDafa/ijjs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

image

Overview

IJJS is an open-source, cross-platform, lightweight JavaScript runtime environment. It executes JavaScript code outside of a browser. this project is inspired by nodejs,txiki.js.IJJS is especially suitable for server development, Internet of Things, artificial intelligence and so on.

Features

  • URL
  • Jemalloc memory pool
  • XMLHttpRequest & fetch
  • Worker API
  • Crypto API
  • WebAssembly
  • TCP KCP and UDP sockets
  • TTY handles
  • Unix sockets / named pipes
  • Timers
  • Signals
  • File operations
  • High-resolution time
  • Miscellaneous utility functions
  • Worker threads
  • Child processes
  • System Information
  • PostgreSQL
  • Redis

3rd library

  • jemalloc
  • libuv
  • wasm3
  • quickjs
  • kcp
  • zlog
  • miniz
  • curl

Building

Windows: Visual Studio 2019 + clang
Linux: Visual Studio 2019 + clang + WSL
OSX/IOS: XCode
Android: Visual Studio 2019 + NDK

Supported platforms

  • GNU/Linux
  • macOS
  • Windows
  • Android
  • IOS
  • Other Unixes

Using IJJS

  • Install IJJS.
  • Install the [IJJS Debug extension] in VS Code.
  • Use command "ijjs-cli --init" to create project
  • Switch to the debug viewlet and press the gear dropdown.
  • Select the debug environment "ijjs.launch".
  • Press the green 'play' button to start debugging.
  • Use command "ijjs-cli --min" to minify all js files in dist folder

Module Development

  • Develop C module, you can refer to sigar module
  • Develop JS module, you can refer to cron module