big question that's been popping through my head recently is:
-
big question that's been popping through my head recently is:
so we're acknowledging that the obsession with DX has been a driving force behind the JS industrial complex or whatever, and the increasing bloat of webapps at the expense of users.
But should we put some of the blame on the web platform itself for not centering DX in such a way that doing the right thing is, in fact, most easily done through native APIs and plain HTML/CSS? Are web standards still moving too slow on that front? Are they still a bit too gun-shy?
Dumping responsibility on developers for trying to make their own lives easier when the tools you give them by default, as good as they are, still require them to jump through some hoops to do the right thing, seems like a losing strategy in the long run, no?
I've been having a lot of fun relearning and reevaluating a lot of my assumptions around web dev, but it's been a lot of work and there's really not a lot of easy, centralized education/documentation on how to put all these disparate pieces together into something cohesive. I just kinda have a bunch of lego blocks that got dumped in front of me and told to make a fancy, progressively enhanced, low-JS MOC millenium falcon out of it.
And I'm JS/TS developer with 15+ years of experience who works in FAANG and is really passionate about this stuff. I don't think I'd be able/willing to do all this otherwise.
-
Maybe the answer to everything here isn't really "the web sucks at DX", because it genuinely, truly, honestly has been making enormous strides in that aspect, but "we need better education/documentation on how to develop things end-to-end"
MDN actually does a really good job of this! But maybe we need more focused guides that are less technology-centered and more task/application-shape-oriented.
-
and thinking about it more, yeah, the noise injected into that signal by the "evangelism" of the JS industrial complex is making it actually harder for anyone to learn to do these things closer to the platform. It's actively sabotaging efforts to educate/learn.
-
@zkat this is the one. I think there should be well-documented implementations of common intermediate-level patterns. We leave so much of this as an exercise for the reader/programmer and it's just not necessary.
-
@zkat but I would also like to give you some perspective. I haven't even seen what you've built yet. But just from the description, it sounds like you've done a lot. And it hasn't been that long. And it sounds like you've been working mostly by yourself. I would say that, in real terms, the amount of leverage you've gotten from the web platform has been tremendous. We should continue to add affordances. But where we are is actually pretty sweet.
-
@polotek I mean it’ll be a while until I have anything to show because it’s a real, full app, not a focused demo, but I’m looking forward to it.
And I think this is the kind of exercise that’s really necessary, rather than yet another todo list
But yeah it’s honestly gotten really far and it’s literally still less than 40kb of JS. Even things like setting up SSR for the web components in a non-JS server, turned out to be way easier than they seemed in my head. I have to learn a couple of new things every time but once I do, things just GO
-
Jan Lehnardt :couchdb:replied to Kat Marchán 🐈 last edited by
-
Marco Rogersreplied to Jan Lehnardt :couchdb: last edited by
-
-
@zkat @janl so I want to do a little frontend only tool. It's essentially savings rate calculator. There are a million of them. But I want one that allows me to change the values with little input sliders.
I got something basic set up. But then I kind of got bogged down in details. Mostly around how to represent the interest rate math.
But also I started to turn the sliders into little web components before realizing that was overkill right now.
-
-
@polotek @janl I just got linked to https://adactio.com/journal/20618 elsethread and it's very much along the lines of this kind of augmentation you're trying to do!
aka "use a regular
input type=range
, then wrap it in a component to do fancy progressive enhancement on it" -
@polotek @zkat @janl output elements can be clarifying https://developer.mozilla.org/en-US/docs/Web/HTML/Element/output
-
@KevinMarks @zkat @janl oh this is cool. Sounds like it doesn't help with implementation, but it does give you better accessibility support out of the box. Neat.
-
@polotek @KevinMarks @janl would you like my 2c on what I’ve found works well for what I would’ve traditionally used 2-way binding for?
-
Jan Lehnardt :couchdb:replied to Kat Marchán 🐈 last edited by
@zkat @polotek @KevinMarks obvs
-
Kat Marchán 🐈replied to Jan Lehnardt :couchdb: last edited by
@janl @polotek @KevinMarks I was asking Marco I don’t want to give advice when it’s not requested
-
Jan Lehnardt :couchdb:replied to Kat Marchán 🐈 last edited by
@zkat @polotek @KevinMarks I was rudely answering for Marco ;D — I think he’s collecting perspectives, so I assume yours is valuable.
-
-
Marco Rogersreplied to Jan Lehnardt :couchdb: last edited by
@janl @zkat @KevinMarks you're both doing great. thanks