1 of 55

SVELTE

AND THE GREAT SPACE ELEVATOR

SHAWN @SWYX WANG

Co-organizer, Svelte Society

MAGNOLIAJS CONF 2020

2 of 55

HOW DO WE GET INTO

SPACE?

MISSION

PART I

3 of 55

SATURN V 1967 - 1973

๐Ÿ›ข๏ธ5,040,000lbs

๐Ÿ›ข๏ธ1,093,900lbs

๐Ÿ›ข๏ธ271,000lbs

๐Ÿงณ90,000lbs

๐Ÿ’ธ$1 billion ๏ฟฝ($190m in 1970)

4 of 55

SPACE SHUTTLE 1981 - 2011

๐Ÿ›ข๏ธ1,250,000lbs

๐Ÿ›ข๏ธ1,250,000lbs

๐Ÿ›ข๏ธ1,680,000lbs

๐Ÿงณ240,000lbs

๐Ÿ’ธ$1.6 billion

5 of 55

Moon

384,400km

Low Earth Orbit

2,000km

REDUCED AMBITION

6 of 55

SATURN V

384,400km๏ฟฝ๐Ÿงณ 90,000 lbs

๐Ÿ’ธ 1b ๐Ÿ›ข๏ธ6.4m lbs

SPACE SHUTTLE

2,000km๏ฟฝ๐Ÿงณ 240,000 lbs๏ฟฝ๐Ÿ’ธ 1.6b ๐Ÿ›ข๏ธ4.2m lbs

7 of 55

FALCON HEAVY 2018

๐Ÿ›ข๏ธ954,800lbs

๐Ÿ›ข๏ธ245,800lbs

๐Ÿงณ141,000lbs

๐Ÿ’ธ$90 million

8 of 55

TYRANNY OF THE ROCKET EQUATION

๐Ÿ›ข๏ธFuel โฌ‡๏ธ

ฮ”V - change๏ฟฝin velocity โฌ†๏ธ

๐ŸงณPayload โฌ†๏ธ

9 of 55

TYRANNY OF THE ROCKET EQUATION

+

+

+

+...

10 of 55

TYRANNY OF THE ROCKET EQUATION

Delta-V๏ฟฝ(the good stuff)

Mass Ratio๏ฟฝ(initial mass ๏ฟฝ/ final mass )

Exhaust ๏ฟฝVelocity

11 of 55

TSIOLKOVSKY ROCKET EQUATION

12 of 55

PROS & CONS

Pros

Of Rockets

Cons

Of Rockets

  • ๐Ÿ’ฐ
  • ๐Ÿ›ข๏ธ
  • Not Scalable
  • They go Boom ๐Ÿ’ฅ
  • Theyโ€™re Real
  • They go Boom ๐Ÿ’ฅ

13 of 55

HOW DO WE MAKE

THE WEB?

MISSION

PART II

14 of 55

THE WEB WASNโ€™T DESIGNED FOR THIS

15 of 55

THE WEB WASNโ€™T DESIGNED FOR THIS

16 of 55

REAL WORLD PERFORMANCE BUDGETS

17 of 55

STATE OF THE WEB

18 of 55

JS FRAMEWORKS - HELLO WORLD

Framework P

Framework Q

Framework R

Framework V

Framework S

Framework T

Framework U

19 of 55

JS FRAMEWORKS - REAL WORLD

A

Avg

Framework

Footprint

100-200kb

20 of 55

Itโ€™s Not Just

JS WEIGHT

21 of 55

BOILERPLATE OVERHEAD

Framework S

Framework R

Framework P

22 of 55

DECISION FATIGUE

  • STATIC/SERVER SIDE RENDERING
  • A11Y LINTING
  • CLIENT SIDE ROUTING
  • HEAD MANAGEMENT
  • FORM MANAGEMENT
  • STATE MANAGEMENT
  • DATA FETCHING & CACHING
  • ANIMATIONS
  • TRANSITIONS
  • STYLING
  • MOCKING & TESTING

(and Maintenance)

23 of 55

WEB APPS ~2005-2015

๐Ÿ›ข๏ธJQuery

๐Ÿ›ข๏ธJQuery UI

๐Ÿ›ข๏ธJQuery Plugins

Your Code

24 of 55

WEB APPS ~2015-2020

Your Code

๐Ÿ›ข๏ธReact DOM

๐Ÿ›ข๏ธRedux

๐Ÿ›ข๏ธReact Router

25 of 55

TYRANNY OF RUNTIME FRAMEWORKS

๐Ÿ›ข๏ธJS โฌ‡๏ธ

Your Code โฌ‡๏ธ

Features โฌ†๏ธ

26 of 55

A WAY

OUT

MISSION

