SlideShare une entreprise Scribd logo
1  sur  12
Télécharger pour lire hors ligne
M.E.A.N.
José Naves Moura Neto - outubro/2013
Padrões
L.A.M.P.
Do you remember LAMP?
Linux
Apache
MySQL
PHP
M.E.A.N.
Stack de tecnologias para
desenvolvimento de
aplicações web.
*** JAVASCRIPT ***
MongoDB

Banco de dados NoSQL
Documentos gravados no
formato JSON binário
(BSON)
Express
Micro framework
inspirado no Sinatra
(Ruby).
* servlet feelings
AngularJS

● Framework MVC
escrito pelo Google
(2009)
● Misko Hevery
● 17000 → 2500 loc
Nodejs

● Javascript fora do
brower (V8 engine)
● Single thread non
blocking IO
● Event loop
Pontos fortes

● Uma única linguagem de ponta a ponta
● JSON everywhere
● Altamente escalável
Pontos fracos

● Curva de aprendizagem ???
● Tecnologia recente ???
Só mais uma coisa
Uma stack deve ajudar
a resolver nosso
problema e não se
tornar mais um
problema.
Obrigado
@josenaves
github.com/josenaves

Contenu connexe

Tendances

Node js - O poder do JavaScript do lado do servidor
Node js  - O poder do JavaScript do lado do servidorNode js  - O poder do JavaScript do lado do servidor
Node js - O poder do JavaScript do lado do servidorRomulo Fagundes
 
Curso de Node.js e MongoDB - 02
Curso de Node.js e MongoDB - 02Curso de Node.js e MongoDB - 02
Curso de Node.js e MongoDB - 02Luiz Duarte
 
Node.js: 5 razões para começar a utilizar
Node.js: 5 razões para começar a utilizarNode.js: 5 razões para começar a utilizar
Node.js: 5 razões para começar a utilizarFilipe Falcão
 
Curso de Node.js e MongoDB - 04
Curso de Node.js e MongoDB - 04Curso de Node.js e MongoDB - 04
Curso de Node.js e MongoDB - 04Luiz Duarte
 
Node.js e a web do futuro
Node.js e a web do futuroNode.js e a web do futuro
Node.js e a web do futuroAlberto Souza
 
Node não é filme de Terror
Node não é filme de TerrorNode não é filme de Terror
Node não é filme de TerrorPaulo Pires
 
Ensinando Computação e Fazendo Ciência com Python
Ensinando Computação e Fazendo Ciência com PythonEnsinando Computação e Fazendo Ciência com Python
Ensinando Computação e Fazendo Ciência com PythonLuiz Cláudio Silva
 
Light Talk: Introdução sobre Node.js
Light Talk: Introdução sobre Node.jsLight Talk: Introdução sobre Node.js
Light Talk: Introdução sobre Node.jsCaio Ribeiro Pereira
 
SQL Server 2016 e 2017 para Desenvolvedores - Grupo Bandeirantes - Janeiro-2018
SQL Server 2016 e 2017 para Desenvolvedores - Grupo Bandeirantes - Janeiro-2018SQL Server 2016 e 2017 para Desenvolvedores - Grupo Bandeirantes - Janeiro-2018
SQL Server 2016 e 2017 para Desenvolvedores - Grupo Bandeirantes - Janeiro-2018Renato Groff
 
Web forms tagmapping
Web forms tagmappingWeb forms tagmapping
Web forms tagmappingNuno Gomes
 
Ruby on Rails - Introdução ao Framework
Ruby on Rails - Introdução ao FrameworkRuby on Rails - Introdução ao Framework
Ruby on Rails - Introdução ao FrameworkGuilherme Carlos
 

Tendances (19)

Node js - O poder do JavaScript do lado do servidor
Node js  - O poder do JavaScript do lado do servidorNode js  - O poder do JavaScript do lado do servidor
Node js - O poder do JavaScript do lado do servidor
 
Curso de Node.js e MongoDB - 02
Curso de Node.js e MongoDB - 02Curso de Node.js e MongoDB - 02
Curso de Node.js e MongoDB - 02
 
