SlideShare ist ein Scribd-Unternehmen logo
1 von 50
Desenvolvendo uma
aplicação Full Javascript
JS
DENIS VIEIRA
DJANILSON ALVES
JOÃO VICTOR BERTA
O QUE É ?
•MONGODB
•EXPRESS
•ANGULARJS
•NODEJS
NoSQL ( Non Relational DB)
• Bancos de dados que não utilizam o mesmo
esquema de tabelas que os SGBDs comuns;
• Altamente escaláveis;
• Tipos: Documentos(MongoDb),
Chave-Valor(Redis), Grafos(Neoj4).
COMPARAÇÃO
SQL
• Armazena os dados no
formato de tabelas, em
colunas e linhas;
• Realiza Joins entre as
Diferentes tabelas;
• Utiliza os princípios ACID;
• Possui o controle de
transações.
NOSQL
• Armazena os dados em
diversos formatos a
depender do objetivo;
• Não possui estrutura
pré-definida;
• Escalabilidade
horizontal(Sharding).
Memcached/ Key
Value-Store
MongoDb
Join
Transações
Relational
SGBD
• Desenvolvido em C++
• Interface em JS
• Orientado a documentos JSON
• Genérico
• Schemaless
• Replica
• Sharding
Node.js is a platform built on Google’s V8 JavaScript engine for easily
building fast scalable network applicatioons. Node.js uses an event-driven,
non-blocking I/O model that makes it lightweight and efficient, data-intensive
real-time applications that run across distributed devices
•Event Driven;
•Single-Threaded;
•Event-loop;
•Asynchronous I/O.
EVENT DRIVEN
Single-Threaded / Event-loop
Asynchronous I/O
• I/O era o gargalo das aplicações
• Não espera as operações de I/O acabarem para
continuar executando.
Asynchronous I/O
Callback Listeners
• Gerenciador de Pacotes
• Repositório
WEB SERVER
• Utilizado para aplicação que necessitam de
comunicação em tempo real;
• Abstrai a complexidade dos WebSockets;
• Fornece uma API simples para a aplicação
cliente se comunicar.
PROS/CONS
PROS
• Aplicação em tempo
real;
• Chat;
• Aplicação Web;
• Banco de dados não
relacionais;
• Data streaming;
CONS
• Cpu intensive;
• Necessidade de
utilizar bancos
relacionais.
Automatize seu Workflow
Por que usar GULP ?
• Eficiente
Gulp usa o poder de streams do NodeJs, o que permite
builds muitos mais rápidos.
• Fácil de usar
Código para definir as configuração, o Gulp mantém as
coisas simples e faz tarefas complexas gerenciável.
• Fácil de aprender
Com uma API mínima, aprende-se a trabalhar com o
Gulp quase que na hora!
Instalação
Gulpfile.js
• Importe o gulp e os plugins associados às tarefas
que deseja automatizar
5 fatos importantes a saber para criar
e executar suas tarefas do gulpfile.js
gulp.task(glob, [deps], fn)
• Define uma tarefa com dependências opcionais
Executando o gulpfile.js
• Default, engloba todas as outras tarefas. Será executada
ao entrar Gulp na linha de comando sem parâmetros
adicionais.
Gulpfile watch
• Watch, mantem o gulp rodando e esperando por eventos
para tratá-los
Pré-Processadores CSS
Pré-Processadores CSS
• Um pré-processador é um programa que
recebe texto e efetua conversões léxicas
nele.
• As conversões podem incluir substituição
de macros, inclusão condicional e inclusão
de outros ficheiros.
Premissas
• Syntactically
Awesome Style
Sheets
• (Folhas de estilo
sintaticamente incríveis)
• Don’t Repeat
Yourself (DRY CSS)
• CSS 'componentizado'
Features
• Variáveis
• Mixins
• Operacionais
• Condicionais
• loops
Don’t Repeat Yourself
(DRY CSS)
• Mude a cor de uma variável e o compilador faz o
resto.
CSS Aninhado
MIXINS
Funções
@Import “fileName”;
SASS + GULP
Estrutura de arquivos
Componetizando:
Pra cada projeto uma
public_html diferente mas
a mesma SCSS.
No geral o que mais muda
é o diretório pages
Referências
• Repositorio do Gulp no github
https://github.com/gulpjs
• Travismaynard - Get started with Gulp
https://travismaynard.com/writing/getting-started
-with-gulp
• Repositório do Sass no github
https://github.com/sass/sass
• Sass guide
http://sass-lang.com/guide
Por que usar ?
• Data Binding de 2
vias
• Separação Lógica e
Visão
• Testabilidade
(Unitários e
Integração)
• Componentização
• Filtros, ordenação, etc.
• Extensa documentação
e components de
terceiros
• SPA, Single Page
Application
• Comunidade Ativa
• Mantenedor: Google!
Alguns
poderes do
AngularJS
https://github.com/fromdenisvieira/angularjs-examples
Guia Essencial ANGULARJS
• Aprenda AngularJS com estes 5 Exemplos Práticos:
-http://javascriptbrasil.com/2013/10/23/aprenda-angularjs-com-estes-5-exemplos-p
raticos/
• Guia Definitivo para se aprender AngularJS em um dia:
-http://javascriptbrasil.com/2013/10/18/guia-definitivo-para-aprender-angularjs-em
-um-dia/
• Tutorial de um CRUD Básico: http://www.youtube.com/watch?v=iCQ3qic_nGg
• Lista de muitos e muitos recursos, vídeos e tutoriais:
https://github.com/jmcunningham/AngularJS-Learning
• Tutorial Oficial do AngularJS: http://docs.angularjs.org/tutorial
• AngularJS Guide: http://docs.angularjs.org/guide/overview
• Diversos tutoriais de varias features do AngularJS:
https://egghead.io/technologies/angularjs
• Design Patterns and Best Practices
: http://trochette.github.io/Angular-Design-Patterns-Best-Practices/#/intro
Prática !!!
A APLICAÇÃO
•SINGLE-PAGE APPLICATION
•BANCO DE DADOS NOSQL
•ARQUITETURA MVC
•API RESTFUL
•WEBSOCKET
JUNTANDO TUDO
Gerenciamento do Projeto
Controle de
Versão
Hospedagem da API
DEMONSTRAÇÃO
OBRIGADO !

