SlideShare une entreprise Scribd logo
1  sur  18
Télécharger pour lire hors ligne
WebPack para la
construcción de un proyecto
Javascript.
Jorge Ulises Useche Cuellar
Aplicaciones de página única SPA
WebPack Empaquetador de módulos.
● Empaquetamiento de módulos CommonJS / AMD para el navegador.
● Permite dividir su base de código en varios paquetes, los cuales pueden ser
cargados a la demanda-
● Cargadores de apoyo a los archivos de procesamiento previo, es decir,
JSON, jade, coffee, css, menos, ... y cosas personalizadas.
● Módulos: CommonJs, AMD, ES6 modules, CSS, Images, JSON, Coffeescript,
LESS...
WebPack Empaquetador de módulos.
● Formato de módulo:
○ AMD (Asynchronous Module Definition)
○ CommonJS
● División de código
● Optimizaciones
● Loaders (cargadores)
● Aún más!!!!!
Formato de módulo AMD
● AMD: definir módulos cuyas dependencias son
cargadas asincrónicamente
○ Mejorar el tiempo de carga de los sitios web
○ Cargar múltiples archivos JavaScripts en tiempo de
ejecución
○ Puede usarse para organizar mejor el código
separándolo en archivos independientes que
encapsulan su lógica.
○ Similar a import, package, y class.
Formato de módulo CommonJS
● CommonJS es un proyecto con el objetivo de especificar un ecosistema
JavaScript fuera del navegador (por ejemplo, en el servidor o para
aplicaciones de escritorio nativas)
● Inicialmente llamado ServerJS
● Kevin Dangoor ingeniero de Mozilla (Enero 2009)
● CommonJS no está afiliada con el grupo ECMA TC39 Internacional que
trabaja en ECMAScript, pero algunos miembros del TC39 participar en el
proyecto
División de código
● Se puede manejar una base de código modular
si no ha utilizado un sistema de módulos.
● Estos módulos exportan una interfaz al objeto
global ex:“window”. Los módulos pueden
acceder a la interfaz de dependencias sobre el
objeto global.
○ Conflictos con el objeto global.
○ Orden de carga es importante.
○ Los desarrolladores tienen que resolver las
dependencias de los módulos/bibliotecas.
○ En grandes proyectos, la lista puede ser muy larga y
difícil de manejar.
Optimizaciones
● Minimización
● Deduplicación
○ Esta técnica de respaldo elimina los datos
redundantes almacenados, guardando una
única copia idéntica de los datos
● Trozos (chunks)
○ Transferencia
● Single-Page-App
● Multi-Page-App
○ Compartir código común entre páginas.
Loaders (cargadores)
● webpack sólo puede procesar JavaScript de forma nativa, se usan
cargadores para transformar otros recursos en JavaScript. Al hacer esto,
todos los recursos forman un módulo.
● Tipos
○ Basic
○ Packaging
○ Dialects
○ Templating
○ Styling
○ Translation
○ Support
¿Aún más?...
● Multiple targets
● Development Tools
● Plugins
● Shimming modules
● Long-term Caching
● Testing
● Build performance
● webpack with grunt gulp bower karma
Estáticos
Activos/Bienes
Módulos con
Dependencias
Ejemplo1
Ejemplo2
Ejemplo3
Objetivos de WebPack
● Dividir el árbol de dependencias en trozos cargados a demanda.
● Mantenga el tiempo de carga inicial baja.
● Cada static asset debe ser capaz de ser un módulo.
● Capacidad de integrar bibliotecas de terceros como módulos.
● Posibilidad de personalizar casi todas las partes del “module bundler”.
● Adecuado para grandes proyectos.
Justificación de WebPack
● Los módulos existentes no son muy adecuados para grandes proyectos
(grandes aplicaciones de una sola página Single-Page Applications
(SPAs)).
● La razón más apremiante para desarrollarlo era la División de Código y que
los activos estáticos (assets, statics) encajaran perfectamente juntos a través
de la modularización.
● Se intentó extender enfardadoras de módulos existentes, pero no fue posible
lograr todos los objetivos. (autor)
Me convencí? Por dónde comienzo?
● http://webpack.github.io/docs/tutorials/getting-started/

Contenu connexe

Tendances

Macrosoft power point 2003
Macrosoft power point 2003Macrosoft power point 2003
Macrosoft power point 2003
xiomaraandrade
 

Tendances (11)

Optimización del rendimiento web
Optimización del rendimiento webOptimización del rendimiento web
Optimización del rendimiento web
 
