SlideShare uma empresa Scribd logo
Webpack
A evolução do asset pipeline
Aryel Tupinambá
FrontInVale 2016
O que é essa lightning talk?
SOBRE O QUE VOU FALAR:
- O que o Webpack faz
- O que ele não faz
- Por que você deve dar a mínima
- Quais os problemas com ele
- Links de onde correr atrás
SOBRE O QUE NÃO VOU FALAR
- Ensinar como usar o Webpack
- Dizer como fazer X ou Y com o Webpack
- Comparar o Webpack com outras
ferramentas
- Repetir trechos de documentação
O que é esse tal de Webpack?
"Module Bundler"; asset pipeline on steroids
src/math.js
src/increment.js
src/main.js
dist/output.js
src/math.js
src/increment.js
src/main.js
dist/output.js
Export no estilo CommonJS
Require indicando uma
dependência
Arquivo principal, carrega
uma dependência
Arquivo compilado pelo
Webpack, com as
dependências recursivas
compiladas na ordem correta
Permite carregar dependências de
Sass/CSS do NPM
Carrega arquivos e permite
que você customize, no
Webpack, regras de
otimização
Processa SVG em PNG
Empacota arquivos JSON em
dependências compatíveis
com "require"
Empacota e carrega fontes
Inclui um arquivo Sass no módulo
JS
Mas o Webpack faz...
… Sass?
… Compass?
… ES6?
… TypeScript?
… Spritesheets?
… JSON / XML?
… Less?
… Stylus?
… AngularJS?
… ReactJS?
… CoffeeScript?
… Jade?
… Markdown?
… Jinja?
… Smarty?
… Swagger?
… Twig?
… Bootstrap?
Mas o Webpack faz...
… Sass?
… Compass?
… ES6?
… TypeScript?
… Spritesheets?
… JSON / XML?
… Less?
… Stylus?
… AngularJS?
… ReactJS?
… CoffeeScript?
… Jade?
… Markdown?
… Jinja?
… Smarty?
… Swagger?
… Twig?
… Bootstrap?
Como funciona a mágica do Webpack?
Plugins
● Funcionalidades do
Webpack
● Acesso ao processo de
pipelining e packing
Ex: UglifyJS, BannerPlugin,
NgAnnotate, ImageMin,
HtmlMinify, AngularPlugin,
I18nPlugin ...
Loaders
● Extendem a capacidade do
Webpack de carregar e
processar arquivos
● Pode exigir o carregamento
de um plugin
Ex: script, file, url, json, base64,
xml, to-string, includes, combines,
image, svg-sprite, polymer, zip-it,
s3 ...
Entry-point da aplicação (deve
conter os requires de tudo que deve
ser "empacotado")
Loaders: formados por um test
("quais arquivos aplicar?") e uma
série de loaders ("quais loaders
processarão esses arquivos?")
Loaders podem ser enfileirados, da
direita para a esquerda, formando,
literalmente, um "pipeline"
Alguns loaders podem especificar
"queries", dizendo como processar
determinados assets
Por que eu deveria me importar?
É o ponto culminante da
evolução das ferramentas de
compilação e asset pipeline
Acaba com um grande overhead
mental de gerenciar o assets e
dependências de JS, SCSS, etc
Deixa o desenvolvimento web
divertido de novo, e tão fluído
quanto o back-end
Me interessei, onde eu vejo mais disso aí?
Webpack Module Bundler
http://webpack.github.io/
Recomendo a leitura do "Getting started" e dos tutoriais
para entender como editar o webpack.config e
configurar os loaders
Webpack Beginner's Guide por Nader Dabit
https://medium.com/@dabit3/beginner-s-guide-to-
webpack-b1f1a3638460
Leia esse cara antes de começar a montar seu
workflow, vai te salvar algumas boas horas de quebrar a
cabeça
Practical Examples by Julien Renaux
http://julienrenaux.fr/2015/03/30/introduction-to-
webpack-with-practical-examples/
Leia esse cara antes de começar a montar seu
workflow, vai te salvar algumas boas horas de quebrar a
cabeça
Webpack - List of Loaders
https://github.com/webpack/docs/wiki/list-of-loaders
Vale passar o olho aqui para ver tudo que dá pra fazer
com os loaders já bem maduros, antes de começar a
montar seu workflow.
Obrigado!
Now go and build something awesome!
E-mail / Hangouts:
aryel.tupinamba@lqdi.net
Facebook:
http://facebook.com/aryel.tupinamba
Twitter:
http://twitter.com/DfKimera
LinkedIn:
http://linkedin.com/in/aryeltupinamba
Slides da palestra:
http://slideshare.net/aryeltupinamba
http://lqdi.net

Mais conteúdo relacionado

PDF
PHP Conference 2014: Uma string em dez milhões de documentos em menos de um s...
PDF
PHP Conference 2015: Construindo e mantendo aplicações multi-tenant (multi-c...
PDF
Laraconf 2016: Construindo e mantendo aplicações multi-tenant (multi-cliente)
PDF
Drupal 7 - Nova Versão para Novos Desafios
PDF
Escalabilidade e alta disponibilidade no php com nginx
ODP
Performance em Java
PDF
Clusterização de Aplicações PHP
PDF
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvens
PHP Conference 2014: Uma string em dez milhões de documentos em menos de um s...
PHP Conference 2015: Construindo e mantendo aplicações multi-tenant (multi-c...
Laraconf 2016: Construindo e mantendo aplicações multi-tenant (multi-cliente)
Drupal 7 - Nova Versão para Novos Desafios
Escalabilidade e alta disponibilidade no php com nginx
Performance em Java
Clusterização de Aplicações PHP
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvens

Mais procurados (20)

PDF
Dicas para Turbinar o servidor de Aplicações JBoss 7
PPT
Desenvolvimento web em java com JSP e Servlets
PPT
Sqlite - Introdução
PDF
Web seminario varnish
KEY
Frontend (RailsMG)
PDF
Otimizacao de websites em PHP
PDF
Cloud Mysql e MariaDB em alta performance
PDF
Desenvolvendo uma aplicacao Full Javascript
PPTX
Instalação CakePHP 2.2.3
PPT
Principais Tecnologias WEB
PDF
Entrega ebook-gratis
PDF
Servlets e JSP
PDF
Palestra - Symfony Framework MVC PHP 5
PPTX
Integrando sua App ao Mundo via REST/JSON
PPTX
WordPress Multisite: Desenvolvendo Portais com Sites Interligados.
PPTX
JBoss-WildFly - Avançado
PDF
Introdução à Servlets e JSP
PPTX
WildFly Avançado - TDC Floripa 2015
PDF
PORTUGUESE SquashBrochure
PPT
PHP FrameWARks - CakePHP
Dicas para Turbinar o servidor de Aplicações JBoss 7
Desenvolvimento web em java com JSP e Servlets
Sqlite - Introdução
Web seminario varnish
Frontend (RailsMG)
Otimizacao de websites em PHP
Cloud Mysql e MariaDB em alta performance
Desenvolvendo uma aplicacao Full Javascript
Instalação CakePHP 2.2.3
Principais Tecnologias WEB
Entrega ebook-gratis
Servlets e JSP
Palestra - Symfony Framework MVC PHP 5
Integrando sua App ao Mundo via REST/JSON
WordPress Multisite: Desenvolvendo Portais com Sites Interligados.
JBoss-WildFly - Avançado
Introdução à Servlets e JSP
WildFly Avançado - TDC Floripa 2015
PORTUGUESE SquashBrochure
PHP FrameWARks - CakePHP
Anúncio

Destaque (20)

PDF
Informe de gestión y acta de empalme
PPTX
Конкурсная работа «Столица событийного туризма»
PDF
Canada student Visa
PPT
PPTX
Vyziva a reprodukcia March 22 2010
PPT
Pandey Classes Faculty Members
PDF
Education Mela Canada
PPTX
Storyboard
PDF
Using Mobility to Nurture Customer Loyalty
PPS
Wedding Invitation
PPTX
Nuevas tics
PPTX
отчет за 2013 год
PPTX
English inmersion 2011
PPTX
Technology in the classroom
PPTX
20120717 role of dna to promote cdm
PDF
VRaptor4 & plugins
PPT
Confederation college ppt
PPTX
English inmersion 2011
DOCX
Test 2 study guide
PPT
Public Lecture "City Identity and City Branding: Case of Kharkov"
Informe de gestión y acta de empalme
Конкурсная работа «Столица событийного туризма»
Canada student Visa
Vyziva a reprodukcia March 22 2010
Pandey Classes Faculty Members
Education Mela Canada
Storyboard
Using Mobility to Nurture Customer Loyalty
Wedding Invitation
Nuevas tics
отчет за 2013 год
English inmersion 2011
Technology in the classroom
20120717 role of dna to promote cdm
VRaptor4 & plugins
Confederation college ppt
English inmersion 2011
Test 2 study guide
Public Lecture "City Identity and City Branding: Case of Kharkov"
Anúncio

Último (9)

PPTX
Fundamentos do Desenvolvimento Web. Fundamentos do Desenvolvimento Web.Fundam...
PPTX
AULA DE HTML E CSS PARA INICIANTES EM INFORMÁTICA
PDF
Metodologias ágeis - Slides - aulas 1 a 5.pdf
PDF
Certificado de Conclusão Jornada Inteligência Artificial
PDF
Apostila_de_Laboratorio_de_Quimica_Inorg.pdf
PPTX
TURMA modelo de modelo apresentação 4DE.pptx
PDF
A sua pontuação aumenta ao escolher uma categoria, preencher uma descrição lo...
PPTX
Classifirrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrcação_IPAQ.pptx
PDF
Agosto-Lilas-Conscientizacao-e-Combate-a-Violencia-contra-a-Mulher.pdf
Fundamentos do Desenvolvimento Web. Fundamentos do Desenvolvimento Web.Fundam...
AULA DE HTML E CSS PARA INICIANTES EM INFORMÁTICA
Metodologias ágeis - Slides - aulas 1 a 5.pdf
Certificado de Conclusão Jornada Inteligência Artificial
Apostila_de_Laboratorio_de_Quimica_Inorg.pdf
TURMA modelo de modelo apresentação 4DE.pptx
A sua pontuação aumenta ao escolher uma categoria, preencher uma descrição lo...
Classifirrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrcação_IPAQ.pptx
Agosto-Lilas-Conscientizacao-e-Combate-a-Violencia-contra-a-Mulher.pdf

FrontInVale 2016: Webpack - A evolução do asset pipeline (Lightning Talk)

  • 1. Webpack A evolução do asset pipeline Aryel Tupinambá FrontInVale 2016
  • 2. O que é essa lightning talk? SOBRE O QUE VOU FALAR: - O que o Webpack faz - O que ele não faz - Por que você deve dar a mínima - Quais os problemas com ele - Links de onde correr atrás SOBRE O QUE NÃO VOU FALAR - Ensinar como usar o Webpack - Dizer como fazer X ou Y com o Webpack - Comparar o Webpack com outras ferramentas - Repetir trechos de documentação
  • 3. O que é esse tal de Webpack? "Module Bundler"; asset pipeline on steroids
  • 5. src/math.js src/increment.js src/main.js dist/output.js Export no estilo CommonJS Require indicando uma dependência Arquivo principal, carrega uma dependência Arquivo compilado pelo Webpack, com as dependências recursivas compiladas na ordem correta
  • 6. Permite carregar dependências de Sass/CSS do NPM Carrega arquivos e permite que você customize, no Webpack, regras de otimização Processa SVG em PNG Empacota arquivos JSON em dependências compatíveis com "require" Empacota e carrega fontes Inclui um arquivo Sass no módulo JS
  • 7. Mas o Webpack faz... … Sass? … Compass? … ES6? … TypeScript? … Spritesheets? … JSON / XML? … Less? … Stylus? … AngularJS? … ReactJS? … CoffeeScript? … Jade? … Markdown? … Jinja? … Smarty? … Swagger? … Twig? … Bootstrap?
  • 8. Mas o Webpack faz... … Sass? … Compass? … ES6? … TypeScript? … Spritesheets? … JSON / XML? … Less? … Stylus? … AngularJS? … ReactJS? … CoffeeScript? … Jade? … Markdown? … Jinja? … Smarty? … Swagger? … Twig? … Bootstrap?
  • 9. Como funciona a mágica do Webpack? Plugins ● Funcionalidades do Webpack ● Acesso ao processo de pipelining e packing Ex: UglifyJS, BannerPlugin, NgAnnotate, ImageMin, HtmlMinify, AngularPlugin, I18nPlugin ... Loaders ● Extendem a capacidade do Webpack de carregar e processar arquivos ● Pode exigir o carregamento de um plugin Ex: script, file, url, json, base64, xml, to-string, includes, combines, image, svg-sprite, polymer, zip-it, s3 ...
  • 10. Entry-point da aplicação (deve conter os requires de tudo que deve ser "empacotado") Loaders: formados por um test ("quais arquivos aplicar?") e uma série de loaders ("quais loaders processarão esses arquivos?") Loaders podem ser enfileirados, da direita para a esquerda, formando, literalmente, um "pipeline" Alguns loaders podem especificar "queries", dizendo como processar determinados assets
  • 11. Por que eu deveria me importar? É o ponto culminante da evolução das ferramentas de compilação e asset pipeline Acaba com um grande overhead mental de gerenciar o assets e dependências de JS, SCSS, etc Deixa o desenvolvimento web divertido de novo, e tão fluído quanto o back-end
  • 12. Me interessei, onde eu vejo mais disso aí? Webpack Module Bundler http://webpack.github.io/ Recomendo a leitura do "Getting started" e dos tutoriais para entender como editar o webpack.config e configurar os loaders Webpack Beginner's Guide por Nader Dabit https://medium.com/@dabit3/beginner-s-guide-to- webpack-b1f1a3638460 Leia esse cara antes de começar a montar seu workflow, vai te salvar algumas boas horas de quebrar a cabeça Practical Examples by Julien Renaux http://julienrenaux.fr/2015/03/30/introduction-to- webpack-with-practical-examples/ Leia esse cara antes de começar a montar seu workflow, vai te salvar algumas boas horas de quebrar a cabeça Webpack - List of Loaders https://github.com/webpack/docs/wiki/list-of-loaders Vale passar o olho aqui para ver tudo que dá pra fazer com os loaders já bem maduros, antes de começar a montar seu workflow.
  • 13. Obrigado! Now go and build something awesome! E-mail / Hangouts: aryel.tupinamba@lqdi.net Facebook: http://facebook.com/aryel.tupinamba Twitter: http://twitter.com/DfKimera LinkedIn: http://linkedin.com/in/aryeltupinamba Slides da palestra: http://slideshare.net/aryeltupinamba http://lqdi.net