Introdução ao NodeJS + SailsJS

Olá a toda comunidade! Meu nome é Bruno, e eu estive em DesdeLinux como um usuário. É hora de eu fazer minhas primeiras postagens nesta comunidade 🙂

Hoje eu trago para vocês um guia sobre NodeJS y sails.js

Node.js

É um ambiente de programação, baseado na linguagem Javascript com uma arquitetura orientada a eventos, ideal para programação assíncrona. Nó, é baseado no motor V8 do Google.
Ele mantém uma comunidade ativa de código aberto, que escreveu muitos módulos para facilitar nosso desenvolvimento.
Uma delas é soquete.io (Permite que o servidor envie atualizações em tempo real para o cliente, por exemplo, o rastreamento de um GPS)

O que é?

O Node foi projetado para situações em que o tráfego é muito grande, fazendo com que a lógica e o rendimento do servidor não sejam necessariamente maiores. E não só isso, mas em tempo real e com grande escalabilidade!

Por que Node?

1 é open source.
2) Se você já pensou em usar uma única linguagem no lado do servidor e do cliente, aqui está a solução.
3) Escalabilidade e Simultaneidade.
4) etc.

sails.js

Escolhi as velas, pelas seguintes características, além do fato de que, a meu ver, eram as mais legíveis em termos de código. Olho! existir MUITOS frameworks para Node, como é Express, Angular, teimoso, etc.

Captura de tela - 080913 - 13:21:50

O que é velas?

É uma Framework MVC que imita o modelo de rubi sobre trilhos (Sim, você ouviu corretamente: D) para a criação de aplicativos pequenos ou grandes com rapidez, facilidade e segurança. mais distante tem suporte para requisitos de aplicativos modernos. Não importa qual banco de dados você usa, Sails fornece uma camada de abstração, o que torna a escolha dela indiferente. Sails tem:

- A capacidade de criar API RESTfull JSON automaticamente
- Incorpora o módulo soquete.io.
- Gerar rotas automático para seus controladores.
- Fornece sistema de autenticação de usuários e controle de acesso baseado em funções.
- Grunhido como executor de tarefas (tarefas automáticas, como minificação, compilação, teste, etc)
- Ativos: Todos os arquivos em seus diretórios correspondentes (css, js) são unificado em um único arquivo e minimizado, para reduzir consideravelmente carregamento da página e número limitado de solicitações do navegador.

Instalação de Node.Js

O turorial que fiz com Ubuntu 13.04.

sudo apt-get install python-software-properties python g++ make
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs

Instalação Sails.Js

Última versão estável:
sudo npm -g install sails

Neste ponto sem erros, criamos um novo projeto! 😀

Crie o esqueleto do diretório:
sails new testProject

Entramos em nosso Projeto:
cd testProject

Iniciamos o servidor:
sails lift

Yeeeeeeeeeeah! nós entramos http://localhost:1337/

Captura de tela - 080913 - 13:02:34

A estrutura do nosso diretório deve ser semelhante a esta:
Captura de tela - 080913 - 13:07:57

API:
- Motoristas
- Adaptadores
- modelos
- Políticas
- Serviços

ATIVOS:
- imagens
- js
- estilos
favicon
robôs

CONFIGURAÇÃO:
- local
404.js, 500.js… ..
route.js
sessão.js
sockets.js …… ..

NODE_MÓDULOS:
- ejs (motor de template)
- grunhido
- otimista
- disco de velas

VISUALIZAÇÕES:
- Página inicial (aqui está o modelo raiz, localhost)
- 404.ejs
- 500.ejs
- layout.ejs (para quem usava rails, layouts.ejs se comporta como do que layouts.html. *)

EJS (Embedded Javascript) É um motor de template, mas não o único. Eu particularmente gosto mais de JADE

FIM

Até agora meu conhecimento, e espero ter ajudado a muitos ... Eu sou nuevo nesta tecnologia, então qualquer crítica construtiva é bem vindo 🙂