Presentacion Taller Desarrollo de Blogs
Presentacion Taller Desarrollo de BlogsPresentacion Taller Desarrollo de Blogs
Presentacion Taller Desarrollo de Blogs
 
Nosql y cassandra
Nosql y cassandraNosql y cassandra
Nosql y cassandra
 
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDBIntroducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
 
S8 p2
S8 p2S8 p2
S8 p2
 
MongoDB (Conceptos Básicos) - Junio 2010
MongoDB (Conceptos Básicos) - Junio 2010MongoDB (Conceptos Básicos) - Junio 2010
MongoDB (Conceptos Básicos) - Junio 2010
 
Macrosoft power point 2003
Macrosoft power point 2003Macrosoft power point 2003
Macrosoft power point 2003
 
Introducción a NoSQL con MongoDB y FireDAC
Introducción a NoSQL con MongoDB y FireDAC Introducción a NoSQL con MongoDB y FireDAC
Introducción a NoSQL con MongoDB y FireDAC
 
Introducción a la administración de sitios web
Introducción a la administración de sitios webIntroducción a la administración de sitios web
Introducción a la administración de sitios web
 
#Dean document db + express + angularjs + nodejs running on azure
#Dean document db + express + angularjs + nodejs running on azure#Dean document db + express + angularjs + nodejs running on azure
#Dean document db + express + angularjs + nodejs running on azure
 
Pagina web
Pagina webPagina web
Pagina web
 

En vedette

Kent County Fact Sheet_FINAL
Kent County Fact Sheet_FINALKent County Fact Sheet_FINAL
Kent County Fact Sheet_FINAL
Abigail Anderson
 
America's Tooth Fairy and Saskatchewan Oral Health Coalition
America's Tooth Fairy and Saskatchewan Oral Health CoalitionAmerica's Tooth Fairy and Saskatchewan Oral Health Coalition
America's Tooth Fairy and Saskatchewan Oral Health Coalition
saskohc
 

En vedette (15)

Kent County Fact Sheet_FINAL
Kent County Fact Sheet_FINALKent County Fact Sheet_FINAL
Kent County Fact Sheet_FINAL
 
Angel Group Screening Practices - Some Data and Observations
Angel Group Screening Practices - Some Data and ObservationsAngel Group Screening Practices - Some Data and Observations
Angel Group Screening Practices - Some Data and Observations
 
G&R_Offre d'emploi_CTO_LPA
G&R_Offre d'emploi_CTO_LPAG&R_Offre d'emploi_CTO_LPA
G&R_Offre d'emploi_CTO_LPA
 
Các bài toán tổ hợp
Các bài toán tổ hợpCác bài toán tổ hợp
Các bài toán tổ hợp
 
Life of a fragment of history
Life of a fragment of historyLife of a fragment of history
Life of a fragment of history
 
radhika
radhikaradhika
radhika
 
Theoretical research
Theoretical researchTheoretical research
Theoretical research
 
How we built an event-time merge of two kafka-streams with spark-streaming
How we built an event-time merge of two kafka-streams with spark-streamingHow we built an event-time merge of two kafka-streams with spark-streaming
How we built an event-time merge of two kafka-streams with spark-streaming
 
Ryanair presentation- Future of BDD in Ryanair
Ryanair presentation- Future of BDD in RyanairRyanair presentation- Future of BDD in Ryanair
Ryanair presentation- Future of BDD in Ryanair
 
Ryanair presentation-Use of Gherkin in BDD
Ryanair presentation-Use of Gherkin in BDDRyanair presentation-Use of Gherkin in BDD
Ryanair presentation-Use of Gherkin in BDD
 
Digital Dynamics are Challenging Software Testing
Digital Dynamics are Challenging Software Testing Digital Dynamics are Challenging Software Testing
Digital Dynamics are Challenging Software Testing
 
Cost Savings and Investment in Digital Testing
Cost Savings and Investment in Digital TestingCost Savings and Investment in Digital Testing
Cost Savings and Investment in Digital Testing
 
Ryanair Presentation- Growth ambitions require speed evolution of BDD in Ryanair
Ryanair Presentation- Growth ambitions require speed evolution of BDD in RyanairRyanair Presentation- Growth ambitions require speed evolution of BDD in Ryanair
Ryanair Presentation- Growth ambitions require speed evolution of BDD in Ryanair
 
Agile is Also Driving Functional Automation From Requirements to Reporting le...
Agile is Also Driving Functional Automation From Requirements to Reporting le...Agile is Also Driving Functional Automation From Requirements to Reporting le...
Agile is Also Driving Functional Automation From Requirements to Reporting le...
 
