New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

graft

Package Overview
Dependencies
Maintainers
4
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

graft

Full-Stack JavaScript Through Microservices

  • 0.0.4
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
2
decreased by-87.5%
Maintainers
4
Weekly downloads
 
Created
Source

Warning: This library is under active development, and should not be considered production ready

Graft

The Graft project explores what the web could become, if we extended microservice architectures into the client.

When you graft something, it involves joining together parts to create a new whole.
One that is hopefully more adaptable, resilient and ultimately interesting.

"Instead of pretending everything is a local function even over the network ..., what if we did it the other way around?
Pretend your components are communicating over a network even when they aren't?"
-- Docker's Solomon Hykes on LibChan - [link]

Explore our concepts and influences


Our Projects
  • graft: the library that ties everything together.
  • jschan: our 'standard carrier'. A port of libchan.
  • aetherboard: our 'hello world' demo. A collaborative whiteboard.
Our Process
  • discover how to connect tools through microservices.
  • explore the tools that are already available.
  • adapt those that could be integrated.
  • innovate to build those that don't exist yet.
Our Principles
  • favor small tools that serve only one purpose, but do so well.
  • eschew state, because it only leads to trouble.
  • focus on javascript, because it is universal.
  • evaluate and document, not prescribe.
  • educate.
Our Goals
  • be the premier javascript implementation of libchan.
  • be completely supported for node.js as soon as possible.
  • use Node.JS streams to replicate the semantics of Go Channels.
  • be functional and usable on the browser as we test the waters.
  • use virtual stream objects to provide an api similar to Gulp.
  • attempt control flow abstractions similar to HighlandJS.
  • experiment, document and learn.

About LibChan

Libchan is the connective tissue to all our endeavours. It is a microservices library announced by the Docker project, and it is going to form the basis of all of the tools they build in the future.

It's most unique characteristic is that it replicates the semantics of go channels across network connections, while allowing for nested channels to be transferred in messages. This would let you to do things like attach a reference to a remote file on an HTTP response, that could be opened on the remote end for reading or writing.

The protocol uses SPDY as it's default transport with MSGPACK as it's default serialization format. Both are able to be switched out, with http1+websockets and protobuf fallbacks planned.

While the RequestResponse pattern is the primary focus, Asynchronous Message Passing is still possible, due to the low level nature of the protocol.


Contributors

Adrian Rossouw

Peter Elgers

Matteo Collina

Keywords

FAQs

Package last updated on 02 Sep 2014

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc