SlideShare uma empresa Scribd logo
1 de 41
Baixar para ler offline
Afinal, o que são
Single Page Applications
Patrick Monteiro
Formação
● Engenharia da Computação pelo IESAM
● Especialização em Desenvolvimento de Sistemas Web pelo IESAM
● Especialização em Arquitetura de Software Distribuído pela PUC Minas
Experiência
● Analista em Desenvolvimento de Sistemas na W3AS
● Desenvolvedor Web na SOLUX TI
● Desenvolvedor Web no Consórcio Troncal Belém
● Estagiário na W3AS
A evolução da
Web
A World Wide Web
● Significa “rede de alcance mundial”, também conhecida como Web ou
WWW;
● é um sistema de documentos em hipermídia que são executados na
Internet. Os documentos podem estar na forma de vídeos, sons,
hipertextos e figuras;
A World Wide Web
● Criada pelo britânico Tim Berners-Lee, com 3 ferramentas importantes:
○ um protocolo de transmissão de dados - HTTP;
○ um sistema de endereçamento próprio - URL;
○ uma linguagem de marcação, para transmitir documentos
formatador através da rede - HTML;
A Evolução
● 1.0 - Basicamente uma plataforma para Leitura(HTML);
A Evolução
● 2.0 - Tanto Leitura quanto escrita eram características.
A Evolução
3.0 - Web Semântica
O crescimento
O crescimento
Padrões de
Arquiteturas
Linha do Tempo das Arquiteturas
Fonte: https://www.slideshare.net/flashplatform/next-generation-of-frontend-architectures
Framework X Biblioteca
MVC - Model-View-Controller
Padrão arquitetural que divide a aplicação em três camadas com
tipos de componentes distintos:
● Model
● View
● Controller
MVC - Model-View-Controller
MVC - Model-View-Controller
Algumas vantagens:
● Baixo acoplamento e alta coesão entre componentes;
● Reaproveitamento de código;
● Separação de responsabilidades;
● Facilita a divisão da equipe/tarefas
● Facilita na manutenção da aplicação;
● Escalabilidade;
MVC - Alguns Frameworks
MVP - Model-View-Presenter
● Criado nos anos 90 pela Taligent (IBM);
● Derivação do MVC ;
● Tem foco na apresentação;
Características:
● Separação forte entre Apresentação e Gerenciamento de Dados;
● Simplificação dos testes unitários;
MVP - Model-View-Presenter
● Presenter
○ intermedia comunicação entre View e Model;
○ trata os dados apresentados na View;
● View
○ é passiva e se comunica apenas com o Presenter;
○ manipula eventos na interface e dispara o Presenter;
● Model
○ funciona apenas como um modelo de domínio;
MVP - Model-View-Presenter
MVVM - Model-View-ViewModel
● Criado por arquitetos de software da Microsoft;
● Derivado do MVP;
Características:
● Conceitualmente idêntico ao MVP;
● Foco na implementação de aplicações para plataforma Windows
Presentations Foundation(WPF) e Microsoft Silverlight;
MVVM - Model-View-ViewModel
● ViewModel
○ Atua como Model da View, mantendo o estado dos dados;
○ Não conhece a estrutura da View a qual está associada;
● View
○ Se comunica ao ViewModel por uma propriedade
DataContext
● Model
○ Encapsula a lógica de negócios e os dados;
○ Não faz referência diretas à View ou à ViewModel;
MVVM - Model-View-ViewModel
MVVM - Model-View-ViewModel
Fonte: http://geekswithblogs.net/dlussier/archive/2009/11/21/136454.aspx
Single Page
Applications
Single Page Application
● É uma abordagem moderna de construção de aplicações Web;
● A aplicação interage com o servidor, por requisições AJAX
trocando dados em JSON ou XML;
Single Page Application
Não leve ao pé da letra !
Ciclo de vida de páginas tradicionais
Ciclo de vida de SPA
SPA - Características Principais
● CLIENT-SIDE
○ Todos os processos são executados no lado do cliente;
○ A comunicação com o back-end é feita através de chamadas
AJAX para end-points de uma API;
○ Funciona independente do back-end, seja ele desenvolvido em
java, node, php, ruby, pytho, go, .NET,
○ Facilita a migração de tecnologias;
SPA - Características Principais
● LOAD
○ muitas vezes é feito apenas 1 vez;
○ carregamento de assets como css, javascript, imagens, bootstrap;
○ em grandes aplicações é aconselhável aplicar a técnica de Lazy
Loading;
SPA - Características Principais
● ROUTER
○ peça importantíssima no desenvolvimento de SPA’s;
○ é quem define/constrói tela para o usuário;
○ mesmo após um refresh permite que a página volte(quase) ao
seu estado anterior;
○ não confundir com o router do back-end;
○ geralmente ele muda e analisa valores após o # na barra de
enderreços(com o HTML5 não é mais necessário);
SPA - Características Principais
● ARMAZENAMENTO
○ nas SPA’s é comum salvar dados localmente no navegador do
usuário;
○ geralmente é armazenado um token e outras informações de
identificação do usuário;
○ é incomum usar cookies ou sessions para essas tarefas, sendo
mais comum usar o localStorage;
SPA - Estratégias Importantes
● Otimização do conteúdo e redução de requisições;
○ Minificação e ofuscação (CSS, JavaScript);
● Manipulação do DOM(Virtual DOM);
SPA - Problemas na arquitetura
● Histórico de navegação (Back and Forward);
● Alterações pendentes de salvamento ;
● Impede o Search Engine Optimization (SEO) ;
● Estatísticas do site ;
● Sobrecarga do cliente ;
● Problemas de segurança;
SPA - Frameworks
SPA - Vantagens no uso de Frameworks
● Eficiência
○ projetos que costumavam levar meses e centenas de linhas de
código agora podem ser alcançados muito mais rápido com
padrões e funções bem estruturadas;
● Segurança
○ as principais estruturas de javascript tem acordos de
segurança firmes e são suportadas por grandes comunidades;
SPA - Vantagens no uso de Frameworks
● Custo
○ a maior parte dos frameworks são de código aberto e
gratuitos.
SPA - Complementos para um bom
WorkFlow
● Custo
○ Babel, Browserify, Gulp, Grunt, WebPack, ESLint;
○ Ferramentas CLI agilizam um pouco o WorkFlow, mas não se
deve depender totalmente delas;
Afinal, o que são Single Page Applications