Node.js: 5 razões para começar a utilizar
Node.js: 5 razões para começar a utilizarNode.js: 5 razões para começar a utilizar
Node.js: 5 razões para começar a utilizar
 
Curso de Node.js e MongoDB - 04
Curso de Node.js e MongoDB - 04Curso de Node.js e MongoDB - 04
Curso de Node.js e MongoDB - 04
 
Node.js e a web do futuro
Node.js e a web do futuroNode.js e a web do futuro
Node.js e a web do futuro
 
Node não é filme de Terror
Node não é filme de TerrorNode não é filme de Terror
Node não é filme de Terror
 
Ensinando Computação e Fazendo Ciência com Python
Ensinando Computação e Fazendo Ciência com PythonEnsinando Computação e Fazendo Ciência com Python
Ensinando Computação e Fazendo Ciência com Python
 
Node.js
Node.jsNode.js
Node.js
 
ASP .NET WebForms TagMapping
ASP .NET WebForms TagMappingASP .NET WebForms TagMapping
ASP .NET WebForms TagMapping
 
Integrando Python e JavaScript
Integrando Python e JavaScriptIntegrando Python e JavaScript
Integrando Python e JavaScript
 
NodeJS
NodeJSNodeJS
NodeJS
 
Light Talk: Introdução sobre Node.js
Light Talk: Introdução sobre Node.jsLight Talk: Introdução sobre Node.js
Light Talk: Introdução sobre Node.js
 
SQL Server 2016 e 2017 para Desenvolvedores - Grupo Bandeirantes - Janeiro-2018
SQL Server 2016 e 2017 para Desenvolvedores - Grupo Bandeirantes - Janeiro-2018SQL Server 2016 e 2017 para Desenvolvedores - Grupo Bandeirantes - Janeiro-2018
SQL Server 2016 e 2017 para Desenvolvedores - Grupo Bandeirantes - Janeiro-2018
 
Javascript nos dias de hoje
Javascript nos dias de hojeJavascript nos dias de hoje
Javascript nos dias de hoje
 
Orb - Chat by location
Orb - Chat by locationOrb - Chat by location
Orb - Chat by location
 
Introdução ao MEAN Stack
Introdução ao MEAN StackIntrodução ao MEAN Stack
Introdução ao MEAN Stack
 
Micronaut
MicronautMicronaut
Micronaut
 
Web forms tagmapping
Web forms tagmappingWeb forms tagmapping
Web forms tagmapping
 
Ruby on Rails - Introdução ao Framework
Ruby on Rails - Introdução ao FrameworkRuby on Rails - Introdução ao Framework
Ruby on Rails - Introdução ao Framework
 

En vedette

Arquitetura jee bp_overview
Arquitetura jee bp_overviewArquitetura jee bp_overview
Arquitetura jee bp_overviewJuarez Junior
 
Google mobile apps 2.0
Google mobile apps 2.0Google mobile apps 2.0
Google mobile apps 2.0Goobec Brasil
 
Introdução à programação em Android - Alcides Maya 16.04.2013
Introdução à programação em Android - Alcides Maya 16.04.2013Introdução à programação em Android - Alcides Maya 16.04.2013
Introdução à programação em Android - Alcides Maya 16.04.2013guisester
 
CSS - Folhas de Estilo em Cascata
CSS - Folhas de Estilo em Cascata CSS - Folhas de Estilo em Cascata
CSS - Folhas de Estilo em Cascata Mauro Duarte
 
Primeiros Passos com Android
Primeiros Passos com AndroidPrimeiros Passos com Android
Primeiros Passos com AndroidSuelen Carvalho
 
3 getting to know the android tools - en-us
3   getting to know the android tools - en-us3   getting to know the android tools - en-us
3 getting to know the android tools - en-usJuarez Junior
 
Workshop sobre códigos em android usp 22.08.2013
Workshop sobre códigos em android   usp 22.08.2013Workshop sobre códigos em android   usp 22.08.2013
Workshop sobre códigos em android usp 22.08.2013guisester
 
