JS tech:
- React + a bunch of crazy state management (slow, bloat, complex)
- Typescript (unsound, ugly)
- GraphQL (turned out to be not replacing RPC-EST (I know it right))
- A bunch of experiment js frameworks (despite they do more on server side)
- A bunch of VC-backed javascript thingy companies
Tailwindcss .. I like it when pre-custom [ ] syntax. It's not so good for interops; cli+config heavy instead of a lib)
WebAssembly. I think this is great, though slow to deliver promise.
Rust is great but not gains popularity in web space I was hoping for. Wasm binary from Rust is not as small as from Zig.
Passed the peak of Rails and peak of Elixir/Phoenix (I think it's already passed)
Non-web but web benefits from:
git is good. It was created long before 2012, though I think it's peak around 2012-2015
docker, created before 2012 but in 2012 it's considered a very new thing (not really well-known), but then k8s madness, developers realized it's not a layer of their expertise.
---
I've been a kind of chasing new shiny thing person in web dev. But my love to web dev has been all downhill since React. Why are these shiny things not really good fundamentally. I'm not sure what count as "good". I think Rails was definitely good (it helps create lots of solid business, not that fast but solid, great impact). I want to like new shiny things but at least please be actually good (not even great nor excellent).
Well, Elixir, WebAssembly, Git, Rust, are good to great.
* Websockets + JSON is 8x faster than HTTP and less error prone, so I worked on HTTP elimination in my app to great success. It has all the advantages of gRPC but you don’t have to deal with protobuf.
* Browser performance. My OS GUI loads in 200ms on Chrome and 300ms on Edge with full state restoration, which is faster than the GPU can visually render the output to screen. The performance tab in the browser dev tools is amazing.
* When you have a solid foundation you can scale an application in any direction very quickly. In the browser I am working directly to the DOM and treating it no differently than the file system: a big giant globally available living tree model. In the past week I wrote a command terminal that works in the browser with autocomplete and ANSI color support and it took about 10-12 hours because the application is mature.
* I see many new developers struggle with async functions and promise chains. I made a commitment to myself to avoid such struggles and fallback to old style callbacks which are more verbose and less clever.