Giter Site home page Giter Site logo

changchun456 / shadownode Goto Github PK

View Code? Open in Web Editor NEW

This project forked from yodaos-project/shadownode

0.0 1.0 0.0 7.74 MB

Use Node.js in your embeddable devices :)

License: Other

JavaScript 51.82% CMake 3.32% Makefile 0.35% C 35.88% Assembly 0.14% C++ 1.34% Shell 1.50% Python 5.66%

shadownode's Introduction

ShadowNode

The Node.js Runtime in shadow, which supports NPM packages partially for embeddable platform.

Build Status License FOSSA Status

Currently supports the following platform:

  • OSX
  • Linux

Quick Start

This project is another runtime for your Node.js app, which is to be used in low memory devices. It's inspired and forked from the original awesome project Samsung/iotjs.

To get started with shadow-node, you should follow the build step on a Linux or OSX machine. And this project will not be supported on Windows unfortunately.

Memory usage and Binary footprint are measured at here with real target daily.

Getting Source Code

$ git clone https://github.com/Rokid/ShadowNode.git
$ cd ShadowNode

Build

$ tools/build.py
$ tools/build.py --install # install the binary/library/headers to prefix, default /usr/local

To get supported options, run:

$ tools/build.py --help

Test

$ tools/build.py --tests

For Additional information see Getting Started.

What's different with Node.js

The ShadowNode's purpose is not going to run the absolute same code both on the Node.js and ShadowNode, within embeddable devices might be severe and less memory requirement, you should write your apps in an light thinking. However we are hoping to share the same community for developers as possible, and the following are the status:

In desktop and embedable ecosystem, the service via DBus is quite normal, in shadow-node, the DBus will be the built-in module. For detailed API, see DBUS API.

The MQTT protocol is used for communication between IoT devices, then ShadowNode would support this protocol natively, and we keep the API consistent with the pop library MQTT.js. See MQTT API for details.

The WebSocket is the popular protocol in IoT environment as well, and also supported by ShadowNode natively. See WebSocket API.

For hardware geek, this project benefits from the upstream IoT.js, which has supported the following hardware interfaces, you are able to port [shadow-node][] to your platform(s) and start hacking with JavaScript:

Documentation

License

ShadowNode is Open Source software under the Apache 2.0 license. Complete license and copyright information can be found within the code.

shadownode's People

Contributors

akhilkedia avatar akosthekiss avatar bzsolt avatar chunseoklee avatar daeyeon avatar danielballaszte avatar dbatyai avatar galpeter avatar haesik avatar hs0225 avatar ilyoan avatar jeuxdeau avatar jiangzidong avatar knightburton avatar kolipka avatar laszlolango avatar lemmaa avatar nova0821 avatar robertsipka avatar rtakacs avatar rzr avatar sae-bom avatar seanshpark avatar seo-young avatar tadziopazur avatar vprunet avatar wateret avatar yichoi avatar yorkie avatar zherczeg avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.