Bit 0007 12 atualização android-w7
Bit 0007 12 atualização android-w7Bit 0007 12 atualização android-w7
Bit 0007 12 atualização android-w7coletor1
 
Tutorial AngularJS - episódio 1 - ambiente
Tutorial AngularJS - episódio 1 - ambienteTutorial AngularJS - episódio 1 - ambiente
Tutorial AngularJS - episódio 1 - ambienteJose Naves Moura Neto
 
Java se 8 language enhancements & features
Java se 8   language enhancements & featuresJava se 8   language enhancements & features
Java se 8 language enhancements & featuresJuarez Junior
 
Intents comunicando apps Delphi XE7 com apps Android
Intents comunicando apps Delphi XE7 com apps AndroidIntents comunicando apps Delphi XE7 com apps Android
Intents comunicando apps Delphi XE7 com apps AndroidLanderson Gomes
 
Supporting Coding and Testing
Supporting Coding and TestingSupporting Coding and Testing
Supporting Coding and TestingSuelen Carvalho
 
Usando o Poder da API Fragments
Usando o Poder da API FragmentsUsando o Poder da API Fragments
Usando o Poder da API FragmentsSuelen Carvalho
 
Disruption and the New Kingmakers: Software Developers and Payment Services
Disruption and the New Kingmakers: Software Developers and Payment ServicesDisruption and the New Kingmakers: Software Developers and Payment Services
Disruption and the New Kingmakers: Software Developers and Payment ServicesJames Governor
 

En vedette (19)

T A P Web20
T A P Web20T A P Web20
T A P Web20
 
Arquitetura jee bp_overview
Arquitetura jee bp_overviewArquitetura jee bp_overview
Arquitetura jee bp_overview
 
Google mobile apps 2.0
Google mobile apps 2.0Google mobile apps 2.0
Google mobile apps 2.0
 
Introdução à programação em Android - Alcides Maya 16.04.2013
Introdução à programação em Android - Alcides Maya 16.04.2013Introdução à programação em Android - Alcides Maya 16.04.2013
Introdução à programação em Android - Alcides Maya 16.04.2013
 
Global Brain Präsentation
Global Brain PräsentationGlobal Brain Präsentation
Global Brain Präsentation
 
Chromecast
ChromecastChromecast
Chromecast
 
Google play 2.0
Google play 2.0Google play 2.0
Google play 2.0
 
CSS - Folhas de Estilo em Cascata
CSS - Folhas de Estilo em Cascata CSS - Folhas de Estilo em Cascata
CSS - Folhas de Estilo em Cascata
 
Primeiros Passos com Android
Primeiros Passos com AndroidPrimeiros Passos com Android
Primeiros Passos com Android
 
3 getting to know the android tools - en-us
3   getting to know the android tools - en-us3   getting to know the android tools - en-us
3 getting to know the android tools - en-us
 
Workshop sobre códigos em android usp 22.08.2013
Workshop sobre códigos em android   usp 22.08.2013Workshop sobre códigos em android   usp 22.08.2013
Workshop sobre códigos em android usp 22.08.2013
 
Bit 0007 12 atualização android-w7
Bit 0007 12 atualização android-w7Bit 0007 12 atualização android-w7
Bit 0007 12 atualização android-w7
 
Tutorial AngularJS - episódio 1 - ambiente
Tutorial AngularJS - episódio 1 - ambienteTutorial AngularJS - episódio 1 - ambiente
Tutorial AngularJS - episódio 1 - ambiente
 
Java se 8 language enhancements & features
Java se 8   language enhancements & featuresJava se 8   language enhancements & features
Java se 8 language enhancements & features
 
Intents comunicando apps Delphi XE7 com apps Android
Intents comunicando apps Delphi XE7 com apps AndroidIntents comunicando apps Delphi XE7 com apps Android
Intents comunicando apps Delphi XE7 com apps Android
 
Material Design
Material DesignMaterial Design
Material Design
 
Supporting Coding and Testing
Supporting Coding and TestingSupporting Coding and Testing
Supporting Coding and Testing
 
