MarilynDafa / ijjs

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

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


Languages

Language:C 96.0%Language:C++ 2.4%Language:JavaScript 1.1%Language:Objective-C 0.5%Language:WebAssembly 0.0%Language:Shell 0.0%Language:Qt Script 0.0%Language:QMake 0.0%Language:Batchfile 0.0%