Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
JavaScriptures 5 - Babel & Webpack
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Artsy Open Source
April 13, 2018
Programming
650
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
JavaScriptures 5 - Babel & Webpack
https://github.com/artsy/javascriptures/tree/master/6_babel-webpack
Artsy Open Source
April 13, 2018
More Decks by Artsy Open Source
See All by Artsy Open Source
Adding React Native to an Existing App - Artsy x React Native 2018
artsyopensource
0
700
The Artsy Omakase - Artsy x React Native 2018
artsyopensource
1
1.2k
Learning How to Learn - Artsy x React Native
artsyopensource
0
600
JavaScriptures 4.2 - Local State
artsyopensource
0
620
JavaScriptures 3 - Styled Components
artsyopensource
1
500
JavaScriptures 4.1 - Relay
artsyopensource
0
310
JavaScriptures 2 - TypeScript
artsyopensource
0
420
JavaScriptures 1 - React
artsyopensource
0
430
Other Decks in Programming
See All in Programming
Kotlinize Is Not Just Converting to Kotlin
chigichan24
1
200
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
8
2.4k
GraphQL の onError と Nullability のこれから
quramy
0
190
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
1.9k
複雑なUIコンポーネントとの ⻑い付き合い⽅:波及するバグからテスト戦略を経て、安全な再設計へ
mixplace
0
480
Seven New Principles of Software Engineering
yegor256
0
370
続・コーディングルールの鮮度を保ちたい / keep-fresh-go-internal-conventions-again
handlename
0
140
Long Living Tokens, Die, Die, Die! (or: The One Ring is Banned in Modern)
sylph01
0
380
조합이폭발하는디자인시스템이걸눈으로도테스트하라고요
giljongyu
0
620
graphql-ruby を Spinel で速くしようとした話
mtsmfm
0
130
そのデザイントークン、Flutterでも同じ見た目になりますか?
nakamizu
0
110
Snowflake Openflow Connector利用の勘所 / 20261024developersio2026tokyo-snowflake-openflow
kasacchiful
PRO
0
230
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
450
Become a Pro
speakerdeck
PRO
31
6.3k
GraphQLとの向き合い方2022年版
quramy
50
15k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
2
370
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
2
6.4k
Leo the Paperboy
mayatellez
10
2.4k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
RailsConf 2023
tenderlove
30
1.6k
For a Future-Friendly Web
brad_frost
184
11k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
540
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
950
Transcript
Babel/Webpack Be fruitful, and bundle JavaScriptures V Chris
None
But first, what is JavaScript?
None
None
Then Google Maps happened
None
JavaScript quickly went from being a “toy language” to something
that was understood to be capable of real power
But there were problems...
None
None
None
None
None
NodeJS opened up the world of JavaScript to a new
community
(But the language had problems)
None
However, server-side JavaScript started to be used in all sorts
of creative ways
It started to rewrite itself
None
None
CoffeeScript was the spark. It showed the world that if
you didn’t like the language you could change it, and you didn’t need the browser vendors to do so
None
None
Babel has support for the latest version of JavaScript through
syntax transformers. These plugins allow you to use new syntax without waiting for browser support
Before browser vendors implemented support for modern JavaScript this was
essential
Babel unlocked JavaScript’s potential as a language that can be
enjoyable to use
It also created a platform for real-time, open-source language development
and exploration
None
Language proposals are submitted by TC39, and prototyped with Babel
These proposals are then moved in stages through the approval
process
None
Once a proposal has reached Stage IV it is considered
stable and will be incorporated into the language
How does this apply to Artsy?
None
Our JavaScript projects incorporate many language features, some of which
are not a part of the official JavaScript spec
None
None
“JavaScript that Scales” (it’s true)
None
These language features don’t run natively in the browser
They need to be transpiled into something that the browser
(or the server) can understand
None
With JavaScript’s low and high-level language features, anything is possible
None
4. You are expected to expect the unexpected every minute,
every hour of every day and of every night. - John C. Lilly
And things move fast....
None
Things that were previously impossible to imagine have become possible,
as well as common
WebAssembly (abbreviated Wasm) is a binary instruction format for a
stack-based virtual machine. Wasm is designed as a portable target for compilation of high-level languages like C/C++/Rust, enabling deployment on the web for client and server applications.
JavaScript frameworks can make use of WebAssembly to confer massive
performance advantages and new features while still making functionality easily available to web developers.
But how does one manage this outward-spiraling complexity?
None
None
Webpack is a Module Bundler that runs during development
It builds a dependency graph of your application and combines
those assets into one or more bundles to be consumed by a target
None
Simply put…
None
None
It provides a common set of tools for managing application
complexity
None
Because of its robust dependency graph architecture, powerful developer tooling
can be built on top of it
None
And the overall developer experience highly optimized
None
However, Webpack configuration can be complex
None
It is designed for planet scale
But it can also be simple
webpack --mode development --output dist/bundle.js --watch
None
Webpack 4 can run without configuration via the “development” --mode
flag
What does a basic Webpack config look like?
None
None
None
None
What about a server?
None
None
None
Thanks!
None