Usando o Poder da API Fragments
Usando o Poder da API FragmentsUsando o Poder da API Fragments
Usando o Poder da API Fragments
 
Disruption and the New Kingmakers: Software Developers and Payment Services
Disruption and the New Kingmakers: Software Developers and Payment ServicesDisruption and the New Kingmakers: Software Developers and Payment Services
Disruption and the New Kingmakers: Software Developers and Payment Services
 

Similaire à MEAN Stack para desenvolvimento web com JavaScript

O front-end moderno e sua lib mais popular: React
O front-end moderno e sua lib mais popular: ReactO front-end moderno e sua lib mais popular: React
O front-end moderno e sua lib mais popular: ReactFernando Henriques
 
Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01Douglas Roeder
 
MongoDB e OpenShift - JUDCon2014
MongoDB e OpenShift - JUDCon2014MongoDB e OpenShift - JUDCon2014
MongoDB e OpenShift - JUDCon2014Fernando Boaglio
 
NodeJS - Tutorial de forma simples e pratica.
NodeJS - Tutorial de forma simples e pratica.NodeJS - Tutorial de forma simples e pratica.
NodeJS - Tutorial de forma simples e pratica.Filipe Morelli
 
Java script vs vb script
Java script vs vb scriptJava script vs vb script
Java script vs vb scriptNielson Santana
 
Hangout Tempo Real Eventos - Nodejs - Os Primeiros Passos
Hangout  Tempo Real Eventos - Nodejs - Os Primeiros PassosHangout  Tempo Real Eventos - Nodejs - Os Primeiros Passos
Hangout Tempo Real Eventos - Nodejs - Os Primeiros PassosJackson F. de A. Mafra
 
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...Fabrício Lopes Sanchez
 
Por que devo aprender JavaScript?
Por que devo aprender JavaScript?Por que devo aprender JavaScript?
Por que devo aprender JavaScript?Breno Alves
 
Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Valmir Justo
 
Java, NetBeans e Orientação a Objetos
Java, NetBeans e Orientação a ObjetosJava, NetBeans e Orientação a Objetos
Java, NetBeans e Orientação a ObjetosJoão Longo
 
NoSQL, MongoDB e MEAN
NoSQL, MongoDB e MEANNoSQL, MongoDB e MEAN
NoSQL, MongoDB e MEANOsmar Petry
 
Escalabilidade via Software no ExpressoV3
Escalabilidade via Software no ExpressoV3Escalabilidade via Software no ExpressoV3
Escalabilidade via Software no ExpressoV3Flávio Lisboa
 
JavaServer Faces - Desenvolvendo aplicações web com produtividade
JavaServer Faces - Desenvolvendo aplicações web com produtividadeJavaServer Faces - Desenvolvendo aplicações web com produtividade
JavaServer Faces - Desenvolvendo aplicações web com produtividadeRafael Ponte
 
NoSQL para Desenvolvedores .NET - SQLSaturday #804 - São Paulo
NoSQL para Desenvolvedores .NET - SQLSaturday #804 - São PauloNoSQL para Desenvolvedores .NET - SQLSaturday #804 - São Paulo
NoSQL para Desenvolvedores .NET - SQLSaturday #804 - São PauloRenato Groff
 
JavaScript: uma visão geral da linguagem e seu ecossistema
JavaScript: uma visão geral da linguagem e seu ecossistemaJavaScript: uma visão geral da linguagem e seu ecossistema
JavaScript: uma visão geral da linguagem e seu ecossistemaFabio Agostinho Boris
 

Similaire à MEAN Stack para desenvolvimento web com JavaScript (20)

O front-end moderno e sua lib mais popular: React
O front-end moderno e sua lib mais popular: ReactO front-end moderno e sua lib mais popular: React
O front-end moderno e sua lib mais popular: React
 
The Next Big Language
The Next Big LanguageThe Next Big Language
The Next Big Language
 
Mono Codebits
Mono CodebitsMono Codebits
Mono Codebits
 
Node.js e Express
Node.js e ExpressNode.js e Express
Node.js e Express
 