Mais conteúdo relacionado

Mais procurados

Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento web
Rodrigo Rodrigues
 

Mais procurados (20)

Node.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoNode.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançado
 
JavaScript - Introdução com Orientação a Objetos
JavaScript - Introdução com Orientação a ObjetosJavaScript - Introdução com Orientação a Objetos
JavaScript - Introdução com Orientação a Objetos
 
Node.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasNode.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo Branas
 
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
 
Android Developer JeongJaeyun
Android Developer JeongJaeyunAndroid Developer JeongJaeyun
Android Developer JeongJaeyun
 
황규영 포트폴리오
황규영 포트폴리오황규영 포트폴리오
황규영 포트폴리오
 
정해균 포트폴리오
정해균 포트폴리오정해균 포트폴리오
정해균 포트폴리오
 
Web API Basics
Web API BasicsWeb API Basics
Web API Basics
 
Portfolio
PortfolioPortfolio
Portfolio
 
Node.js Express
Node.js  ExpressNode.js  Express
Node.js Express
 
RPC에서 REST까지 간단한 개념소개
RPC에서 REST까지 간단한 개념소개RPC에서 REST까지 간단한 개념소개
RPC에서 REST까지 간단한 개념소개
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Porque flutter
Porque flutter Porque flutter
Porque flutter
 
Desenvolvendo Apps Nativos com Flutter
Desenvolvendo Apps Nativos com FlutterDesenvolvendo Apps Nativos com Flutter
Desenvolvendo Apps Nativos com Flutter
 
An Overview on Nuxt.js
An Overview on Nuxt.jsAn Overview on Nuxt.js
An Overview on Nuxt.js
 
Curso de Java Persistence API (JPA) (Java EE 7)
Curso de Java Persistence API (JPA) (Java EE 7)Curso de Java Persistence API (JPA) (Java EE 7)
Curso de Java Persistence API (JPA) (Java EE 7)
 
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana ChahoudDesenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud
 
김종욱 포트폴리오
김종욱 포트폴리오김종욱 포트폴리오
김종욱 포트폴리오
 
React - Introdução
React - IntroduçãoReact - Introdução
React - Introdução
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento web
 

Semelhante a Afinal, o que são Single Page Applications

Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4
Rodrigo Kono
 
Programando razor
Programando razorProgramando razor
Programando razor
Vitor Reis
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento Web
Sérgio Souza Costa
 
Desenvolvimento web com software livre
Desenvolvimento web com software livreDesenvolvimento web com software livre
Desenvolvimento web com software livre
Ruan Carvalho
 
Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3
Rodrigo Kono
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sites
thiagolima
 

Semelhante a Afinal, o que são Single Page Applications (20)

Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
 
Meetup vue.js
Meetup vue.jsMeetup vue.js
Meetup vue.js
 
Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4
 
Web Development em 2015
Web Development em 2015Web Development em 2015
Web Development em 2015
 
Programando razor
Programando razorProgramando razor
Programando razor
 
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.
 
