6 ms·
I was reading your comment and thought of Jonathan Blow's talk. Without even clicking the link, let me guess, that's from Moscow's 2019 conference? EDIT: yes,
by smoochy 4y ago
I was reading your comment and thought of Jonathan Blow's talk. Without even clicking the link, let me guess, that's from Moscow's 2019 conference?
EDIT: yes, it is. He has a very important point there.
I recently went on Twitch to see what young devs where coding. One (rather smart, I must say) young lady was creating a simple sign in/sign up page, but there's a twist: with React. Upon me asking, why wouldn't she just code it in plain HTML, she responded with a question: "but how would it connect to the API?". So there you go, ladies and gentlemen. I don't really know what to do about it, but I don't believe we're a bunch of old men yelling at a cloud (quite literally - AT A CLOUD), especially that I don't think we're that old.
- rglover 4y agoYup
- rglover 4y ago> I don't really know what to do about it, but I don't believe we're a bunch of old men yelling at a cloud (quite literally - AT A CLOUD), especially that I don't think we're that old. I'm working on it: https://github.com/cheatcode/joystick https://github.com/cheatcode/joystick. The tl;dr is that I'm offering a full-stack framework that takes advantage of vanilla JavaScript and HTML in a front-end framework combined with a plain ol' HTTP back-end using Node.js. The APIs abstract just enough to make you productive but not so much that you can't reason about how it'd work without the framework. The long shot of the project being to keep the mental model of "how the web works" intact while reducing the burden of doing everything from scratch.
- c0balt 4y agoYour project looks interesting. Do you plan Typescript support with stubs vor smth similar?
- rglover 4y agoThanks. If I do, it won't be supported beyond the compiler/build tool (no official recommendation of using it w/ limited support). It's an unpopular opinion, but I view TypeScript in the same light as I do the OPs assertion about cloud-only development. It's adding yet-another-layer that has some merits but often leads to overcomplicated messes that reduce productivity/add confusion. I'd rather petition for some sort of structs/arg typing to be included in ECMAScript proper (in a similar fashion as to what happened with a lot of Jon Resig's jQuery DOM selection APIs making their way into ES6).
- heavyset_go 4y agoAs to you last point, there are proposals to bring typing to ECMAScript right now.
- heavyset_go 4y agoYour*
- com2kid 4y agoThe funny bit being react uses regular browser APIs for network requests! Nothing was even gained, just call fetch!
- kevlened 4y agoTrue! Though the funny bit is you don't need an API at all (at least not a json-driven one). A form post is even simpler.
- bryanrasmussen 4y agoWhat if the API she wants to call doesn't have a form based version? Suddenly she needs to change stuff on both backend and frontend, and she might only be allowed to touch one of those ends.
- mwcampbell 4y agoI think the best solution to this is to eliminate the division of labor between back-end and front-end, for the majority of applications that don't actually require deep specialization in either. As DHH put it, integrated systems for integrated programmers [1]. [1]: https://m.signalvnoise.com/integrated-systems-for-integrated-programmers/ https://m.signalvnoise.com/integrated-systems-for-integrated...
- shkkmo 4y agoI think this is a question about becoming dependant on abstraction rather than where the abstraction is run. I don't think that being "in the cloud" makes abstraction that much more pronounced. You can have manually configure dev VMs in the cloud or automatically configured dev VMs locally, the later will probably use more abstraction.
- chrisweekly 4y agoYeah; knowing about the HTML form tag apparently qualifies you as a senior web dev.
- onion2k 4y agoConsidering how many web developers get that particular tag wrong I'm not sure that's actually as unreasonable as it first appears. The number of forms out there on the web that are really just used as a way to group collections of input elements, with no consideration for an action, a method, browser native validation rules, fieldsets, a legend, etc makes me wonder if people actually know HTML at all. Every React, Vue, etc form I look at the source for gathers up input into state and then submits it with a fetch, replicating, but also often breaking, the accessibility and functionality built into the browser. So yes, maybe being able to implement a form tag in HTML is the mark of a senior dev.
- corrral 4y agoI'm very much on the "this shit's too complicated, we should fix whatever's making us not use the standard features and tools instead of piling this garbage on top" train, but I think a valid defense of doing things in Javascript that could be done in HTML is that, as soon as you need to do any e.g. form validation in JS, it may be simpler to just do all of it there. The accessibility issue is, of course, a solid counter-argument to running too far with that line of reasoning, and is part of why I'd much rather we put 1/10 the effort we do to constantly re-implementing basic HTML features into unfucking HTML standardization so we can finally have elements good-enough that we don't need to pile JS on top to get what ought to be built-in functionality. But, that's a whole different skillset from programming, and requires far more organization than thousands of devs all independently, or in small teams, working on yet another NIH version of an image upload input. :-/
- anyfoo 4y agoI see web development is still trying to make something fundamentally ill-suited for its task work by stacking shoddy layer after shoddy layer on top of it, just like it did when I left web development 10 years ago and went back to system programming. System programming also has its warts, but at least most of the time you don't feel like you're working against the machine.
- rolisz 4y agoI had a similar experience with my sister in law who is getting her programming degree this month. When I asked her what was her final project and some details about it, she told me the entry point to her frontend was Angular. When asked how it was served and how it got to the browser, all i got was confused looks. When I showed her that the first thing that gets to the browser is an HTML file that then loads Angular and her application, her mind was blown.
- rco8786 4y agoI had a similar experience with a family member. When I asked them how their keyboard strokes appeared on the screen, all I got was confused looks. When I showed them that the first thing that happens is a hardware interrupt, her mind was blown. Seriously, it's okay that people don't know the ins and outs of every little detail. Abstractions are useful, until they're not. And then when they're not, you go figure out the level below. Even the most advanced, most skilled front-end devs spend 99.99% of their time not caring that the browser loads an HTML page.
- Mordisquitos 4y agoI think your analogy would be valid if the previous commenter had, for example, asked their sister-in-law how the browser interprets the JavaScript it receives, or how it builds the display from the DOM. Now that would be asking about irrelevant and unnecessary levels of detail which are best abstracted away. However, knowing that the process starts with the browser receiving HTML over HTTP is essential to understand what's going on, even if you know nothing about the details. If I may, a truly similar experience regarding keyboards would be this: I had a similar experience with a coworker. When I asked him how the code that he types appears on the IDE on his screen and not on that of any of our colleagues' screens, all I got was confused looks. When I showed him that his keyboard is wirelessly connected only to his computer, which runs the IDE, and his computer is then specifically connected to his own monitor via a cable, his mind was blown.
- rco8786 4y ago
- ericmcer 4y agoI started in 2008 and I would be hopeless at certain things that I am sure were essential 20 years prior. Thinking React is essential to make an API call is a bit scary, but a future where we just click a few buttons and connect to a hot reloading syncing dev env with all the dependencies and transpiles obfuscated, seem inevitable, and it will be so reliable that we forget or never even learn how it works under the hood.
- aliswe 4y agoI've met such (male) frontend developers before, totally clueless when it comes to the DOM and how it works. Not putting any judgment in that really, tbh, because the React development model is superior for anything non-trivial (like a signin form). In this case though, I believe she isn't confused as to how to call the APIs, maybe not even as to how to handle the response with JS and update the DOM. I think the question sounded more like you're not allowed to use Javascript at all.