n2o alternatives and similar packages
Based on the "Applications" category.
Alternatively, view n2o alternatives based on common mentions on social networks and blogs.
-
RemoteRetro
A real-time application for conducting Agile retrospectives at remoteretro.org written in Elixir/Phoenix/React. -
Sprint Poker
Online estimation tool for Agile teams, written using Elixir Lang, Phoenix Framework and React. -
Startup Job
An umbrella project to search startup jobs scraped from websites written in Elixir/Phoenix and React/Redux. -
Exon
A “mess manager” developed in Elixir and provides a simple API to manage & document your stuff. -
majremind
A self-maintained database of your updated server which tells you which one needs to be updated.
Get performance insights in less than 4 minutes
Do you think we are missing an alternative of n2o or a related project?
Popular Comparisons
README
N2O: TCP MQTT WebSocket
N2O is an embeddable message protocol loop library for WebSocket, HTTP, MQTT and TCP servers. It provides basic features, such as process management, virtual nodes ring for request processing, session, frame encoding, mq and caching services.
Core Features
- Purpose: High performance protocol relay
- Endpoints: WebSockets, MQTT, TCP
- Codebase: 700 LOC (Erlang), 500 LOC (JavaScript)
- Dialyzer: REBAR, REBAR3, MAD, MIX
- Hosts: COWBOY, EMQ, MOCHIWEB, RING, TCP, UDP
Protocol Extensions
- Templates: DTL, NITRO
- Abstract Database Layer KVS: FS, MNESIA, ROCKSDB, RIAK, REDIS
- Business Processes: BPE (BPMN 2.0), SCM, ERP, CRM
- HTTP API: REST (proplist/JSON)
- ACTIVE Reloading: Linux, Windows, Mac
Basic Samples
- MQTT Chat: REVIEW TT (8000)
- WebSocket Chat: SAMPLE WS (8001)
Enterprise Samples
- Online Client Bank: BANK (8041)
- Instant Messaging: CHAT (8042)
- Product Lifecycle Management: PLM (8043)
Motivation
N2O was created to bring clarity and sanity to software development. The distribution model is per file basis with ISC license.
Kernel
The core modules provide OTP start and N2O entry point.
- n2o — N2O OTP Supervisor and Application
- n2o_pi — N2O Processes
- n2o_proto — N2O Loop
- n2o_ring — N2O Ring
MQTT
MQTT version is implemented as RPC over MQ pattern. N2O service worker started as ring of virtual nodes each runs N2O loop.
$ mad app zero review
$ cd review
$ mad dep com pla rep
$ open http://127.0.0.1:8000
WebSocket
N2O Loop is directly connected and runned inside context of WebSocket handler.
Usually in Erlang we use syn
or gproc
OTP message buses.
As such buses are optional in MQTT setup we include bus drivers in WebSocket package.
- n2o_ws — N2O WebSocket Virtual Node
- n2o_heart — PING protocol
- n2o_cowboy — COWBOY API
- n2o_gproc — GPROC bus backend
- n2o_syn — SYN bus backend
$ mad app nitro sample
$ cd sample
$ mad dep com pla rep
$ open https://127.0.0.1:8001/app/index.htm
Protocols
N2O ships with 3 optional protocols.
- n2o_ftp — N2O File protocol
- n2o_heart — N2O Heart protocol
- nitro_n2o — Nitrogen Web Framework protocol
- bpe_n2o — Business Process Engine protocol
Services
Formatters, Sessions, etc. Optional.
- n2o_bert — BERT encoder/decoder
- n2o_json — JSON encoder/decoder
- n2o_secret — AES/GCM-256 encoder/decoder
- n2o_session — ETS session storage
JavaScript
- bert.js — BERT encoder/decoder
- utf8.js — UTF8 encoder/decoder
- ieee754.js — IEEE754 encoder/decoder
- heart.js — HEART protocol
- ftp.js — FTP protocol
- n2o.js — N2O protocol loop
- mq.js — MQTT client
Literature
- N2O Book PDF (outdated)
*Note that all licence references and agreements mentioned in the n2o README section above
are relevant to that project's source code only.