> For the complete documentation index, see [llms.txt](https://notes.bf.wtf/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://notes.bf.wtf/programming/modern-frontend-development.md).

# Modern Frontend Development

## Hot Takes

1. [Typescript](https://www.typescriptlang.org/) is better than Javascript
2. [The Cascading part of CSS is a mistake](https://www.youtube.com/watch?v=iniwPUEbPUM)
3. [CSS-in-JS](https://github.com/emotion-js/emotion) (a.k.a. CSS-in-TS) is good
4. Style overrides are almost never good
5. Immutability and purity are essential
6. [Redux is mostly irrelevant](https://kentcdodds.com/blog/application-state-management-with-react)
7. GraphQL is cool
8. [Approaches like redux-thunk and redux-saga are an anti-pattern](https://github.com/bfollington/use-stream)
9. Typescript should just add support for pattern matching and `|>`&#x20;
10. Semicolons suck
11. If you've gotta use CSS, use [BEM](http://getbem.com/introduction/)

## Technology Stacks

### Web

#### React

* Typescript
* emotion
* rxjs
* Ramda (or Sanctuary)
* fp-ts
* framer-motion
* use-spring
* jest

#### Reason

* ReasonReact
* bs-css
* wonka

#### Elm

* Elm

#### F\#

* F#
* Fable
* [Feliz](https://zaid-ajaj.github.io/Feliz/)
* Elmish

### iOS

#### SwiftUI

#### React Native