Esse post surgiu para fazer isso, pois estou desenvolvendo uma espécie de rede psicossocial (Nada de outro mundo). Com propósitos de aprendizagem, e poucos recursos. a ideia é fazer também um servidor doméstico que o suporte (Certamente faça um tutorial disso) Como eu disse antes, os recursos são poucos, então o otimização é muito importante. (e mesmo se eles não fossem muito ^^)


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   Arthur Shelby dito

    Estou surpreso com o quão fiel ele emula o RoR, embora muitos odeiem o RoR por seu baixo desempenho (sem configuração), que cria tendências de limpeza de código.

    O assunto é muito interessante, espero que continuem desenvolvendo, parabéns.

    1.    nano dito

      Eu não odeio RoR, a verdade é que a filosofia de Ruby de "há muitas maneiras de fazer a mesma coisa" geralmente é um problema porque nem todas são realmente as mais eficientes e quando você quer responder a uma pergunta, em muitas casos você tem aquele pequeno problema em que todos respondem com uma maneira diferente de fazer o mesmo e você tende a ficar mais confuso D:

      Em relação a este framework para o Node, por não ser para coisas grandes ou grandes, o Node é usado junto com outros frames como o Django para coisas específicas, acho que o exemplo do Mejorando.la é assim, eles constroem todo o site e gerenciam suas bases de dados com Django, mas os problemas de tempo real são deixados para o Node, embora eu não tenha certeza, então não posso falar muito sobre isso.

      1.    Jamin-Samuel dito

        Acho que é assim que você diz, eles usam Django para a base do site e Node para coisas em tempo real ... Bem, pelo menos é o que eu sempre ouço Freddy Vega dizer

        1.    Bruno cascio dito

          NodeJS não é como Django, PHP ou ruby. Mas é um servidor como Apache, Nginx, etc.

          Sails é o framework que faz uso de nodejs e express (outro framework) em conjunto com alguns módulos como socket.io, para a criação de aplicações web.

          Saudações!

          1.    Arnoldo RLF dito

            então se você quiser incluir um chat feito com nodejs com uma página em python com Django (para continuar com o exemplo de como melhorar.la), você teria que usar um frame, ou atribuir ao apache (se for esse o caso, eu tenho não tenho ideia de qual servidor usa python) o caminho http://miweb.com ya node.js http://miweb.com/chat e comunicá-los

  2.   Jamin-Samuel dito

    Ei, que super interessante….

    O que eu não terminei é por que o Node JS é usado para a web?

    1.    Arnoldo RLF dito

      é uma alternativa ao apache, com a vantagem de ser em tempo real (aplicativos que estão se comunicando o tempo todo e não apenas no momento da solicitação).

      1.    David Gómez dito

        NodeJS não é uma alternativa (ou substituição) para Apache, NGINX ou qualquer outro servidor web. NodeJS é um interpretador JavaScript para o servidor, permitindo a você criar aplicações com esta linguagem que de outra forma exigiriam o uso de linguagens como Java, Python, Ruby ou PHP.

        1.    Bruno cascio dito

          Sim, talvez eu tenha me expressado errado. O que eu queria transmitir é que o node.js executa seu próprio servidor e não precisa de terceiros para funcionar (apache, nginx, cherokee, etc)

          Saudações!

  3.   Arnoldo RLF dito

    muito bom, espero mais tutoriais para poder seguir o node.js e fazer algo em tempo real

    1.    Bruno cascio dito

      Deixo aqui um livro de 200 páginas, com uma introdução ao Node.js por meio do Koans. Ele tem uma entrada para Node.js e a "resolução" de uma parte de um problema colocado (o exemplo é o Twitter) com Express como a estrutura de cabeçalho ...

      http://nodejskoans.com/

      PS: Sails é feito em base Express, normalmente a maioria deles.

      Saudações!

  4.   elav. dito

    Excelente contribuição Bruno .. Bem-vindo 😀

    1.    Bruno cascio dito

      Obrigado a você e a toda a comunidade por deixarem fazer parte disso 🙂 Saudações!

  5.   Auros Zx dito

    Muito interessante Bruno 🙂

    1.    Bruno cascio dito

      Thanks!

  6.   A mulher esponja dito

    Excelente artigo. Muito obrigado.

    Atualmente, uso velas em alguns dos meus projetos. Gostaria de perguntar onde posso obter mais informações sobre controle de acesso baseado em funções para velas, se possível em espanhol, mas se não, em inglês. Gostaria de adicionar controle de acesso a uma de minhas páginas, mas desejo estabelecer permissões para alguns usuários de uma determinada rota e outros de outra rota. Isso é possível com velas? Não consigo encontrar muitas informações sobre isso.

    Obrigado e parabéns pelo artigo.

    Uma saudação
    Elvira.

    1.    Bruno cascio dito

      Olá Elvira!

      Em relação ao que você menciona, seja Sailsjs ou qualquer outro framework, o que você propõe está relacionado à modelagem dos dados e às restrições que o sistema impõe.

      Você pode criar algo como "grupos" (funções) com diferentes permissões e associar cada usuário a um deles.

      Particularmente nas velas, eles são chamados de "políticas" e você pode ver isso aqui: http://sailsjs.org/#/documentation/concepts/Policies

      Saudações e obrigado pelo seu comentário!

      1.    A mulher esponja dito

        Muito obrigado Bruno. Com suas instruções, encontrei uma solução elegante. Uma saudação