Desenvolvimento

Publicidade

Ultimamente tenho buscado conhecer alguns frameworks e bibliotecas não tão famosos no mar de opções que temos em JavaScript. Dentre eles, conheci o Sails.js.

Neste artigo vou mostrar como criar uma aplicação padrão nele.

O que é o Sails js?

sailsjs.com

O Sails é um framework MVC (Model-View-Controller), com suporte para os requisitos de aplicações modernas, como APIs orientadas a dados com uma arquitetura escalável e orientada a serviços.

Ele é 100% feito em JavaScript, suporta qualquer banco de dados (poderoso Object-Relational Mapper), vem com blueprints que ajudam a inicializar o back-end sem escrever código, possui um front-end compatível com qualquer framework front-end, integração facilitada com websocket, entre outras funcionalidades.

Eu fiz o famoso “get started” e também algumas alterações para que a homepage da aplicação ficasse assim:

Para instalar o sails globalmente, execute o seguinte comando:

npm install sails -g

Para gerar um novo aplicativo, execute o seguinte comando:

sails new (nome-do-projeto)

Serão exibidas duas opções de projeto: Web app e empty. A web app já cria uma base para a nossa aplicação com diversas integrações (escolhi essa) e empty cria uma estrutura sem quase nenhuma configuração inicial.

Entre no diretório da aplicação e execute o seguinte comando para iniciar a aplicação:

sails lift

No terminal, teremos as informações a seguir:

Ao acessar a porta informada, veremos a informação default da aplicação. Para ver as alterações que fiz na minha homepage, acesse este repositório.

Diante da estrutura de uma WebApp, vamos explorar o conteúdo de algumas destas pastas:

Começando pela pasta api:

Controllers

São arquivos JavaScript que contêm lógica para interagir com modelos e renderizar visualizações apropriadas para o cliente.

Helpers

São funções compartilhadas que podem ser chamadas de qualquer parte no seu aplicativo.

Models

São as estruturas que contêm dados para o seu aplicativo Sails.

Polices

Um arquivo de política é um arquivo JavaScript que armazena o que é essencial no middleware Express para autenticar o acesso à ações do controlador na sua aplicação.

Na pasta assets:

Dependencies

Armazene aqui as suas dependências do lado do cliente, como Vue.js, Bootstrap ou jQuery.

Images

Armazene os arquivos de imagem que precisam ser estaticamente hospedados pelo seu aplicativo.

JS

Onde armazenamos os arquivos JS do lado do cliente, estaticamente hospedados pela aplicação.

Styles

Arquivos CSS que serão armazenados estaticamente na aplicação.

Templates

Templates HTMLs para nossa aplicação.

Na pasta config:

Env

Armazena configurações específicas do ambiente. Por exemplo, chaves de API, senhas e dados remotos.

Locales

Informações utilizadas pela sua aplicação para suportar os diferentes locais (ambientes) do cliente visitante.

Na pasta tasks:

Config

Armazena a configuração de tarefas padrão do Grunt.

Registrer

Contém as tarefas Grunt executadas por padrão

Na pasta views:

Layouts

Contém o layout padrão da sua aplicação, layout.ejs. Temos a possibilidade de adicionar outros layouts conforme desejar incluir na aplicação.

Pages

Contém a página inicial e qualquer outra página que seja adicionada.

E na raiz, podemos destacar o arquivo gruntfile.js que organiza o gerenciamento dos nossos assets.

Essa estrutura padrão do webapp gera uma série de arquivos e permite a adição ou remoção dos mesmos. Ao criar o projeto empty, grande parte das configurações seriam feitas individualmente.

Algumas fontes e demais informações sobre o sails js: