Com o casamento do Node.JS com a internet das coisas que resultou no Node-Red (uma ferramenta que consiste com runtime baseado em Node.Js para programação “flow-based”), que foi originalmente desenvolvido time de serviços de tecnologias emergentes da IBM e agora faz parte da JS Foundation. Se você ainda não tinha ouvindo falar disto antes, agora é a hora de dar uma olhada neste assunto.
O Framework de um runtime em node.js que você aponta para um navegador web para poder acessar o flow editor. Através do navegador é possível criar aplicações arrastando nodes na área de trabalho e conectando-as juntas.
Como funciona?
Editor Flow no navegador: Torna simples a conexão entre os flows através de uma ampla gama de nodes em sua paleta. Flows podem então ser rodados no runtime com um único clique. Funções JavaScript podem ser criadas no editor de texto e uma biblioteca interna permite que você salve funções, templates ou flows para reutilização.
Construído com Node.js: Com já mencionado, o runtime foi construído com node.js, utilizando ao máximo modelo de blocos e orientado a eventos. Isto o torna ideal para rodar na rede de hardwares de baixo custo como o Raspberry Pi e também na nuvem. Com mais de 225.000 módulos nos pacotes de repositório do Node, é fácil alterar e adicionar novas funcionalidades.
Desenvolvimento Social: Os flows criados em Node-RED são armazenados utilizando Json que podem ser facilmente importados e exportados para compartilha-los com outros. Uma biblioteca online do flow permite que você compartilhe seus melhores flows com o resto do mundo.
Como começar?
Antes de você começar, você precisa garantir que seu computador possui uma instalação do Node.js, de preferencia com as ultimas atualizações. Também, tenha em mente que o Node-RED não oferece mais suporte para as versões 0.12.x ou 0.10.x
Com relação ao hardware, você consegue encontrar instruções especificas para o Raspberry Pi, BeagleBone Black, e Windows. Usuários de Linux e OSX devem manter em mente que eles precisam instalar as versões dos pacotes que são especificas para os seus sistemas operacionais ou obter a última versão LTS (suporte de longo termo) do site.