Weitere ähnliche Inhalte

Was ist angesagt?

Azure Cosmos DB para Desenvolvedores - From Zero to Hero - Março-2018
Azure Cosmos DB para Desenvolvedores - From Zero to Hero - Março-2018Azure Cosmos DB para Desenvolvedores - From Zero to Hero - Março-2018
Azure Cosmos DB para Desenvolvedores - From Zero to Hero - Março-2018Renato Groffe
 
Construindo um Data Lake - TDC SP 2018
Construindo um Data Lake - TDC SP 2018Construindo um Data Lake - TDC SP 2018
Construindo um Data Lake - TDC SP 2018Daniel Cassiano
 
Apresentação - MongoDB
Apresentação - MongoDBApresentação - MongoDB
Apresentação - MongoDBJDSBD
 
Lições Aprendidas MongoDB
Lições Aprendidas MongoDBLições Aprendidas MongoDB
Lições Aprendidas MongoDBFabiano Modos
 
Introdução a NoSQL com MongoDB e FireDAC
Introdução a NoSQL com MongoDB e FireDAC Introdução a NoSQL com MongoDB e FireDAC
Introdução a NoSQL com MongoDB e FireDAC Fernando Rizzato
 
NoSQL no Microsoft Azure - Global Azure Bootcamp 2017
NoSQL no Microsoft Azure - Global Azure Bootcamp 2017NoSQL no Microsoft Azure - Global Azure Bootcamp 2017
NoSQL no Microsoft Azure - Global Azure Bootcamp 2017Renato Groff
 
Introdução ao php
Introdução ao phpIntrodução ao php
Introdução ao phpMiguel Pinto
 
NPA - NoSQL Persistence API
NPA - NoSQL Persistence APINPA - NoSQL Persistence API
NPA - NoSQL Persistence APIWesley Fuchter
 
