4 ms·
Why do you feel that way? What is wrong with a quick inline jquery click handler? What part of web development requires webpack + react + tailwindcss + a bunch
by dubcanada 4y ago
Why do you feel that way?
What is wrong with a quick inline jquery click handler? What part of web development requires webpack + react + tailwindcss + a bunch of random packages that provide 1 function? Sometimes people just want to get stuff done, and doing a simple $('.cart').on('click', () => {}); does the job.
If you want to get fancy as another user posted, use the full API suite and do it all yourself. It's robust and rather friendly to integrate with.
- melony 4y agoNothing wrong with it but it doesn't make for coherent documentation. For a plugin-centric company like Shopify where third party integrations are crucial to its business model, you would expect more hand holding and better quality in its documentation. Their docs for common use cases like jquery and react/vue/svelte should be clearly laid out. Shopify seems to be an incoherent mess right now with poor engineering management. The stories that I am hearing are that a third of their engineering workforce consist of interns and the other third consist of juniors. They have very few engineering seniors and staffs, relative to most companies of their scale and market cap.
- enumjorge 4y agoIf the argument is for minimalism, why use jQuery when vanilla JS suffices?
- dirkg 4y agobecause JQ is already loaded, and it IS minimal. You could do querySelector(...).addEventListener etc but why would you?
- cobertos 4y agoBecause you don't need another library to do it? Why load jQuery at all in 2022?
- mritchie712 4y agoIt's legacy. A lot of people know jquery from when the things it does were verbose in vanilla JS. New devs rarely learn jquery, so it will die.
- good8675309 4y agoI get the purist push for Vanilla JS but for me it's still way too verbose. W3C has had decades to fix it and while it's improved it's still verbose as heck. Just implement the jQuery API into Vanilla JS and people would stop using jQuery.
- AprilArcus 4y ago"just"
- good8675309 4y agoI mean the W3C has an annual revenue of $5.7M so it's not like they don't have the resources to start setting some vision and goals towards this.
- dmitriid 4y agoLook at who makes up W3C. Then look at how much it costs to be a member. They could afford anything if they cared to. Most of the time they don't and so the small players like Chrome get away with anything.
- bcrosby95 4y agoI'm really surprised they don't get more shit for it. People love to make fun of Java for being verbose but then go all googoo eyes over Vanilla JS. As a Java developer for 20 years now, using it makes me think a Java developer from the '90s designed it. But, you know, it's JS so it gets a pass.
- c-smile 4y agoThat's what I did in Sciter: 1. Added element.$("selector") and element.$$("selector") functions. Later one allows to work with JQ sets: for(let el of parent.$$(".child")) ... 2. Added element.on("eventname" [,"selector"], handler) and element.off() These two allow to reduce need for JQuery to almost zero. Also added JSX as a built-in feature to JS/runtime. So, function Child(props) { return <p>Generated child {props.index}</p>; } function Main() { const list = [1,2,3]; return <main> { list.map( el => <Child index={el} /> ) } </main> } // add the list to the DOM: document.body.append(<Main />); These three simple things, together with elment.patch(...JSX...) eliminate need for as JQuery as ReactJS almost completely.
- rhaway84773 4y agoA significant chunk of Shopify’s user base is gonna be copying/pasting snippets they’ve found online. You’re much more likely to find a snippet using jQuery that was created over the last 10 years or so that’s consistent and works correctly than you are vanillaJS. VanillaJS queries would be all over the place with multiple if/else’s for IE, Chrome, WebKit, Mozilla, etc.
- rhaway84773 4y agoWhat does VanillaJS get you over jQuery? The only practical argument I can think of is the performance improvement of not loading another library and loading all the extra KBs. But nearly every Shopify website’s hero image itself would completely dwarf any bandwidth concerns jQuery might cause. In the meanwhile, jQuery is a much better known API among developers, there’s far more and higher quality documentation and snippets available in it on the internet, and there are fewer foot guns. jQuery easily seems the superior choice over VanillaJS, with very few downsides given Shopify’s use case.