America's Tooth Fairy and Saskatchewan Oral Health Coalition
America's Tooth Fairy and Saskatchewan Oral Health CoalitionAmerica's Tooth Fairy and Saskatchewan Oral Health Coalition
America's Tooth Fairy and Saskatchewan Oral Health Coalition
 

Similaire à Web pack para la construcción de un proyecto javascript.

Alfresco Enterprise: Escalabilidad y Tuning
Alfresco Enterprise: Escalabilidad y TuningAlfresco Enterprise: Escalabilidad y Tuning
Alfresco Enterprise: Escalabilidad y Tuning
Toni de la Fuente
 
Gwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrascoGwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrasco
Manuel Carrasco Moñino
 

Similaire à Web pack para la construcción de un proyecto javascript. (20)

MEAN Stack
MEAN StackMEAN Stack
MEAN Stack
 
Semana 2 Configuración entorno de desarrollo
Semana 2   Configuración entorno de desarrolloSemana 2   Configuración entorno de desarrollo
Semana 2 Configuración entorno de desarrollo
 
Entonamiento y perfilado de Drupal
Entonamiento y perfilado de DrupalEntonamiento y perfilado de Drupal
Entonamiento y perfilado de Drupal
 
Los mejores trucos y prácticas para configurar drupal
Los mejores trucos y prácticas para configurar drupalLos mejores trucos y prácticas para configurar drupal
Los mejores trucos y prácticas para configurar drupal
 
Arquitectura de una Caché para Almacenar Sitios Web en Dispositivos Móviles P...
Arquitectura de una Caché para Almacenar Sitios Web en Dispositivos Móviles P...Arquitectura de una Caché para Almacenar Sitios Web en Dispositivos Móviles P...
Arquitectura de una Caché para Almacenar Sitios Web en Dispositivos Móviles P...
 
Características MONGO DB
Características MONGO DBCaracterísticas MONGO DB
Características MONGO DB
 
Base de datos
Base de datosBase de datos
Base de datos
 
PostgreSQL vs MySQL: PostgreSQL como alternativa.
PostgreSQL vs MySQL: PostgreSQL como alternativa.PostgreSQL vs MySQL: PostgreSQL como alternativa.
PostgreSQL vs MySQL: PostgreSQL como alternativa.
 
Desarrollo modermo de aplicaciones web
Desarrollo modermo de aplicaciones webDesarrollo modermo de aplicaciones web
Desarrollo modermo de aplicaciones web
 
Dragome en JavaConf Buenos Aires 2014
Dragome en JavaConf Buenos Aires 2014 Dragome en JavaConf Buenos Aires 2014
Dragome en JavaConf Buenos Aires 2014
 
Introducción mongodb y desarrollo
Introducción mongodb y desarrolloIntroducción mongodb y desarrollo
Introducción mongodb y desarrollo
 
Drupal 8 WorkShop - e-Ghost 2015
Drupal 8 WorkShop - e-Ghost 2015  Drupal 8 WorkShop - e-Ghost 2015
Drupal 8 WorkShop - e-Ghost 2015
 
Alfresco Enterprise: Escalabilidad y Tuning
Alfresco Enterprise: Escalabilidad y TuningAlfresco Enterprise: Escalabilidad y Tuning
Alfresco Enterprise: Escalabilidad y Tuning
 
Maual de instalacion mongodb
Maual de instalacion mongodbMaual de instalacion mongodb
Maual de instalacion mongodb
 
Drupal Sitebuilding 101
Drupal Sitebuilding 101Drupal Sitebuilding 101
Drupal Sitebuilding 101
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Gwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrascoGwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrasco
 
202204-Modernizando aplicaciones legacy
202204-Modernizando aplicaciones legacy202204-Modernizando aplicaciones legacy
202204-Modernizando aplicaciones legacy
 
Barracuda mvc
Barracuda mvcBarracuda mvc
Barracuda mvc
 
Mongo db
Mongo dbMongo db
Mongo db
 

Plus de Jorge Ulises Useche Cuellar

Plus de Jorge Ulises Useche Cuellar (8)

Programación reactiva con java
Programación reactiva con javaProgramación reactiva con java
Programación reactiva con java
 
Estatutos GLUD 2011
Estatutos GLUD 2011Estatutos GLUD 2011
Estatutos GLUD 2011
 
Pruebas al Software
Pruebas al SoftwarePruebas al Software
Pruebas al Software
 
Introducción al software libre y open source
Introducción al software libre y open sourceIntroducción al software libre y open source
Introducción al software libre y open source
 
Presentación react con redux SLUD 2017
Presentación react con redux SLUD 2017Presentación react con redux SLUD 2017
Presentación react con redux SLUD 2017
 