SQLCLR - Transformando seu SQL Server em algo muito além de um banco de dados
SQLCLR - Transformando seu SQL Server em algo muito além de um banco de dadosSQLCLR - Transformando seu SQL Server em algo muito além de um banco de dados
SQLCLR - Transformando seu SQL Server em algo muito além de um banco de dadosDirceu Resende
 
A importância de padronizar nosso CSS
A importância de padronizar nosso CSSA importância de padronizar nosso CSS
A importância de padronizar nosso CSSFernando Henriques
 
Cenário das Plataformas de Dados 2017/2018
Cenário das Plataformas de Dados 2017/2018Cenário das Plataformas de Dados 2017/2018
Cenário das Plataformas de Dados 2017/2018Raul Oliveira
 
FrontInVale 2016: Webpack - A evolução do asset pipeline (Lightning Talk)
FrontInVale 2016: Webpack - A evolução do asset pipeline (Lightning Talk)FrontInVale 2016: Webpack - A evolução do asset pipeline (Lightning Talk)
FrontInVale 2016: Webpack - A evolução do asset pipeline (Lightning Talk)Aryel Tupinambá
 
NoSQL no Azure - Azure Tech Nights - 2017
NoSQL no Azure - Azure Tech Nights - 2017NoSQL no Azure - Azure Tech Nights - 2017
NoSQL no Azure - Azure Tech Nights - 2017Renato Groff
 

Was ist angesagt? (17)

Azure Cosmos DB para Desenvolvedores - From Zero to Hero - Março-2018
Azure Cosmos DB para Desenvolvedores - From Zero to Hero - Março-2018Azure Cosmos DB para Desenvolvedores - From Zero to Hero - Março-2018
Azure Cosmos DB para Desenvolvedores - From Zero to Hero - Março-2018
 
Construindo um Data Lake - TDC SP 2018
Construindo um Data Lake - TDC SP 2018Construindo um Data Lake - TDC SP 2018
Construindo um Data Lake - TDC SP 2018
 
Apresentação - MongoDB
Apresentação - MongoDBApresentação - MongoDB
Apresentação - MongoDB
 
Lições Aprendidas MongoDB
Lições Aprendidas MongoDBLições Aprendidas MongoDB
Lições Aprendidas MongoDB
 
Introdução a NoSQL com MongoDB e FireDAC
Introdução a NoSQL com MongoDB e FireDAC Introdução a NoSQL com MongoDB e FireDAC
Introdução a NoSQL com MongoDB e FireDAC
 
NoSQL no Microsoft Azure - Global Azure Bootcamp 2017
NoSQL no Microsoft Azure - Global Azure Bootcamp 2017NoSQL no Microsoft Azure - Global Azure Bootcamp 2017
NoSQL no Microsoft Azure - Global Azure Bootcamp 2017
 
Introdução ao php
Introdução ao phpIntrodução ao php
Introdução ao php
 
NPA - NoSQL Persistence API
NPA - NoSQL Persistence APINPA - NoSQL Persistence API
NPA - NoSQL Persistence API
 
JavaScript
JavaScriptJavaScript
JavaScript
 
Dojo :: Liquibase
Dojo :: LiquibaseDojo :: Liquibase
Dojo :: Liquibase
 
SQLCLR - Transformando seu SQL Server em algo muito além de um banco de dados
SQLCLR - Transformando seu SQL Server em algo muito além de um banco de dadosSQLCLR - Transformando seu SQL Server em algo muito além de um banco de dados
SQLCLR - Transformando seu SQL Server em algo muito além de um banco de dados
 
Redis
RedisRedis
Redis
 
A importância de padronizar nosso CSS
A importância de padronizar nosso CSSA importância de padronizar nosso CSS
A importância de padronizar nosso CSS
 
Cenário das Plataformas de Dados 2017/2018
Cenário das Plataformas de Dados 2017/2018Cenário das Plataformas de Dados 2017/2018
Cenário das Plataformas de Dados 2017/2018
 
FrontInVale 2016: Webpack - A evolução do asset pipeline (Lightning Talk)
FrontInVale 2016: Webpack - A evolução do asset pipeline (Lightning Talk)FrontInVale 2016: Webpack - A evolução do asset pipeline (Lightning Talk)
FrontInVale 2016: Webpack - A evolução do asset pipeline (Lightning Talk)
 
