Mean Stack - Aplicações Web Modernas com MEAN

997 visualizações

Publicada em

Palestra do Software Freedom Day Belém, que ocorreu no dia 19/09/2014 no CTIC - UFPA - Universidade Federal do Pará.

Apresentando a pilha tecnológica MongoDB, ExpressJS, AngularJS, NodeJS.
Vantagens, Desvantagens e como começar.
Introdução ao projeto open-source MolotovSeries

Publicada em: Tecnologia
0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
997
No SlideShare
0
A partir de incorporações
0
Número de incorporações
10
Ações
Compartilhamentos
0
Downloads
21
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Mean Stack - Aplicações Web Modernas com MEAN

  1. 1. Aplicações Web Modernas com MEAN Stack João Gabriel Lima www.jgabriellima.com jgabriel.ufpa@gmail.com
  2. 2. QQQQuuuueeeemmmm ssssoooouuuu Arquiteto de Soluções Engenheiro da Computação Mestrando no PPGEE Inteligência Computacional Mineração de Dados BigData Stream Computing Business Intelligence
  3. 3. Pilha de Tecnologias para o desenvolvimento de aplicações Web modernas e robustas
  4. 4. MONGODB - VANTAGENS ● Velocidade ● Sem necessidade de um ORM ● Acesso mais natural aos dados ● Sem schema / sem migrations (com exceções) ● Failovercautomático ● Possibilidade de escalar escritas com sharding
  5. 5. - Orientado a documentos (JSON) - Sem Schema - Indíces - Sharding (Escala horizontalmente) - Javascript
  6. 6. Por que usar NoSQL? ● Novos paradigmas (nem tão novos assim); ● Funcionalidades; ● Escalabilidade; ● Performance; ● Não ficar preso a modelagem;
  7. 7. Volume de dados ● Grande volume é relativo, o que você considera grande? – Dados que crescem exponencialmente; – Agregam muitos valores dinamicamente; – Não precisam de modelagem;
  8. 8. Considere uso de MongoDB se... ● Está usando muito cache em sua aplicação; ● Os dados estão crescendo de forma exponencial; ● Precisa de processamento em tempo real; ● Gosta de desenvolvimento ágil; ● Sua aplicação é “beta perpétua”; ● Tem dificuldade para trabalhar com modelo relacional; ● Usa muito “join” na sua aplicação relacional;
  9. 9. JavaScript no Servidor Não é baseado em threads Eficiente e altamente escalável
  10. 10. HHiissttóórriiaa Somente 5 anos de vida (criado em 2009) Lead e criador: Ryan Dahl 2010: começa a ganhar mais popularidade 2011 surge NPM suporte nativo a Windows 2012: Novo lead: Isaac Schlueter (npm) 2014 Novo lead: Timothy Fontaine “bug fixing, performance tuning, staying up to date with the V8 engine”
  11. 11. OO qquuee éé NNooddeeJJSS Ambiente de execução e bibliotecas para rodar JavaScript Independente de qualquer navegador Multiplataforma (Linux, Windows, Mac, etc) Open Source (https://github.com/joyent/node) Single threaded
  12. 12. Loop de eventos com uma única thread Work queue Consulta o banco A única thread Resultados do BD Resultados do BD Novo request Novo request Timeout de pooling MMooddeelloo aassssíínnccrroonnoo
  13. 13. NNooddee éé…… Excelente para: Bom para: Apps CRUD “Forms over data” Rails/ASP.NET um pouco mais maduros Processamento intenso Codificação de vídeo, etc. Mas ele pode chamar para o codificador Comunicação em tempo real Sockets, polling, etc. Serviços de rede customizados Media servers, proxies, etc. JSON web services Pequena camada de aplicação sobre o BD Interfaces web focadas no cliente Qualquer coisa que você faria com WebAPI Ruim para:
  14. 14. Quem usa?
  15. 15. O que é? • Framework JavaScript com grande foco em HTML; • Conceito MVC; • Desenvolvido pela Google; • Permite uma padronização de arquitetura “enterprise” em uma aplicação web dinâmica; • Permite criação de novas tags em HTML para seu navegador interpretar; • Suporta os navegadores: IE8+, Chrome, Firefox, Safari e Opera;
  16. 16. Principais features; • Bootstrap; • Two-way Data-Binding; • Templates; • Repeaters; • Filters; • Injeção de Dependência; • Templates; • Routes; • Eventos; • RESTful;
  17. 17. Outras Iniciativas
  18. 18. Aplicações Web Modernas com MEAN Stack
  19. 19. Como começar? http://mean.io/#!/
  20. 20. Como começar? http://meanjs.org/
  21. 21. BBooiilleerrppllaatteess
  22. 22. Aplicações Web Modernas com MEAN Stack João Gabriel Lima www.jgabriellima.com jgabriel.ufpa@gmail.com

×