CV Alexandre R. de Castro
CV Alexandre R. de CastroCV Alexandre R. de Castro
CV Alexandre R. de Castro
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento Web
 
Palestra - Profissão: Desenvolvedor
Palestra - Profissão: DesenvolvedorPalestra - Profissão: Desenvolvedor
Palestra - Profissão: Desenvolvedor
 
Projeto Web - Aula 1 - Fundamentos do Dev WEB.pptx
Projeto Web - Aula 1 - Fundamentos do Dev WEB.pptxProjeto Web - Aula 1 - Fundamentos do Dev WEB.pptx
Projeto Web - Aula 1 - Fundamentos do Dev WEB.pptx
 
Criando aplicações web com tecnologias Microsoft
Criando aplicações web com tecnologias MicrosoftCriando aplicações web com tecnologias Microsoft
Criando aplicações web com tecnologias Microsoft
 
Intro desenvolvimento-web
Intro desenvolvimento-webIntro desenvolvimento-web
Intro desenvolvimento-web
 
Desenvolvimento web com software livre
Desenvolvimento web com software livreDesenvolvimento web com software livre
Desenvolvimento web com software livre
 
Desenvolvimento web com Software Livre
Desenvolvimento web com Software LivreDesenvolvimento web com Software Livre
Desenvolvimento web com Software Livre
 
Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3
 
Introdução ao WCM System
Introdução ao WCM SystemIntrodução ao WCM System
Introdução ao WCM System
 
WSO2 - Portfólio de Produtos, Soluções e Suportes
WSO2 - Portfólio de Produtos, Soluções e SuportesWSO2 - Portfólio de Produtos, Soluções e Suportes
WSO2 - Portfólio de Produtos, Soluções e Suportes
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sites
 
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendAnálise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
 
Django
DjangoDjango
Django
 

Mais de Patrick Monteiro

Mais de Patrick Monteiro (6)

Quasar Framework - Front end de alto desempenho
Quasar Framework - Front end de alto desempenhoQuasar Framework - Front end de alto desempenho
Quasar Framework - Front end de alto desempenho
 
Quasar Framework - Uma visão Geral
Quasar Framework - Uma visão GeralQuasar Framework - Uma visão Geral
Quasar Framework - Uma visão Geral
 
Solucionando a Teoria do Caos com Cypress.io
Solucionando a Teoria do Caos com Cypress.ioSolucionando a Teoria do Caos com Cypress.io
Solucionando a Teoria do Caos com Cypress.io
 
Introdução ao codeigniter
Introdução ao codeigniterIntrodução ao codeigniter
Introdução ao codeigniter
 
Novidades do http 2.0
Novidades do http 2.0Novidades do http 2.0
Novidades do http 2.0
 
DESENVOLVIMENTO DE APLICAÇÕES WEB
DESENVOLVIMENTO DE APLICAÇÕES WEBDESENVOLVIMENTO DE APLICAÇÕES WEB
DESENVOLVIMENTO DE APLICAÇÕES WEB
 

Último

Último (9)

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
 
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
 
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
 
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
 
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
 
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
 
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
 
EAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIA
EAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIAEAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIA
EAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIA
 
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
 