Java web
Java webJava web
Java web
 
NoSQL no Azure - Azure Tech Nights - 2017
NoSQL no Azure - Azure Tech Nights - 2017NoSQL no Azure - Azure Tech Nights - 2017
NoSQL no Azure - Azure Tech Nights - 2017
 

Ähnlich wie Desenvolvendo uma Aplicação Javascript Fulll

Desenvolvendo uma aplicacao Full Javascript
Desenvolvendo uma aplicacao Full JavascriptDesenvolvendo uma aplicacao Full Javascript
Desenvolvendo uma aplicacao Full JavascriptDenis Vieira
 
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadospichiliani
 
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadospichiliani
 
Utilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesUtilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesChristiano Anderson
 
MongoDB - Apresentação
MongoDB - ApresentaçãoMongoDB - Apresentação
MongoDB - ApresentaçãoTerra / Neo
 
O que é e como devo usar o REDIS? - 1o Mobile REST Summit
O que é e como devo usar o REDIS? - 1o Mobile REST SummitO que é e como devo usar o REDIS? - 1o Mobile REST Summit
O que é e como devo usar o REDIS? - 1o Mobile REST SummitMario Guedes
 
Introdução ao NoSQL e modelagem de dados com MongoDB
Introdução ao NoSQL e modelagem de dados com MongoDBIntrodução ao NoSQL e modelagem de dados com MongoDB
Introdução ao NoSQL e modelagem de dados com MongoDBJhonathan de Souza Soares
 
TDC2012: Apps RIA com Sencha GXT 3 e GWT
TDC2012: Apps RIA com Sencha GXT 3 e GWTTDC2012: Apps RIA com Sencha GXT 3 e GWT
TDC2012: Apps RIA com Sencha GXT 3 e GWTLoiane Groner
 
No sql Orientado a documento
No sql Orientado a documentoNo sql Orientado a documento
No sql Orientado a documentoAlex Martins
 
Estudo de técnicas de persistência e acesso concorrente a ontologias
Estudo de técnicas de persistência e acesso concorrente a ontologiasEstudo de técnicas de persistência e acesso concorrente a ontologias
Estudo de técnicas de persistência e acesso concorrente a ontologiasHelio Henrique L. C. Monte-Alto
 
Bancos NoSQL no Microsoft Azure
Bancos NoSQL no Microsoft AzureBancos NoSQL no Microsoft Azure
Bancos NoSQL no Microsoft AzureJoel Rodrigues
 
L'esprit de l'escalier
L'esprit de l'escalierL'esprit de l'escalier
L'esprit de l'escalierGleicon Moraes
 

Ähnlich wie Desenvolvendo uma Aplicação Javascript Fulll (20)

Desenvolvendo uma aplicacao Full Javascript
Desenvolvendo uma aplicacao Full JavascriptDesenvolvendo uma aplicacao Full Javascript
Desenvolvendo uma aplicacao Full Javascript
 
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dados
 
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dados
 
Mongo
MongoMongo
Mongo
 
Mongo db
Mongo dbMongo db
Mongo db
 
Utilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesUtilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentes
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
Web Scale Data Management
Web Scale Data ManagementWeb Scale Data Management
Web Scale Data Management
 
MongoDB - Apresentação
MongoDB - ApresentaçãoMongoDB - Apresentação
MongoDB - Apresentação
 
O que é e como devo usar o REDIS? - 1o Mobile REST Summit
O que é e como devo usar o REDIS? - 1o Mobile REST SummitO que é e como devo usar o REDIS? - 1o Mobile REST Summit
O que é e como devo usar o REDIS? - 1o Mobile REST Summit
 
Mongo db slides
Mongo db slidesMongo db slides
Mongo db slides
 
Tema3.pptx
Tema3.pptxTema3.pptx
Tema3.pptx
 
Tema3.pptx
Tema3.pptxTema3.pptx
Tema3.pptx
 
NoSql e NewSql
NoSql e NewSqlNoSql e NewSql
NoSql e NewSql
 
Introdução ao NoSQL e modelagem de dados com MongoDB
Introdução ao NoSQL e modelagem de dados com MongoDBIntrodução ao NoSQL e modelagem de dados com MongoDB
Introdução ao NoSQL e modelagem de dados com MongoDB
 
