nodejs justdigital
Post on 13-Jan-2015
351 Views
Preview:
DESCRIPTION
TRANSCRIPT
Ricardo GonçalvesDeveloper
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/
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.
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 back-end também.
Principais características
● Linguagem Google Chrome Javascript V8
● Orientado à eventos de I/O
● Threads Não-Bloqueantes (Single Thread)
● Server-side assíncrono
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
Threads Não-BloqueantesThreads Não-Bloqueantes = Cardume
Threads Bloqueantes = Trânsito
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.
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.
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.
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.
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.
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.
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
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 World\n');
}).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.
Para finalizarmos, o
famosochat em nodejs
top related