PART III

27 of 55

WHAT IF WE LAID DOWN A ROPE

In one moment, Earth; in the next, Heaven.

28 of 55

29 of 55

30 of 55

31 of 55

32 of 55

33 of 55

34 of 55

35 of 55

ITโ€™S NOT JUST TOURISM

36 of 55

ROCKETS

ELEVATOR

๐Ÿ’ธ

UPFRONT๏ฟฝINVESTMENT

PER TRIP

๐Ÿ’ธ

๐Ÿ’ธ

๐Ÿ’ธ

๐Ÿ’ธ

๐Ÿ’ธ

๐Ÿ’ธ

๐Ÿ’ธ

๐Ÿ’ธ

๐Ÿ’ธ

37 of 55

38 of 55

PROBLEM 1: SPACE DEBRIS

39 of 55

PROBLEM 2: TETHER MATERIAL

40 of 55

MVP? LUNAR ELEVATOR

41 of 55

COMPILERS๏ฟฝAS THE FUTURE

MISSION

PART IV

42 of 55

โ€œMy current โ€œinvestment thesisโ€ is that what we call web frameworks are transforming from runtime libraries into optimizing compilers.๏ฟฝ๏ฟฝWhen it comes to eking performance out of hand-authored JavaScript and accompanying runtime libraries, weโ€™ve reached the point of diminishing returns.โ€

43 of 55

  • Vue 3 Tree Shakeable APIs
  • Ember Glimmer
  • React Selective Hydration? Gatsby/Next.js?
  • Angular Ivy
  • Svelte

โ€œCOMPILERโ€ FRAMEWORKS

44 of 55

ANGULAR IVY

45 of 55

46 of 55

WRITE LESS CODE

47 of 55

PERSONAL ANECDATA

(not real benchmarks)

48 of 55

49 of 55

TRULY REACTIVE

50 of 55

BATTERIES INCLUDEDโ€ฆ ONLY IF YOU NEED IT

๐Ÿคฎ

๐Ÿ˜

51 of 55

AND MORE...

  • GREAT DOCS!
  • SIMPLE INTERNALS!
  • NO BAGGAGE!
  • FRIENDLY COMMUNITY!
  • ALIGNED WITH THE ES MODULES FUTURE!

52 of 55

LIGHTER TOOLING

SVELVET DEMO

https://github.com/jakedeichert/svelvet/

53 of 55

Framework

Libraries

More Libraries

๐ŸงณYour App

๐ŸงณYour App

Compiler with Batteries Included

54 of 55

RUNTIME

FRAMEWORKS

COMPILER๏ฟฝFRAMEWORKS

๐Ÿง‘๐Ÿฝโ€๐Ÿ’ป ๐Ÿง‘๐Ÿฟโ€๐Ÿ’ป ๐Ÿ‘ฉโ€๐Ÿ’ป ๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป

CORE TEAM

PER APP

๐Ÿง‘โ€๐Ÿ’ป๐Ÿง‘๐Ÿปโ€๐Ÿ’ป๐Ÿง‘๐Ÿผโ€๐Ÿ’ป๐Ÿง‘๐Ÿฝโ€๐Ÿ’ป ๐Ÿง‘๐Ÿพโ€๐Ÿ’ป๐Ÿง‘๐Ÿฟโ€๐Ÿ’ป๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป๐Ÿ‘ฉ๐Ÿผโ€๐Ÿ’ป๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿ’ป๐Ÿ‘ฉ๐Ÿพโ€๐Ÿ’ป๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿ’ป

๐Ÿง‘๐Ÿพโ€๐Ÿ’ป ๐Ÿง‘๐Ÿฟโ€๐Ÿ’ป ๐Ÿ‘ฉโ€๐Ÿ’ป ๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป ๐Ÿ‘ฉ๐Ÿผโ€๐Ÿ’ป ๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿ’ป ๐Ÿ‘ฉ๐Ÿพโ€๐Ÿ’ป ๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿ’ป ๐Ÿง‘๐Ÿปโ€๐Ÿ’ป

๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿ’ป๐Ÿง‘๐Ÿปโ€๐Ÿ’ป

๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿ’ป๐Ÿง‘๐Ÿปโ€๐Ÿ’ป

๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿ’ป๐Ÿง‘๐Ÿปโ€๐Ÿ’ป

๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿ’ป๐Ÿง‘๐Ÿปโ€๐Ÿ’ป

55 of 55

GET INVOLVED

30 Mins Tutorial: svelte.dev/tutorial

Discord Community: svelte.dev/chat๏ฟฝTalk: svelte.dev/blog/svelte-3-rethinking-reactivity

Svelte Society Day - Apr 26: sveltesociety.dev

Questions?

swyx.io/speaking