TDC2012: Apps RIA com Sencha GXT 3 e GWT
TDC2012: Apps RIA com Sencha GXT 3 e GWTTDC2012: Apps RIA com Sencha GXT 3 e GWT
TDC2012: Apps RIA com Sencha GXT 3 e GWT
 
No sql Orientado a documento
No sql Orientado a documentoNo sql Orientado a documento
No sql Orientado a documento
 
Estudo de técnicas de persistência e acesso concorrente a ontologias
Estudo de técnicas de persistência e acesso concorrente a ontologiasEstudo de técnicas de persistência e acesso concorrente a ontologias
Estudo de técnicas de persistência e acesso concorrente a ontologias
 
Bancos NoSQL no Microsoft Azure
Bancos NoSQL no Microsoft AzureBancos NoSQL no Microsoft Azure
Bancos NoSQL no Microsoft Azure
 
L'esprit de l'escalier
L'esprit de l'escalierL'esprit de l'escalier
L'esprit de l'escalier
 

Kürzlich hochgeladen

ATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docx
ATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docxATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docx
ATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docx2m Assessoria
 
Convergência TO e TI nas Usinas - Setor Sucroenergético
Convergência TO e TI nas Usinas - Setor SucroenergéticoConvergência TO e TI nas Usinas - Setor Sucroenergético
Convergência TO e TI nas Usinas - Setor SucroenergéticoMarcio Venturelli
 
ATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docx
ATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docxATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docx
ATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docx2m Assessoria
 
Palestras sobre Cibersegurança em Eventos - Paulo Pagliusi
Palestras sobre Cibersegurança em Eventos - Paulo PagliusiPalestras sobre Cibersegurança em Eventos - Paulo Pagliusi
Palestras sobre Cibersegurança em Eventos - Paulo PagliusiPaulo Pagliusi, PhD, CISM
 
Aula 01 - Introducao a Processamento de Frutos e Hortalicas.pdf
Aula 01 - Introducao a Processamento de Frutos e Hortalicas.pdfAula 01 - Introducao a Processamento de Frutos e Hortalicas.pdf
Aula 01 - Introducao a Processamento de Frutos e Hortalicas.pdfInocencioHoracio3
 
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINAS
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINASCOI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINAS
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINASMarcio Venturelli
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
Entrevistas, artigos, livros & citações de Paulo Pagliusi
Entrevistas, artigos, livros & citações de Paulo PagliusiEntrevistas, artigos, livros & citações de Paulo Pagliusi
Entrevistas, artigos, livros & citações de Paulo PagliusiPaulo Pagliusi, PhD, CISM
 

Kürzlich hochgeladen (8)

ATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docx
ATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docxATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docx
ATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docx
 
Convergência TO e TI nas Usinas - Setor Sucroenergético
Convergência TO e TI nas Usinas - Setor SucroenergéticoConvergência TO e TI nas Usinas - Setor Sucroenergético
Convergência TO e TI nas Usinas - Setor Sucroenergético
 
ATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docx
ATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docxATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docx
ATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docx
 
Palestras sobre Cibersegurança em Eventos - Paulo Pagliusi
Palestras sobre Cibersegurança em Eventos - Paulo PagliusiPalestras sobre Cibersegurança em Eventos - Paulo Pagliusi
Palestras sobre Cibersegurança em Eventos - Paulo Pagliusi
 
Aula 01 - Introducao a Processamento de Frutos e Hortalicas.pdf
Aula 01 - Introducao a Processamento de Frutos e Hortalicas.pdfAula 01 - Introducao a Processamento de Frutos e Hortalicas.pdf
Aula 01 - Introducao a Processamento de Frutos e Hortalicas.pdf
 
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINAS
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINASCOI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINAS
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINAS
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Entrevistas, artigos, livros & citações de Paulo Pagliusi
Entrevistas, artigos, livros & citações de Paulo PagliusiEntrevistas, artigos, livros & citações de Paulo Pagliusi
Entrevistas, artigos, livros & citações de Paulo Pagliusi
 

Desenvolvendo uma Aplicação Javascript Fulll