Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Frontend Web Development in 2021+
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Arnelle Balane
April 24, 2021
Technology
190
0
Share
Frontend Web Development in 2021+
Arnelle Balane
April 24, 2021
More Decks by Arnelle Balane
See All by Arnelle Balane
Introduction to building Chrome Extensions
arnellebalane
0
140
Color Palettes Of The Most Colorful Birds
arnellebalane
0
140
Let's build a video streaming app using Web technologies
arnellebalane
0
170
Let's build a video calling app with Web technologies and Firebase!
arnellebalane
0
180
Ridiculous Scientific Names
arnellebalane
0
290
Fishes With Terrestrial-Animal Names
arnellebalane
0
160
Making the Web more capable with Project Fugu
arnellebalane
0
150
Extending CSS using Houdini
arnellebalane
0
130
Securing user accounts with WebAuthn
arnellebalane
0
57
Other Decks in Technology
See All in Technology
QAエンジニアはどうやって プロダクト議論の場に入れるのか?
moritamasami
2
360
UIライブラリに依存しすぎないReact Native設計を目指して
grandbig
0
190
Building Production-Ready Agents Microsoft Agent Framework
_mertmetin
0
150
CyberAgent YJC Connect
shimaf4979
1
140
AIが自律的に働く時代へ Amazon Quick で実現するAIエージェント紹介
koheiyoshikawa
0
180
もっとコンテンツをよく構造化して理解したいので、LLM 時代こそ Taxonomy の設計品質に目を向けたい〜!
morinota
0
160
ハーネスエンジニアリングをやりすぎた話 ~そのハーネスは解体された~
gotalab555
5
2k
COBOL婆さんの伝説
poropinai1966
0
130
AWS Transform CustomでIaCコードを自由自在に変換しよう
duelist2020jp
0
240
Modernizing Your HCL Connections Experience: Visual Report to chain, Profile Enhancements, and AI Integration
wannesrams
0
270
「SaaSの次の時代」に重要性を増すステークホルダーマネジメントの要諦 ~解像度を圧倒的に高めPdMの価値を最大化させる方法~
kakehashi
PRO
3
3.7k
ServiceによるKubernetes通信制御ーClusterIPを例に
miku01
1
140
Featured
See All Featured
AI: The stuff that nobody shows you
jnunemaker
PRO
6
620
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
130
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
510
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
54k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.4k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.9k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
540
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
16
Transcript
FRONTEND WEB DEVELOPMENT IN 2021+ Arnelle Balane @arnellebalane
Arnelle Balane Tech Lead @ Newlogic Google Developers Expert for
Web Technologies @arnellebalane UncaughtException @uncaughtxcptn Subscribe to our channel! /UncaughtException
bit.ly/fe-web-in-2021
Shawn Wang swyx.io/js-third-age
The First Age 1997 - 2007 Building out the JavaScript
language
The First Age 1997 - 2007 1 2 3 4
☠
The First Age 1997 - 2007
The First Age 1997 - 2007
The First Age 1997 - 2007
Exploring and expanding the JavaScript language The Second Age 2009
- 2019
The Second Age 2009 - 2019 5
The Second Age 2009 - 2019
The Second Age 2009 - 2019 Web frameworks
The Second Age 2009 - 2019 Task runners
The Second Age 2009 - 2019 Bundlers
The Second Age 2009 - 2019 UI libraries / frameworks
The Second Age 2009 - 2019 Metaframeworks
The Second Age 2009 - 2019 Code quality tools
The Second Age 2009 - 2019 2015 2018 2016 2019
2017 2020
The Second Age 2009 - 2019
The Second Age 2009 - 2019 Desktop and mobile
Clearing away legacy assumptions Collapsing layers of tooling The Third
Age 2020 and beyond
• Synchronous, designed for server environments • Doesn’t natively work
on browsers • Doesn’t work too well with static analysis tools Clearing away legacy assumptions Reliance on CommonJS
• Works on both server and browser environments • Works
well with static analysis tools, tree-shakeable Moving to ES Modules
• “You should be able to use a bundler because
you want to, and not because you need to” • Provides unbundled ES Modules that run in the browser • Streaming imports: convert bare imports into CDN imports from Skypack Snowpack
Snowpack Source code Loaded in browser
• Uses native primitives of the Web platform • Relies
on packages being compatible with native ES Modules • Streaming imports: safely import packages from npm or Skypack without installation wmr
wmr Import from npm Import from Skypack
• Opts for ES Modules using absolute or relative URLs,
even for its standard library Deno
Deno Import from npm
Pros in using JS • Easier to contribute to projects
• Rich ecosystem Clearing away legacy assumptions JS tools must be written in JS Pros in using non-JS • Compile to native binaries • Usually faster
• Bundler and minifier written in Go • 10x -
100x faster than JS-based tools
None
• JavaScript / TypeScript compiler written in Rust swc
The Third Age Collapsing layers of tooling One thing doing
many things well, instead of many things doing one thing well
Frontend Decision Fatigue • Animations • Testing • Linting •
Code formatting • Bundling • Frontend framework / library • Client side routing • State management • Form management • Data fetching • Styling
Frontend Metaframeworks
• Whole new runtime • Comes with TypeScript support, linting,
formatting, testing, bundling, and a standard library out of the box Deno
Deno
• Designed to replace Babel, ESLint, webpack, Prettier, Jest, etc.
• Bundling, compiling, docs generation, formatting, linting, minification, testing, type checking, etc. Rome
Rome
• Collapsing everything from reactivity, state management, and animations into
a compiler • No more Virtual DOM layer
None
None
None
Web Development in 2021 and beyond • Faster tools •
Better DX and UX • ES Modules-first • Collapsed layers • More secure
Thank you! Frontend Web Development in 2021+ Arnelle Balane @arnellebalane