102 lines
1.5 KiB
Text
102 lines
1.5 KiB
Text
#import "@preview/polylux:0.3.1": *
|
|
#import themes.simple: *
|
|
#show: simple-theme
|
|
|
|
#title-slide[
|
|
= WWW
|
|
|
|
Compendium of interesting web dev + Javascript factoids
|
|
|
|
Michael Zhang
|
|
]
|
|
|
|
#slide[
|
|
== Who am I #pause
|
|
|
|
- Former webmaster
|
|
- Programming languages
|
|
- 4 years of industry experience
|
|
- 10+ years of experience complaining about Javascript
|
|
]
|
|
|
|
#slide[
|
|
== History
|
|
|
|
#columns(2)[
|
|
- HTML (1991)
|
|
- Javascript (1995)
|
|
- CSS (1996)
|
|
- Flash (1995)
|
|
- JSON (2001)
|
|
- jQuery (2006)
|
|
- HTML 5 (2008)
|
|
- Node.js (2009)
|
|
- CoffeeScript (2009)
|
|
- Angular (2010)
|
|
- Typescript (2012)
|
|
- asm.js (2013)
|
|
- Webpack (2014)
|
|
- Babel (2014)
|
|
- Atom Shell (Electron) (2015)
|
|
- ECMAScript 6 (2015)
|
|
- React (2015)
|
|
]
|
|
]
|
|
|
|
#slide[
|
|
== Things we fixed
|
|
|
|
#columns(2)[
|
|
- JS features
|
|
- Scoping
|
|
- Arrow functions
|
|
- Modules
|
|
- Standard library
|
|
- Layout
|
|
- Flex
|
|
- Selectors
|
|
]
|
|
]
|
|
|
|
#slide[
|
|
== Good things
|
|
|
|
- Bundling
|
|
- HMR
|
|
- SSR + Hydration
|
|
- Cross-platform UI
|
|
- Reactivity...
|
|
]
|
|
|
|
#slide[
|
|
== Let's talk about reactivity
|
|
|
|
- Flux architecture vs. MVC vs. FRP
|
|
- Signal-based state management
|
|
]
|
|
|
|
#focus-slide[
|
|
== Web is a solid choice for UI
|
|
]
|
|
|
|
#slide[
|
|
== Bad
|
|
|
|
- JS Language
|
|
- Equality still sucks
|
|
- Prototypes still suck
|
|
- No macros
|
|
- Runtime
|
|
- Fingerprinting
|
|
- Ecosystem
|
|
- Bloat
|
|
- Lack of competition in browsers
|
|
]
|
|
|
|
#slide[
|
|
== What's next?
|
|
|
|
- HTMX?
|
|
- CCSS?
|
|
- Fully declarative web framework?
|
|
]
|