XPT Framework
XPT FrameworkXPT Framework
XPT Framework
 
Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01
 
MongoDB e OpenShift - JUDCon2014
MongoDB e OpenShift - JUDCon2014MongoDB e OpenShift - JUDCon2014
MongoDB e OpenShift - JUDCon2014
 
NodeJS - Tutorial de forma simples e pratica.
NodeJS - Tutorial de forma simples e pratica.NodeJS - Tutorial de forma simples e pratica.
NodeJS - Tutorial de forma simples e pratica.
 
Java script vs vb script
Java script vs vb scriptJava script vs vb script
Java script vs vb script
 
Hangout Tempo Real Eventos - Nodejs - Os Primeiros Passos
Hangout  Tempo Real Eventos - Nodejs - Os Primeiros PassosHangout  Tempo Real Eventos - Nodejs - Os Primeiros Passos
Hangout Tempo Real Eventos - Nodejs - Os Primeiros Passos
 
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...
 
Por que devo aprender JavaScript?
Por que devo aprender JavaScript?Por que devo aprender JavaScript?
Por que devo aprender JavaScript?
 
Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.
 
Java, NetBeans e Orientação a Objetos
Java, NetBeans e Orientação a ObjetosJava, NetBeans e Orientação a Objetos
Java, NetBeans e Orientação a Objetos
 
NoSQL, MongoDB e MEAN
NoSQL, MongoDB e MEANNoSQL, MongoDB e MEAN
NoSQL, MongoDB e MEAN
 
Escalabilidade via Software no ExpressoV3
Escalabilidade via Software no ExpressoV3Escalabilidade via Software no ExpressoV3
Escalabilidade via Software no ExpressoV3
 
JavaServer Faces - Desenvolvendo aplicações web com produtividade
JavaServer Faces - Desenvolvendo aplicações web com produtividadeJavaServer Faces - Desenvolvendo aplicações web com produtividade
JavaServer Faces - Desenvolvendo aplicações web com produtividade
 
NoSQL para Desenvolvedores .NET - SQLSaturday #804 - São Paulo
NoSQL para Desenvolvedores .NET - SQLSaturday #804 - São PauloNoSQL para Desenvolvedores .NET - SQLSaturday #804 - São Paulo
NoSQL para Desenvolvedores .NET - SQLSaturday #804 - São Paulo
 
Mongo
MongoMongo
Mongo
 
JavaScript: uma visão geral da linguagem e seu ecossistema
JavaScript: uma visão geral da linguagem e seu ecossistemaJavaScript: uma visão geral da linguagem e seu ecossistema
JavaScript: uma visão geral da linguagem e seu ecossistema
 

Plus de Jose Naves Moura Neto

Iniciando no desenvolvimento android 2016
Iniciando no desenvolvimento android 2016Iniciando no desenvolvimento android 2016
Iniciando no desenvolvimento android 2016Jose Naves Moura Neto
 
Tutorial Android episódio 02 - Layout
Tutorial Android episódio 02 - LayoutTutorial Android episódio 02 - Layout
Tutorial Android episódio 02 - LayoutJose Naves Moura Neto
 
Preparando APKs para publicação na Google Play
Preparando APKs para publicação na Google PlayPreparando APKs para publicação na Google Play
Preparando APKs para publicação na Google PlayJose Naves Moura Neto
 
Como iniciar o desenvolvimento Android
Como iniciar o desenvolvimento AndroidComo iniciar o desenvolvimento Android
Como iniciar o desenvolvimento AndroidJose Naves Moura Neto
 
Tutorial AngularJS - episódio 9 - $http services
Tutorial AngularJS - episódio 9 - $http servicesTutorial AngularJS - episódio 9 - $http services
Tutorial AngularJS - episódio 9 - $http servicesJose Naves Moura Neto
 
Tutorial AngularJS - episódio 8 - serviços
Tutorial AngularJS - episódio 8 - serviçosTutorial AngularJS - episódio 8 - serviços
Tutorial AngularJS - episódio 8 - serviçosJose Naves Moura Neto
 
