| --- |
| title: Documentation |
| layout: default |
| --- |
| |
| == Documentation |
| |
| * The latest libnanomsg C API <</v{{ site.latest }}/nanomsg.adoc#,reference manual>> |
| |
| * <<gettingstarted/index.adoc#,Getting Started with nanomsg>> by Tim Dysinger |
| |
| * http://dirkjan.ochtman.nl/talks/2013/09/nanomsg-sss/#/step-1[Simple Smart Sockets] presentation by Dirkjan Ochtman |
| |
| * Some <<rfcs/index.adoc#,RFCs>> describing the network protocols. |
| |
| * <<documentation-zeromq.adoc#,Differences between nanomsg and ZeroMQ>>, by Martin Sustrik (inventor of both nanomsg and ZeroMQ) |
| |
| * The https://nanomsg.github.io/nng/man/index.html[NNG Reference Manual], documenting the new NNG API, is available from https://leanpub.com/nngmanual[Leanpub]. |
| |
| * https://staysail.github.io/nng_presentation/nng_presentation.html[Scalability Protocols] presentation by Garrett D'Amore (Feb 2018) |
| |
| == Language bindings |
| |
| [[bindings]] |
| [cols="20%,30%,50%"] |
| |=== |
| |
| .2+<|C |
| |https://github.com/nanomsg/nanomsg[nanomsg] |
| |Reference implementation, sustaining mode |
| |
| |https://github.com/nanomsg/nng[NNG] |
| |Modern re-implementation. |
| |
| .3+<|C++ |
| |https://github.com/achille-roussel/nanomsgxx[nanomsgxx] |
| | |
| |
| |https://github.com/nanomsg/cppnanomsg[cppnanomsg] |
| | |
| |
| |https://github.com/cwzx/nngpp[nngpp] |
| |(NNG binding) |
| |
| |Clojure |
| |https://github.com/niwibe/jnanomsg[jnanomsg] |
| | |
| |
| |D |
| |https://github.com/kaleidicassociates/nanomsg-wrapper[nanomsg-wrapper] |
| |(note new location) |
| |
| |Dylan |
| |https://github.com/dylan-foundry/nanomsg-dylan[nanomsg-dylan] |
| | |
| |
| |Erlang |
| |https://github.com/basho/enm[enm] |
| | |
| |
| |Fortran |
| |https://github.com/jshahbazi/nanofort[nanofort] |
| | |
| |
| .3+<|Go |
| |https://github.com/nanomsg/mangos-v2[mangos v2] |
| |(pure Go implementation, version 2, recommended) |
| |
| |https://github.com/nanomsg/mangos[mangos] |
| |(pure Go implementation) |
| |
| |https://github.com/op/go-nanomsg[go-nanomsg] |
| | |
| |
| .2+<|Haskell |
| | http://hackage.haskell.org/package/nanomsg-haskell[nanomsg-haskell] |
| | |
| |
| |http://hackage.haskell.org/package/nanomsg[nanomsg] |
| | |
| |
| |Haxe |
| |https://github.com/michelkaeser/hx-nanomsg[hx-nanomsg] |
| | |
| |
| |
| .2+<|iOS |
| |https://github.com/reqshark/nanomsg.ios[nanomsg.ios] |
| | |
| |
| |https://github.com/swiftc-org/nanomsg[swiftc nanomsg] |
| | |
| |
| .3+<|Java |
| |https://github.com/gonzus/jnano[jnano] |
| | |
| |
| |https://github.com/niwibe/jnanomsg[jnanomsg] |
| | |
| |
| |https://github.com/babeloff/nngjvm[nngjvm] |
| |(NNG binding for JNA.) |
| |
| |JavaScript (Node.js) |
| |https://github.com/nickdesaulniers/node-nanomsg[node-nanomsg] |
| | |
| |
| .3+<|Lua |
| |https://github.com/Neopallium/lua-nanomsg[lua-nanomsg] |
| | |
| |
| |https://github.com/nanomsg/luajit-nanomsg[luajit-nanomsg] |
| | |
| |
| |https://github.com/mbalmer/luananomsg[luananomsg] |
| | |
| |
| |.NET |
| |https://github.com/mhowlett/NNanomsg[NNanomsg] |
| | |
| |
| |Ocaml |
| |https://github.com/rgrinberg/onanomsg[onanomsg] |
| | |
| |
| |Perl |
| |https://metacpan.org/module/NanoMsg::Raw[NanoMsg::Raw] |
| | |
| |
| |PHP |
| |https://github.com/mkoppanen/php-nano[php-nano] |
| | |
| |
| |PicoLisp |
| |https://github.com/aw/picolisp-nanomsg[picolisp-nanomsg] FFI bindings |
| | |
| |
| .4+<|Python |
| |https://github.com/tonysimpson/nanomsg-python[nanomsg-python] |
| |(recommended) |
| |
| |https://github.com/sdiehl/pynanomsg[pynanomsg] |
| | |
| |
| |https://github.com/djc/nnpy[nnpy] |
| | |
| |
| |https://github.com/mark-r-stevens/pynng[pynng] |
| |(NNG binding, work in progress) |
| |
| |R |
| |https://github.com/mhowlett/rnanomsg[rnanomsg] |
| | |
| |
| .2+<|Ruby |
| |https://github.com/chuckremes/nn-core[nn-core] |
| |FFI bindings: `ruby -S gem install nn-core` |
| |
| |https://bitbucket.org/kschiess/nanomsg[nanomsg] |
| |Native bindings: `gem install nanomsg` |
| |
| .2+<|Rust |
| |https://github.com/glycerine/rust-nanomsg[rust-nanomsg] |
| | |
| |
| |https://crates.io/crates/nng[nng-rs] |
| |Safe wrapper for NNG |
| |
| |Scheme (CHICKEN) |
| |https://github.com/Adellica/chicken-nanomsg[chicken-nanomsg] |
| | |
| |
| |Smalltalk |
| |https://github.com/mumez/NanoStrand[NanoStrand] |
| | |
| |
| |=== |
| |
| Finally, if you decide to implement your own language binding check this |
| <<development-bindings.adoc#,document>>. |