Nodejs é uma plataforma de desenvolvimento para aplicações em tempo real e de alta escalabilidade utilizando Javascript no lado servidor, tendo sido criado em 2009 por Ryan Dahl para facilitar o desenvolvimento desse tipo de aplicação. Nodejs possui características como ser orientado a eventos, não bloqueante e utilizar o mesmo Javascript tanto no frontend quanto no backend.
2. Nodejs
JavaScript no server-side
● Nascido em 2009, pelo criador Ryan Dahl junto com 14
colaboradores no início dessa jornada
● Construído sobre o engine v8 JavaScript do Google Chrome
● Utiliza Javascript como linguagem
● Muito popular – um dos repositórios mais seguido no github
● Muitos módulos disponíveis
http://nodejs.org/
3. O problema a ser solucionado!
O problema principal que eles queriam resolver com essa
plataforma foi a de facilitar o desenvolvimento de
aplicações real-time e de alta escalabilidade com isso
surgiu o Node.js.
4. O que você ganha com isso?
● Vai aprender uma tecnologia nova.
● Vai perceber que Node.js é simples de aprender,
principalmente se você já trabalha com Javascript.
● Vai dominar uma tecnologia poderosa que possui recursos que
vão desde a criação de um simples website até um sistema
web com interações em tempo-real.
● Se você é programador front-end, vai amar Node.js
simplesmente pelo fato de trabalhar com Javascript no backend também.
5. Principais características
● Linguagem Google Chrome Javascript V8
● Orientado à eventos de I/O
● Threads Não-Bloqueantes (Single Thread)
● Server-side assíncrono
6. Linguagem Google Chrome
Javascript V8
● Javascript no servidor
● Curva de aprendizado pequena
● Javascript no server-side da aplicação e o mesmo que
conhecemos
● Foco maior na regra de negócio, como utilizar os diversos
módulos e Design Patterns do Javascript
8. Módulos em Node.JS
● Módulos são cruciais para construção de aplicações em
Node
● Padrão CommonJS na construção dos módulos
● Módulos do Núcleo do Node
● - Para trabalhar com sistema de arquivos existe o módulo
fs e para redes os módulos são net (TCP), http, dgram
(UDP), entre outros.
9. NPM
(Node Package Manager)
Node Package Manager, é o módulo de grande importância
para projetos Node. Pois ele é um módulo global instalado
para gerenciar a instalação de módulos no projeto, possui
comandos semelhantes a um gerenciador de repositórios
do Linux como apt-get, pacman, yum e outros.
10. Expresso
Módulo voltado para realização de testes unitários em
funções Javascript, cujo seus recursos seguem os conceitos
da metodologia TDD - Test-Driven Development.
11. Stylus
Framework voltado para gerenciamento dinâmico de CSS.
Suas funcionalidades em destaque são: Mixin, Mixin
parametrizáveis, variáveis para propriedades dos seletores,
operadores com números, funções e namespaces, além de
outras funcionalidades. Muito útil para implementar
estilizações CSS complexas de forma produtiva e eficiente.
12. Socket.IO
Framework cross-browser para comunicação real-time
através de mensagens em broadcast. Possui integração
com WebSockets, além de possuir o seu próprio script para
trabalhar no lado cliente.
13. Jade
Um template engine muito famoso para Node.js, para
muitos é considerado uma versão melhorada do Haml, pelo
fato de possuir uma síntaxe limpa e de fácil aprendizado.
Permite trabalhar com variáveis e diversos comandos de
servidor dentro da própria view e também permite criar
partials no template.
14. Instalação
Para instalar o node e o NPM no ubuntu é muito fácil.
Abra o console e execute os seguintes comandos:
sudo apt-get update
sudo apt-get install -y python-software-properties
python g++ make
sudo add-apt-repository -y ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs
ou então, dependendo da sua versão do ubuntu.
sudo apt-get install nodejs
Para instalar o NPM basta executar os seguinte
comando
curl http://npmjs.org/install.sh | sudo sh
15. Vamos testar, escrevendo um
helloworld.js
Abra um editor de texto de sua preferencia e digite:
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello Worldn');
}).listen(1337, "127.0.0.1");
console.log('Server running at http://127.0.0.1:1337/');
salve e rode o arquivo usando o comando:
node helloworld.js
após rodar, será exibido no console o texto Hello World.
Node.js é uma plataforma para construção de aplicações de rede (especialmente do lado
do servidor) altamente escalaveis. Node.js usa JavaScript como linguagem de script, e
alcança um alto rendimento devido ao fato de trabalhar com Threads Não-Bloqueantes
(Single Thread).