Tutorial AngularJS - episódio 2 - mvc
Tutorial AngularJS - episódio 2 -  mvcTutorial AngularJS - episódio 2 -  mvc
Tutorial AngularJS - episódio 2 - mvcJose Naves Moura Neto
 
Tutorial AngularJS - episódio 2 - Hello World
Tutorial AngularJS - episódio 2 -  Hello WorldTutorial AngularJS - episódio 2 -  Hello World
Tutorial AngularJS - episódio 2 - Hello WorldJose Naves Moura Neto
 
Tutorial AngularJS - episódio 5 - diretivas
Tutorial AngularJS - episódio 5 -  diretivasTutorial AngularJS - episódio 5 -  diretivas
Tutorial AngularJS - episódio 5 - diretivasJose Naves Moura Neto
 
Tutorial AngularJS - Episódio 4 - Controllers
Tutorial AngularJS - Episódio 4 - ControllersTutorial AngularJS - Episódio 4 - Controllers
Tutorial AngularJS - Episódio 4 - ControllersJose Naves Moura Neto
 
[Java] Contexts and Dependency Injection em JEE6
[Java] Contexts and Dependency Injection em JEE6[Java] Contexts and Dependency Injection em JEE6
[Java] Contexts and Dependency Injection em JEE6Jose Naves Moura Neto
 

Plus de Jose Naves Moura Neto (13)

Iniciando no desenvolvimento android 2016
Iniciando no desenvolvimento android 2016Iniciando no desenvolvimento android 2016
Iniciando no desenvolvimento android 2016
 
Tutorial Android episódio 02 - Layout
Tutorial Android episódio 02 - LayoutTutorial Android episódio 02 - Layout
Tutorial Android episódio 02 - Layout
 
Tutorial Android - Activities
Tutorial Android - ActivitiesTutorial Android - Activities
Tutorial Android - Activities
 
Preparando APKs para publicação na Google Play
Preparando APKs para publicação na Google PlayPreparando APKs para publicação na Google Play
Preparando APKs para publicação na Google Play
 
Como iniciar o desenvolvimento Android
Como iniciar o desenvolvimento AndroidComo iniciar o desenvolvimento Android
Como iniciar o desenvolvimento Android
 
Tutorial AngularJS - episódio 9 - $http services
Tutorial AngularJS - episódio 9 - $http servicesTutorial AngularJS - episódio 9 - $http services
Tutorial AngularJS - episódio 9 - $http services
 
Tutorial AngularJS - episódio 8 - serviços
Tutorial AngularJS - episódio 8 - serviçosTutorial AngularJS - episódio 8 - serviços
Tutorial AngularJS - episódio 8 - serviços
 
Tutorial AngularJS - episódio 2 - mvc
Tutorial AngularJS - episódio 2 -  mvcTutorial AngularJS - episódio 2 -  mvc
Tutorial AngularJS - episódio 2 - mvc
 
Tutorial AngularJS - episódio 2 - Hello World
Tutorial AngularJS - episódio 2 -  Hello WorldTutorial AngularJS - episódio 2 -  Hello World
Tutorial AngularJS - episódio 2 - Hello World
 
Tutorial AngularJS - episódio 5 - diretivas
Tutorial AngularJS - episódio 5 -  diretivasTutorial AngularJS - episódio 5 -  diretivas
Tutorial AngularJS - episódio 5 - diretivas
 
Tutorial AngularJS - Episódio 4 - Controllers
Tutorial AngularJS - Episódio 4 - ControllersTutorial AngularJS - Episódio 4 - Controllers
Tutorial AngularJS - Episódio 4 - Controllers
 
Programação reativa com Meteor
Programação reativa com MeteorProgramação reativa com Meteor
Programação reativa com Meteor
 
[Java] Contexts and Dependency Injection em JEE6
[Java] Contexts and Dependency Injection em JEE6[Java] Contexts and Dependency Injection em JEE6
[Java] Contexts and Dependency Injection em JEE6
 

MEAN Stack para desenvolvimento web com JavaScript