O documento resume os principais pontos sobre a Cobli, uma empresa de IoT que conecta veículos à internet para aumentar a eficiência logística. A apresentação discute sobre Node.js, callbacks, promises, async/await e o framework Koa. Também aborda como a Cobli usa engenharia de software para otimizar as operações de suas frotas.
6. COBLI | GENESIS GROUP & AGTECH
www.cobli.co
Otimizando a eficiência
logística e minimizando
o risco
SOBRE A COBLI
7. NODE.JS
www.cobli.co
Nosso sistema
gera valor para
frotas em 4 pilares
SOBRE A COBLI
CONTROLE DE OPERAÇÕES
OTIMIZAÇÃO DE ROTAS
REDUÇÃO DE GASTOS
COMPLIANCE
Monitoramento no painel Cobli
8. www.cobli.co
NODE.JS
Já dirigimos mais de
100 milhões de km com
nossas frotas
Estamos presentes em mais de 100 cidades
de 4 países e continuamos expandindo
+50 Indústrias +600Clientes
Centenas de clientes em todos os estados do BrasilClientes em mais de
50 indústrias
SOBRE A COBLI
11. NODE.JS
www.cobli.co 11
Node
Callbacks & Promises & async
Node + Typescript
Node.js
Vamos falar um pouco sobre o que é,
como funciona e suas características!
KOA
Cobli
AGENDA
12. NODE.JS
www.cobli.co 12
A V8 Engine é o motor
por trás do Node
Engine
WebAssembly e Javascript
Mais performática
Permite que operações
complexas sejam executadas
em C++ ao invés de JS
C++
Escrita em C++ permite
que qualquer código em
C++ seja exposto para JS
V8 ENGINE
14. NODE.JS
www.cobli.co 14
Event Loop
● Idle, Prepare
Utilizado para operações internas do Node
EVENTS
● Timers
Executa callbacks que foram criados por
setTimeout() e setInterval()
● Pending Callbacks
Executa callbacks de I/O que serão diferidos para o
próximo loop
15. NODE.JS
www.cobli.co 15
Event Loop
● Close Callbacks
Alguns callbacks de fechamento
EVENTS
● Poll
Recebe novos callbacks de I/O, executa callbacks
relacionados à I/O (quase todos com exceções de
callbacks de fechamento, os que foram criados por timers
e por setImmediate())
● Check
Callbacks de setImmediate() são lidados aqui
20. NODE.JS
www.cobli.co 20
Callbacks são funções!
Nada além disso
Como vimos, o que nos permite fazermos uma programação assíncrona, é o Event Loop.
A maneira que encontramos de programar deste jeito, foi utilizando os callbacks!
ASYNC
23. NODE.JS
www.cobli.co 23
Promises.
Para nos salvar!
Surgem como uma alternativa para callbacks, com a ideia de lidar melhor
com código assíncrono e eliminar o Callback hell!
ASYNC
30. NODE.JS
www.cobli.co 30
Callbacks & Promises & async
Node + Typescript
Typescript
Vamos falar um pouco sobre o que é o
Typescript e se é possível utilizá-lo com Node.
KOA
Cobli
Node
AGENDA
32. NODE.JS
www.cobli.co 32
Bons motivos para
utilizá-lo
Type-Safety
Ajuda adicionando tipos em uma
linguagem dinâmica.
Grandes bases de código
Ajuda na manutenção de grandes
bases de código, os tipos servem
como interfaces para os
desenvolvedores.
State of the art JS
Todas as alterações mais recentes em JS
podem ser encontradas em TS, como o
código é compilado, se tornando um JS
que poderá ser executado em qualquer
lugar!
TYPESCRIPT
33. NODE.JS
www.cobli.co 33
Maus motivos para
utilizá-lo
Runtime Safety
Vou garantir que o meu código não
quebre em runtime!
NO MORE TESTS! WOW
Como estou tipando meu código, testes
não são mais necessários, certo?
TYPESCRIPT
35. NODE.JS
www.cobli.co 35
Callbacks & Promises & async
Yet another JS
framework...
É um framework feito pelo time por trás do Express.js,
ao invés de lidar com callbacks, foi construído em cima
de Promises e Async/Await. A ideia é prover um
framework mais leve que o Express.js e com melhor
tratamento de erros.KOA
Cobli
Node
Node + Typescript
AGENDA