Afinal, o que são Single Page Applications

  • 1. Afinal, o que são Single Page Applications Patrick Monteiro
  • 2. Formação ● Engenharia da Computação pelo IESAM ● Especialização em Desenvolvimento de Sistemas Web pelo IESAM ● Especialização em Arquitetura de Software Distribuído pela PUC Minas
  • 3. Experiência ● Analista em Desenvolvimento de Sistemas na W3AS ● Desenvolvedor Web na SOLUX TI ● Desenvolvedor Web no Consórcio Troncal Belém ● Estagiário na W3AS
  • 5. A World Wide Web ● Significa “rede de alcance mundial”, também conhecida como Web ou WWW; ● é um sistema de documentos em hipermídia que são executados na Internet. Os documentos podem estar na forma de vídeos, sons, hipertextos e figuras;
  • 6. A World Wide Web ● Criada pelo britânico Tim Berners-Lee, com 3 ferramentas importantes: ○ um protocolo de transmissão de dados - HTTP; ○ um sistema de endereçamento próprio - URL; ○ uma linguagem de marcação, para transmitir documentos formatador através da rede - HTML;
  • 7. A Evolução ● 1.0 - Basicamente uma plataforma para Leitura(HTML);
  • 8. A Evolução ● 2.0 - Tanto Leitura quanto escrita eram características.
  • 9. A Evolução 3.0 - Web Semântica
  • 13. Linha do Tempo das Arquiteturas Fonte: https://www.slideshare.net/flashplatform/next-generation-of-frontend-architectures
  • 15. MVC - Model-View-Controller Padrão arquitetural que divide a aplicação em três camadas com tipos de componentes distintos: ● Model ● View ● Controller
  • 17. MVC - Model-View-Controller Algumas vantagens: ● Baixo acoplamento e alta coesão entre componentes; ● Reaproveitamento de código; ● Separação de responsabilidades; ● Facilita a divisão da equipe/tarefas ● Facilita na manutenção da aplicação; ● Escalabilidade;
  • 18. MVC - Alguns Frameworks
  • 19. MVP - Model-View-Presenter ● Criado nos anos 90 pela Taligent (IBM); ● Derivação do MVC ; ● Tem foco na apresentação; Características: ● Separação forte entre Apresentação e Gerenciamento de Dados; ● Simplificação dos testes unitários;
  • 20. MVP - Model-View-Presenter ● Presenter ○ intermedia comunicação entre View e Model; ○ trata os dados apresentados na View; ● View ○ é passiva e se comunica apenas com o Presenter; ○ manipula eventos na interface e dispara o Presenter; ● Model ○ funciona apenas como um modelo de domínio;
  • 22. MVVM - Model-View-ViewModel ● Criado por arquitetos de software da Microsoft; ● Derivado do MVP; Características: ● Conceitualmente idêntico ao MVP; ● Foco na implementação de aplicações para plataforma Windows Presentations Foundation(WPF) e Microsoft Silverlight;
  • 23. MVVM - Model-View-ViewModel ● ViewModel ○ Atua como Model da View, mantendo o estado dos dados; ○ Não conhece a estrutura da View a qual está associada; ● View ○ Se comunica ao ViewModel por uma propriedade DataContext ● Model ○ Encapsula a lógica de negócios e os dados; ○ Não faz referência diretas à View ou à ViewModel;
  • 25. MVVM - Model-View-ViewModel Fonte: http://geekswithblogs.net/dlussier/archive/2009/11/21/136454.aspx
  • 27. Single Page Application ● É uma abordagem moderna de construção de aplicações Web; ● A aplicação interage com o servidor, por requisições AJAX trocando dados em JSON ou XML;
  • 28. Single Page Application Não leve ao pé da letra !
  • 29. Ciclo de vida de páginas tradicionais
  • 30. Ciclo de vida de SPA
  • 31. SPA - Características Principais ● CLIENT-SIDE ○ Todos os processos são executados no lado do cliente; ○ A comunicação com o back-end é feita através de chamadas AJAX para end-points de uma API; ○ Funciona independente do back-end, seja ele desenvolvido em java, node, php, ruby, pytho, go, .NET, ○ Facilita a migração de tecnologias;
  • 32. SPA - Características Principais ● LOAD ○ muitas vezes é feito apenas 1 vez; ○ carregamento de assets como css, javascript, imagens, bootstrap; ○ em grandes aplicações é aconselhável aplicar a técnica de Lazy Loading;
  • 33. SPA - Características Principais ● ROUTER ○ peça importantíssima no desenvolvimento de SPA’s; ○ é quem define/constrói tela para o usuário; ○ mesmo após um refresh permite que a página volte(quase) ao seu estado anterior; ○ não confundir com o router do back-end; ○ geralmente ele muda e analisa valores após o # na barra de enderreços(com o HTML5 não é mais necessário);
  • 34. SPA - Características Principais ● ARMAZENAMENTO ○ nas SPA’s é comum salvar dados localmente no navegador do usuário; ○ geralmente é armazenado um token e outras informações de identificação do usuário; ○ é incomum usar cookies ou sessions para essas tarefas, sendo mais comum usar o localStorage;
  • 35. SPA - Estratégias Importantes ● Otimização do conteúdo e redução de requisições; ○ Minificação e ofuscação (CSS, JavaScript); ● Manipulação do DOM(Virtual DOM);
  • 36. SPA - Problemas na arquitetura ● Histórico de navegação (Back and Forward); ● Alterações pendentes de salvamento ; ● Impede o Search Engine Optimization (SEO) ; ● Estatísticas do site ; ● Sobrecarga do cliente ; ● Problemas de segurança;
  • 38. SPA - Vantagens no uso de Frameworks ● Eficiência ○ projetos que costumavam levar meses e centenas de linhas de código agora podem ser alcançados muito mais rápido com padrões e funções bem estruturadas; ● Segurança ○ as principais estruturas de javascript tem acordos de segurança firmes e são suportadas por grandes comunidades;
  • 39. SPA - Vantagens no uso de Frameworks ● Custo ○ a maior parte dos frameworks são de código aberto e gratuitos.
  • 40. SPA - Complementos para um bom WorkFlow ● Custo ○ Babel, Browserify, Gulp, Grunt, WebPack, ESLint; ○ Ferramentas CLI agilizam um pouco o WorkFlow, mas não se deve depender totalmente delas;