Estatutos GLUD
Estatutos GLUDEstatutos GLUD
Estatutos GLUD
 
Presentación Emisora en Línea con Tecnologías Libres
Presentación Emisora en Línea con Tecnologías LibresPresentación Emisora en Línea con Tecnologías Libres
Presentación Emisora en Línea con Tecnologías Libres
 
Formatos y estándares libres
Formatos y estándares libresFormatos y estándares libres
Formatos y estándares libres
 

Web pack para la construcción de un proyecto javascript.

  • 1. WebPack para la construcción de un proyecto Javascript. Jorge Ulises Useche Cuellar
  • 2.
  • 4. WebPack Empaquetador de módulos. ● Empaquetamiento de módulos CommonJS / AMD para el navegador. ● Permite dividir su base de código en varios paquetes, los cuales pueden ser cargados a la demanda- ● Cargadores de apoyo a los archivos de procesamiento previo, es decir, JSON, jade, coffee, css, menos, ... y cosas personalizadas. ● Módulos: CommonJs, AMD, ES6 modules, CSS, Images, JSON, Coffeescript, LESS...
  • 5. WebPack Empaquetador de módulos. ● Formato de módulo: ○ AMD (Asynchronous Module Definition) ○ CommonJS ● División de código ● Optimizaciones ● Loaders (cargadores) ● Aún más!!!!!
  • 6. Formato de módulo AMD ● AMD: definir módulos cuyas dependencias son cargadas asincrónicamente ○ Mejorar el tiempo de carga de los sitios web ○ Cargar múltiples archivos JavaScripts en tiempo de ejecución ○ Puede usarse para organizar mejor el código separándolo en archivos independientes que encapsulan su lógica. ○ Similar a import, package, y class.
  • 7. Formato de módulo CommonJS ● CommonJS es un proyecto con el objetivo de especificar un ecosistema JavaScript fuera del navegador (por ejemplo, en el servidor o para aplicaciones de escritorio nativas) ● Inicialmente llamado ServerJS ● Kevin Dangoor ingeniero de Mozilla (Enero 2009) ● CommonJS no está afiliada con el grupo ECMA TC39 Internacional que trabaja en ECMAScript, pero algunos miembros del TC39 participar en el proyecto
  • 8. División de código ● Se puede manejar una base de código modular si no ha utilizado un sistema de módulos. ● Estos módulos exportan una interfaz al objeto global ex:“window”. Los módulos pueden acceder a la interfaz de dependencias sobre el objeto global. ○ Conflictos con el objeto global. ○ Orden de carga es importante. ○ Los desarrolladores tienen que resolver las dependencias de los módulos/bibliotecas. ○ En grandes proyectos, la lista puede ser muy larga y difícil de manejar.
  • 9. Optimizaciones ● Minimización ● Deduplicación ○ Esta técnica de respaldo elimina los datos redundantes almacenados, guardando una única copia idéntica de los datos ● Trozos (chunks) ○ Transferencia ● Single-Page-App ● Multi-Page-App ○ Compartir código común entre páginas.
  • 10. Loaders (cargadores) ● webpack sólo puede procesar JavaScript de forma nativa, se usan cargadores para transformar otros recursos en JavaScript. Al hacer esto, todos los recursos forman un módulo. ● Tipos ○ Basic ○ Packaging ○ Dialects ○ Templating ○ Styling ○ Translation ○ Support
  • 11. ¿Aún más?... ● Multiple targets ● Development Tools ● Plugins ● Shimming modules ● Long-term Caching ● Testing ● Build performance ● webpack with grunt gulp bower karma
  • 16. Objetivos de WebPack ● Dividir el árbol de dependencias en trozos cargados a demanda. ● Mantenga el tiempo de carga inicial baja. ● Cada static asset debe ser capaz de ser un módulo. ● Capacidad de integrar bibliotecas de terceros como módulos. ● Posibilidad de personalizar casi todas las partes del “module bundler”. ● Adecuado para grandes proyectos.
  • 17. Justificación de WebPack ● Los módulos existentes no son muy adecuados para grandes proyectos (grandes aplicaciones de una sola página Single-Page Applications (SPAs)). ● La razón más apremiante para desarrollarlo era la División de Código y que los activos estáticos (assets, statics) encajaran perfectamente juntos a través de la modularización. ● Se intentó extender enfardadoras de módulos existentes, pero no fue posible lograr todos los objetivos. (autor)
  • 18. Me convencí? Por dónde comienzo? ● http://webpack.github.io/docs/tutorials/getting-started/