[HN Gopher] jQuery 3.6.0
       ___________________________________________________________________
        
       jQuery 3.6.0
        
       Author : mkurz
       Score  : 227 points
       Date   : 2021-03-02 18:51 UTC (4 hours ago)
        
 (HTM) web link (blog.jquery.com)
 (TXT) w3m dump (blog.jquery.com)
        
       | jariel wrote:
       | For those wondering, JQuery is still used on the majority of web
       | sites in the world apparently [1]
       | 
       | I'm not sure how the data is run, but it's quite massive share
       | however you cut it.
       | 
       | JQuery is still in it's foundational phase, it's still a 'core'
       | thing, it's not remotely legacy yet.
       | 
       | [1] https://almanac.httparchive.org/en/2019/javascript
        
         | llimos wrote:
         | A lot of them are probably due to Bootstrap (<5.0) bundling it.
        
           | cronix wrote:
           | And WordPress, even current versions.
        
       | [deleted]
        
       | superfamicom wrote:
       | jQuery is also an amazing educational tool for teaching people to
       | program in steps, learning the native DOM methods and then being
       | introduced to jQuery has been really fun to see light bulbs going
       | off for new students.
        
       | elwell wrote:
       | Those API docs are so nostalgic.
        
         | singhrac wrote:
         | I love the fact that they haven't changed styles in a decade.
         | It really does bring me back to high school.
        
       | didip wrote:
       | I super love jQuery. The proliferation of SPA is super
       | unfortunate, maybe one day the pendulum will swing back to server
       | side HTML with lighter JS for progressive enhancements.
        
         | j-krieger wrote:
         | React is trying that with server rendered components
        
       | newsbinator wrote:
       | > We still have our eyes on a jQuery 4.0 release, but until then
       | we will continue to support the 3.x branch and address important
       | issues.
        
         | pier25 wrote:
         | This caught my eye too. What could they be cooking?
        
           | TimTheTinker wrote:
           | My guess is a slimmed-down API with most or all support for
           | older browsers removed, perhaps something similar to Zepto.
           | 
           | There is _still_ something to be said for the usability of
           | jQuery 's API for direct DOM manipulation, as opposed to the
           | more verbose API offered by the DOM itself.
        
             | pier25 wrote:
             | I love modern reactive frameworks, but for DOM manipulation
             | the jQuery-style API is great.
             | 
             | Some problems are much easier to solve working directly
             | with the DOM (eg: drag and drop). The problem is that you
             | either have control over the DOM, or let someone else do it
             | (React, Vue, etc).
        
         | henryfjordan wrote:
         | There seems to be milestones for 4.0 setup on Github:
         | https://github.com/jquery/jquery/milestone/7
        
       | hising wrote:
       | jQuery solved (and solves) a lot of browser inconsistencies
       | (fewer now than before) and I guess a lot of older codebases
       | still rely on it, so I am glad to see it is still moving forward.
       | However, jQuery has a built in problem in modern web development,
       | as the DOM-functions that now makes it obsolete, as in it does
       | not solve the more complex problem of state management and
       | scoping of components. For some sprinkling on top of server side
       | rendered web pages I guess it still has some value if you need to
       | cater for older web browsers, but for those who build
       | applications that handles state and components for the current
       | setup of browsers it is not needed in your toolbox any more when
       | bootstrapping new projects. However, it helped us getting to a
       | point where we could rely on solid libraries and focus on
       | building better user experiences. I am glad it still gets updated
       | but will probably not write "jQuery-code" anymore in my
       | professional life.
        
       | synergy20 wrote:
       | Frontend has been a pain in the ass for me for quite a while as
       | someone trying to learn frontend development.
       | 
       | jQuery's concise syntax beats everyone, I hope Javascript can
       | adapt it someday, truly a KISS design gem. However I do need
       | write code to do data-binding myself, which is important for
       | interactivity.
       | 
       | Vuejs can be used to replace jQuery however it does not have the
       | simple syntax, you do get data-binding for free without using its
       | full-blown SPA framework. However you do need master a lot more
       | concepts comparing to jQuery.
       | 
       | React/Angular are both overkill for 90% use cases, unless you're
       | doing a serious SPA that is.
       | 
       | For me it's between jQuery and Vuejs these days, I learn both,
       | one reason I worry about jQuery is that it's losing some steam
       | and the development is not very active. Still I'm excited about
       | this new release.
        
       | alexk307 wrote:
       | I still believe that jQuery is the best tool for the job if
       | you're creating a small web application and don't want to learn
       | an entire new framework.
        
       | distrill wrote:
       | I know jquery is still in use a lot all over the web, but are
       | people still starting new projects with it?
        
         | greenie_beans wrote:
         | I've had to learn it at a new job after starting my career
         | making UIs with React. It's not so bad.
        
         | [deleted]
        
         | garymoon wrote:
         | I think it is still widely adopted in CMSs like Drupal and
         | Wordpress and they have a big market share. Jquery will not die
         | soon even if it is not the first choice for starting a new
         | project. It's been years since the last time I used it.
        
         | noisem4ker wrote:
         | Yes. It's fine for progressive enhancement of server-side-
         | rendered webpages.
        
         | ativzzz wrote:
         | Absolutely. Starting most new projects with something like
         | React/Vue is complete overkill and jquery makes adding small
         | incremental JS functionality to your app a breeze.
        
       | cphoover wrote:
       | Do people still use jQuery?
       | 
       | I thought the biggest advantage of this library back in the day
       | was css selector access of DOM nodes (back when we only had
       | getElementById, getElementsByClassName, and
       | getElementsByTagName). This has been rolled into the Javascript
       | document api via document.querySelector, and
       | document.querySelectorAll.
       | 
       | Also there are browser compatibility issues that jQuery solved
       | but a lot of these are solved with smaller footprint libraries
       | like lodash.
       | 
       | Also for me, along with I'm sure many others, keeping state
       | within the DOM has fallen out of favor of more comprehensible
       | state management inside of JS (like React Hooks, Redux...etc.)
       | 
       | What is the current use-case for jQuery? I'm curious from hearing
       | it's current users answer this.
        
         | aakkaarr wrote:
         | It is still bundled in WordPress and WP is still most popular
         | CMS (30% sites on the web runs on it)
         | 
         | It is not necessary to use jQuery when you build site but tons
         | of tutorials on the web is using it so people does.
         | 
         | Plus wp-admin still loads jQuery for itself so it is in use
         | even unnoticed.
        
         | handzhiev wrote:
         | jQuery is bundled in WordPress and many of the plugins so I
         | guess there are a few sites still using it :)
        
         | abhisuri97 wrote:
         | Yep. I still use it for side one-off projects here and there.
         | For me, there's just something so convenient about being able
         | to make a html page that you can drop in a quick CDN link for
         | jquery and not have to worry about compiling, webpack, create-
         | react-app etc. I'll still use React when something is a larger
         | project with a ton of moving parts, but otherwise I stick with
         | jquery.
         | 
         | As for why I'm not using the native DOM api's...I could, but
         | haven't gotten around to learning that syntax since I'm very
         | used to jquery (being specific, if I want to do things that are
         | more complicated than selecting an element + changing its
         | properties, the native API is more complicated). jquery is just
         | a nice default.
        
           | megous wrote:
           | It's not that more complicated. There are
           | after()/before()/closest()/remove(), and a lot of other
           | similar easy to use methods these days.
           | 
           | It's not el.parentNode.insertBefore(new, el) and
           | el.parentNode.removeChild(el) days anymore.
        
           | cphoover wrote:
           | I hear you. Personally I think learning the native APIs isn't
           | so bad once you take the plunge. They are easily memorized
           | with practice. Imagine not needing to go for that CDN link
           | (or depending on some 3p for your website to work correctly)
        
         | AdrianB1 wrote:
         | Ajax, foreach, Datatables, small but perfect reasons to use it.
        
         | spiderfarmer wrote:
         | Daily.
        
         | john-shaffer wrote:
         | > What is the current use-case for jQuery?
         | 
         | WordPress ships with it, so using jQuery often doesn't require
         | any extra footprint. I still prefer vanilla calls for admin-
         | only code, but jQuery has better compatibility for user-facing
         | pages.
        
         | manishsharan wrote:
         | I use it extensively to maintaining our apps ui which has coded
         | with old fashioned Backbone, Underscore and Jquery. our UI is
         | working and we do not see need to re-engineer/refactor it to go
         | to newer frameworks just for the sake of it.
        
         | tenryuu wrote:
         | I dropped it a long time ago for similar reasons to only using
         | selectors. It was not worth adding the extra request and
         | execution time for what was really now a vanilla feature.
        
         | dr-detroit wrote:
         | any popular library is already cached in everyone's browser and
         | therefore * _ANNIHILATES* the performance of every character of
         | .js code you 've ever written including inline_
        
         | RHSeeger wrote:
         | It is literally the first thing I add to every personal project
         | I build, and it's included with a lot of things I work with
         | professionally. Jquery just makes life easier.
        
           | lostgame wrote:
           | This. I can just prototype something so gosh darn quickly in
           | jQuery and I'm so used to it by this point that between that
           | and advancements in CSS it's incredibly awesome.
           | 
           | Why replace what's not broken?
        
         | Havelock wrote:
         | Browser compatibility issues can be resolved with Babel and as
         | such fulfills the need of jQuery and allows me to just write
         | javascript.
        
         | Turing_Machine wrote:
         | > Do people still use jQuery?
         | 
         | All the time.
         | 
         | > This has been rolled into the Javascript document api via
         | document.querySelector, and document.querySelectorAll.
         | 
         | The official replacements for the stuff jQuery does tend to be
         | verbose and non-orthogonal, as compared to the much more
         | unified and consistent API of jQuery.
        
         | brunojppb wrote:
         | You wouldn't believe in the amount of solid applications using
         | jQuery out there. It's still widely adopted, specially when you
         | are maintaining legacy applications. While I personally don't
         | use it in my day job anymore (Mostly React nowadays), I still
         | know a good number of people that use jQuery in my local
         | community. Worth noting: Legacy doesn't mean bad. Just software
         | that sustained the tough test of time.
        
         | rzwitserloot wrote:
         | Still use it. Still love it.
         | 
         | Just last month I decided to toss a quite arbitrary `=>` in my
         | javascript (I still write `function (args) { code }`), and
         | shipped it. Immediately got a _TON_ of user complaints.
         | 
         | Turns out, we sent a link in a newsletter, and most folks were
         | reading those in Outlook, and that evidently just opens links
         | internally, and that is still IE11. We don't ordinarily support
         | IE11, but given that this is a specific info page shown there,
         | for this we make an exception, and... => doesn't even work
         | there.
         | 
         | Thus, another year goes by, and another year where I am 100%
         | convinced it is totally not worth my time or effort to
         | investigate newer options.
         | 
         | I'm honestly confused about why jQuery is considered 'bad'.
         | 
         | It's a dependency - yeah, 30k or so. This complaint (that it
         | adds load time) boggles my mind; in this day and age of 10MB+
         | load pages, and the choice is to complain about a 30k library?
         | Some javascript-library variant of the Total Perspective Vortex
         | may be warranted to try to make sense of this.
         | 
         | A more interactive (as in, between server and browser), more
         | stateful integrated model? Oh, yeah, totally, I can see that,
         | but that 'formula' surely isn't the go-to strategy for every
         | web page out there, right? Most of the pages I write work
         | perfectly well via a 'server generates data, server throws it
         | through a template and sends it to browser, client downloads
         | jquery and some javascript for that page which adds interactive
         | elements', and wouldn't be any 'nicer' if it was a much more
         | javascript-native fully state-shared amalgamation. When I do
         | need that live-updating stateful interaction model, sure, don't
         | need jQuery. But that 30k is the least of my worries if that
         | happens.
        
           | shaicoleman wrote:
           | "Fun" fact: Outlook today still uses Word to render HTML,
           | which is about as capable as IE3 released in 1996.
        
             | colourgarden wrote:
             | Your use of the word "still" is a little misleading. IE
             | _was_ the default email rendering engine until 2007 when
             | Microsoft made the inexplicable decision to move to Word
             | 2007 instead.
        
               | unilynx wrote:
               | My theory is still that it was about using Word as a
               | component to write replies. However, if they delayed the
               | HTML->Word conversion to that point, everyone would
               | complain to MS "Reply is broken!"
               | 
               | By using Word as a viewer the email is broken right on
               | delivery and users now complain "The email you sent me is
               | broken!"
               | 
               | At least it's still better than Notes
        
               | dragonwriter wrote:
               | Outlook is part of Office; Word is part of Office.
               | 
               | IE, and now Edge, is a different business unit.
               | 
               | Not inexplicable at all. NIH doesn't only apply at
               | corporate boundaries.
        
             | tambourine_man wrote:
             | It's not that simple. It used to have a more capable
             | renderer, they rolled it back to the Word one (no animated
             | GIFs!) and have since upgraded again. So Outlook 2007-2016
             | is really crappy, versions before and after that, a bit
             | less so.
             | 
             | The lovely world of enterprise software.
        
         | mortenjorck wrote:
         | jQuery is like WordPress. There may be other more streamlined,
         | purpose-built solutions out there, and they all have their
         | uses, but sometimes ease of setup is the thing you're
         | optimizing for, sexiness be damned.
         | 
         | When you have a vast, mature ecosystem and a decade and a half
         | of community knowledge to draw upon, even the most obscure use
         | cases tend to have a precedent _somewhere_. Being able to jump
         | right to a StackOverflow answer to exactly what you 're trying
         | to do is, in my opinion, a highly underrated feature of legacy
         | web technology.
        
           | andrei_says_ wrote:
           | I've seen the code of Wordpress and would not touch the
           | spaghetti cluster-f that it is.
           | 
           | I won't even speak of the ecosystem built on the above
           | principles.
           | 
           | All I can say is that a 1-click install does translate to
           | popularity :)
        
         | tyingq wrote:
         | _" What is the current use-case for jQuery? I'm curious from
         | hearing it's current users answer this."_
         | 
         | I still see it used for file upload/download, as the fetch api
         | doesn't provide a reasonable way to show progress if the
         | channel is using gzip or deflate. The ajax functionality is
         | also still popular for a compact way to deal with different
         | types of errors (app errors vs connectivity errors).
        
         | mschuetz wrote:
         | I'm trying to wean off of jQuery to reduce dependencies, but it
         | makes me appreciate jQuery all the more. The native JS API is
         | quite a bit more verbose and cumbersome to use, and my absolute
         | biggest gripe with it is that it doesn't even build on modern
         | JS features. It's not compatible with for...of, map, filter,
         | find, etc, which seems really strange for a relatively recent
         | vanilla JS API.
         | 
         | Ironically, http://youmightnotneedjquery.com/ makes a pretty
         | good case in favour of jQuery.
        
           | bigfudge wrote:
           | What I don't understand is why the modern js api didn't just
           | adopt query's conventions... they're so much nicer and more
           | expressive most of the time.
        
             | fendy3002 wrote:
             | They cannot. If they do and remove the old
             | getelementbyname, etc, then it will be breaking change.
             | 
             | If they just add $ notation, then there will be redundancy
             | / inconsistency with existing api. Furthermore it will
             | break / confuse apps which use jquery.
             | 
             | Then it's far easier to just include minified jquery into
             | your apps when you want to use it, and you have more
             | control about it's version, etc.
        
           | megous wrote:
           | You can easily extend NodeList.prototype with Array.prototype
           | functions you like, and then just use them:
           | ['map', 'find'].forEach(f => NodeList.prototype[f] =
           | Array.prototype[f]);
           | document.querySelectorAll('bla').map(el => whatever)
           | 
           | That's what prototypes are for, anyway.
        
         | rburhum wrote:
         | Yes. For quick small things.
         | 
         | When I need a to write a small web service, I usually just grab
         | a python micro-framework and do the work. Not much complexity
         | and not a lot of setup required. When I need to do something
         | more elaborate that needs structure because it will get
         | extended over time, I will take my time to setup something like
         | Django... but it would be too much unnecessary work do to that
         | for small web services.
         | 
         | The same applies to front-end.
         | 
         | When I need a few quick HTML pages that need some quick DOM
         | manipulation, I usually just grab jQuery and do what we have
         | been doing for years. Whenever I know that something will get
         | extended over time and needs structure, that is when I take the
         | time to setup React/Redux and all the build scripts necessary
         | to make it work.
         | 
         | Just personal preference, but I am sure I am not alone...
        
         | tambourine_man wrote:
         | >Do people still use jQuery?
         | 
         | Oh yes. Everyday. Still love it.
         | 
         | >...Javascript document api via document.querySelector, and
         | document.querySelectorAll
         | 
         | The jQuery API is still (and probably aways will be) far
         | superior to the native DOM (terser, composable, more
         | expressive, etc).
         | 
         | >...smaller footprint libraries like lodash
         | 
         | jQuery is [?]30k gziped and most likely already cached from
         | CDN.
         | 
         | >...has fallen out of favor of more comprehensible state
         | management inside of JS (like React Hooks, Redux...etc.)
         | 
         | Managing state is hard. There shouldn't be much of it in any
         | single view. IMO, React doesn't bring much to the table in this
         | regard while adding a lot of complexity and heft. Vue is a bit
         | better, but still, I'd much rather use jQuery if given the
         | choice.
         | 
         | If you're building something like Spotify/Slack, I can maybe
         | see the need for virtual DOMs, etc. If you're sprinkling
         | interactivity to your webpage, which is arguably what most of
         | the web should be, jQuery is probably as good as it will ever
         | get.
        
           | [deleted]
        
           | actuator wrote:
           | > IMO, React doesn't bring much to the table in this regard
           | while adding a lot of complexity and heft.
           | 
           | Strongly disagree with this. In any complex web application
           | with a lot of components, specially ones where a lot of fixed
           | components can live for a while, React is definitely a
           | massive improvement over vanilla JS or something like
           | Backbone which allows wild west.
           | 
           | Imagine state coming from sockets, rest APIs etc with updates
           | being either pull or push. A user might do an action which
           | changes the state in some other component, keeping track of
           | the components gets hard if the state is distributed. Also,
           | centrally managed state with things like Redux allows for
           | good caching of API data which can make a SPA considerably
           | fast.
           | 
           | While I love plain HTML pages which need little or no JS, a
           | lot of applications are better as SPAs.
        
             | megous wrote:
             | That's more like redux and company...
        
               | actuator wrote:
               | Yeah, but redux etc gained traction with React, and
               | together they make SPAs good.
        
               | megous wrote:
               | SPAs were perfectly good before with ExtJS and similar,
               | and more easily extensible too.
        
               | tomc1985 wrote:
               | SPAs were never good, the entire notion of them or
               | shoehorning full apps into a browser is a farce. But, as
               | parent says, that ship has long sailed
        
               | e1g wrote:
               | ExtJS = "What if JSX, but in JSON" ;)
               | 
               | For me, ExtJS redefined what's possible on the web a full
               | decade before React/Angular & co, and it's sad that
               | Sencha is now part of a heartless corporate graveyard.
        
             | tambourine_man wrote:
             | I'm exactly arguing against this Webpack, Typescript,
             | React, etc approach to web development. I'm more productive
             | in PHP + jQuery, a lot due to familiarity, of course, but
             | I'm also a huge believer in a simple stack.
             | 
             | If you've 20+ mutually dependent inputs, maybe you need a
             | better UI, not a complex state management framework.
             | 
             | If your browser is ultimately executing an untyped crazy
             | dynamic language, is it worth trying to shoehorn types into
             | it, only to later transpile it back? Not to mention JSX.
             | 
             | It all seems so crazy to me, but this ship has long sailed.
        
               | pknopf wrote:
               | Make Postbacks Great Again.
        
               | j-krieger wrote:
               | At Work, we're building web applications that need to be
               | accessed by hundreds of editors with thousands of pages.
               | Most of them share an essential bundle of components. Are
               | you telling me a project that complicated can be built
               | using just jquery?
               | 
               | Also, what's bad about typescript?
        
               | folkhack wrote:
               | > It all seems so crazy to me, but this ship has long
               | sailed.
               | 
               | Nope. And it's why Svelte is something that I've been
               | hard adopting because it looks the closest to old-school
               | JS/CSS/HTML while still bringing some of the same
               | capabilities over that I love from React and VueJS. It
               | also runs without a VDOM or a constantly running event
               | loop - both things are incredibly attractive to me.
               | 
               | Although it's not a perfect solution (nothing is) I would
               | strongly suggest you checking into Svelte as it looks
               | more like traditional web development vs. highly complex
               | Webpack + TS + React + eslint + Babel etc etc-based
               | development.
               | 
               | The ship hasn't sailed. Your instincts to be weary of
               | such a complex, constantly re-invented toolchain to get
               | traditional development tasks accomplished are a natural
               | response to the craziness that these tools bring to the
               | table.
        
               | tambourine_man wrote:
               | I saw the Svelte presentation a few years ago when it was
               | released and my jaw hit the floor hard. That was some
               | cool radical thinking. I haven't used it beyond playing
               | with a few examples, so I can't really tell for sure if
               | it holds up. Everything looks great on the demos.
               | 
               | Unfortunately it hasn't caught on, though it maybe be too
               | early to call.
        
               | pknopf wrote:
               | Too early to call.
               | 
               | Wait until Typescript is properly supported.
        
               | lhorie wrote:
               | That happened like half a year ago[0]
               | 
               | [0] https://svelte.dev/blog/svelte-and-typescript
        
               | mixmastamyk wrote:
               | Svelte has been on my list to try, thanks for the
               | reminder. I've also liked htmx (from intercooler) for
               | keeping complexity managed. Any comparisons?
        
               | girvo wrote:
               | https://htmx.org
               | 
               | For when I've wanted to sprinkle interactivity, this is
               | what I've turned to lately. It's quite brilliant, and
               | more declarative than most solutions.
               | 
               | But React is still necessary in my day to day job, as our
               | web application is incredibly complicated in terms of
               | feature set and customisation. They both have a place.
        
               | spyridonas wrote:
               | I'm on the same boat, super productive with
               | php/twig/jquery. But recently my boss gave my a side
               | project without any specific requirements, 10 charts and
               | 2-3 tables with their associated crud. I made everything
               | with react + php, and oh my god that site is super fast.
               | It's eye opening!
        
           | ivosaur wrote:
           | > jQuery is [?]30k gziped and most likely already cached from
           | CDN.
           | 
           | This part isn't so true in reality anymore, due to revised
           | browser caching systems[1]. Doesn't mean you shouldn't use
           | jQuery, just that part of the benefits of a centralized CDN
           | are no longer a factor and it's a lot more sensible to self-
           | host.
           | 
           | 1: https://www.stefanjudis.com/notes/say-goodbye-to-resource-
           | ca...
        
             | tambourine_man wrote:
             | Right you are. But jQuery is around the same size as Vue,
             | and that's the _lean_ alternative to React. So the "jQuery
             | is bloat" argument still doesn 't make much sense.
             | 
             | A single retina hero banner is larger than most JavaScript
             | libraries/frameworks.
        
               | srgpqt wrote:
               | A _lean_ alternative to React would be preact.
        
               | cout wrote:
               | Vue is the lean alternative to Angular.
        
               | cultofmetatron wrote:
               | > and that's the lean alternative to React.
               | 
               |  _Ahem_ https://preactjs.com/
        
             | dangerbird2 wrote:
             | One thing that doesn't help jquery's case is that it and
             | its plugin ecosystem isn't modular, making it impossible to
             | trim the code size below the minified size via dead code
             | elimination or even es6 partial imports. It would be nice
             | to see more fluent DOM apis like jquery, but having 1st
             | class support for es6 modules so you can import only the
             | functionality you need in your final bundle
        
               | brylie wrote:
               | Cash supports partial builds:
               | 
               | https://github.com/fabiospampinato/cash/blob/master/docs/
               | par...
        
               | brylie wrote:
               | ZeptoJS has a modular build tool, allowing you to select
               | only the desired modules
               | 
               | https://zeptojs.com/
        
             | Sn0wCoder wrote:
             | Thanks for the article. I was just telling someone that
             | jQuery was most likely already in the browser cache so
             | don't worry about it. Guess I need to go back and say I was
             | wrong...
        
             | sshb wrote:
             | Well, you are still getting less server load and faster
             | response times across the globe, right?
        
               | csswizardry wrote:
               | > ...and faster response times across the globe, right?
               | 
               | Unfortunately not. There is no benefit to leaving your
               | critical files on anyone else's infrastructure:
               | https://csswizardry.com/2019/05/self-host-your-static-
               | assets...
        
               | abhinav22 wrote:
               | As someone who is well experienced in web dev, that was a
               | great article! Not so easy to find online, keep up the
               | good work and I've become a fan
        
           | [deleted]
        
           | steviedotboston wrote:
           | I agree with this 100%. Even though "vanilla JS" is more
           | powerful now, JQuery is still much easier to work with.
        
           | [deleted]
        
           | Kudos wrote:
           | Firefox and Safari use partitioned caches, and Chrome is
           | following with the feature behind an experiment flag for now.
           | The argument that it's probably cached from a CDN is just
           | about dead.
        
           | 1shooner wrote:
           | >most likely already cached from CDN.
           | 
           | I don't believe any major browser allows sites to share 3rd
           | party caches anymore.
           | 
           | Previous HN discussion:
           | https://news.ycombinator.com/item?id=24894135
        
             | starik36 wrote:
             | True, there is still a perf win however since CDNs are
             | located geographically closer to a global consumer than
             | keeping the libs on your own box.
        
               | 1shooner wrote:
               | But don't modern frontend-oriented sites/apps deploy to
               | CDNs anyway?
        
           | pseudosavant wrote:
           | "The jQuery API is still (and probably aways will be) far
           | superior to the native DOM"
           | 
           | The jQuery API really is so well done. I stopped using
           | jQuery, but implemented a simple script (jSugar.js) that
           | exposes many basic jQuery things but is really just a wrapper
           | for native DOM operations. It only operates on individual DOM
           | nodes. Any looping should be done using your JS loop of
           | choice (forEach, for loop, which, etc).
           | 
           | The script started out really small. I've slowly added more
           | and more as I need more functionality for some projects.
           | 
           | https://gist.github.com/pseudosavant/b86eedd9960ade958d49447.
           | ..
        
           | enraged_camel wrote:
           | I used to write a lot of JQuery, and I've switched to Vue
           | three years ago. Occasionally I have to go back and write
           | more JQuery, and it makes my head hurt.
           | 
           | edit: why the dowvotes? are we not allowed to share our
           | experiences now?
        
         | terracatta wrote:
         | I write a lot of B2B apps that have tabular data views. For all
         | of its quirks, DataTables (https://datatables.net) does a great
         | job and with the right plugins offers all the features my
         | customers expect (re-ordering/resizing columns, column based
         | search, fixed headers, fixed columns, item selection, etc.)
         | DataTables requires jQuery.
         | 
         | Lots of other vanilla JS table plugins out there but I can't
         | find one with all of those features that work when they are all
         | on.
        
         | k__ wrote:
         | Legacy systems, probably.
         | 
         | I read, Ember.js would depend on it.
        
         | racl101 wrote:
         | A ton.
        
         | gorgoiler wrote:
         | I think it's like Lisp, or rather the reaction to Lisp.
         | 
         | In a world without jQuery every site / devshop uses their own
         | little set of conventions and polyfills (analogous to macros)
         | to add useful abstractions.
         | 
         | In isolation, these are neat. En masse though it means that
         | each site has their own meta language (conventions) which have
         | to be memorized before you can contribute to the code base.
         | Languages like Ruby and Lisp suffer from this too: there are so
         | many minute variants across code based that it becomes hard to
         | truly view them as the same _language_. jQuery, in the context
         | of JavaScript, is a standardisation track for all those little
         | language additions.
         | 
         | Personally, I just use the native APIs. I don't work with
         | enough people across enough sites to benefit from
         | standardisation. You will probably find a big overlap between
         | proponents of jQuery and professionals -- especially
         | contractors -- who work with many other people on many
         | different codebases.
        
           | bigfudge wrote:
           | Or just people who have a poor memory, or who are not very
           | self consistent. I love things like jquery (and Django and
           | other opinionated frameworks) because it saves me the hassle
           | of having bike shed trivial details for myself and then
           | remember them later. And naming things is one of the two hard
           | problems etc...
        
         | FpUser wrote:
         | >"Also for me, along with I'm sure many others, keeping state
         | within the DOM has fallen out of favor of more comprehensible
         | state management inside of JS (like React Hooks, Redux"
         | 
         | In my opinion using React / Redux combo for state management is
         | a poor choice. So to each their own. The arguments like:
         | everyone else including my cat does that do not make really it
         | any better in my eyes.
        
         | m00dy wrote:
         | I use it for my landing page in countingcarbons.co
        
         | duxup wrote:
         | Every day I do.
         | 
         | Granted I don't so much as use it as I fix it / change it.
         | 
         | Anything new is just vanilla as far as the legacy systems go.
         | But those legacy systems pay the bills...
        
         | blain wrote:
         | Well, Wordpress and Drupal still uses jQuery, they auto load it
         | by default and there is no reason not use at this point, unless
         | you specifically building React or some other custom thing on
         | top of either of them.
        
           | bredren wrote:
           | The Django ecosystem still has a pretty strong tether to
           | jquery. It's a problem.
        
             | bigfudge wrote:
             | What's the problem?
        
         | andrei_says_ wrote:
         | Yes, absolutely.
         | 
         | The use case: a small CraftCMS-driven site using a bunch of
         | long-lived jquery plugins and almost no custom JS.
         | 
         | Also, no need for transpiring or bundling.
         | 
         | It is wonderful.
        
         | muglug wrote:
         | I think a lot! For example, the new https://www.whitehouse.gov
         | uses jQuery.
         | 
         | When you just want to add a small bit of interaction to a
         | mostly-static site, jQuery can help.
         | 
         | There's a current trend to complicate things with a JAM stack
         | that really don't need to be complicated.
         | 
         | I've seen people propose something like
         | [NodeJS/Ruby/PHP backend]            -> GraphQL API
         | -> React Frontend            -> static html
         | 
         | Where really they could have just gone with
         | [NodeJS/Ruby/PHP backend]            -> static html
        
           | snemvalts wrote:
           | There's no need to complicate static sites with jQuery. All
           | it does can be achieved with vanilla.
        
             | labster wrote:
             | As a competitive code golfer, I can confidently say that
             | vanilla JS has never offered the raw performance of jQuery.
        
             | cphoover wrote:
             | I tend to agree, and unless you have to support like IE
             | prior to IE9 it will probably easily support all of your
             | target browsers.
        
               | WhyCause wrote:
               | Promises aren't available in IE11, and as the last "true"
               | IE, I imagine it'll be around a bit longer than it should
               | be.
               | 
               | I recently had to rewrite a bunch of vanilla promise-
               | based code to use jQuery promises once I realized IE11
               | didn't work.
        
             | cookingmyserver wrote:
             | Vanilla has always been able to do what jQuery can,
             | otherwise jQuery wouldn't exist. It all depends on what
             | your threshold for abstraction and verbosity is. That is
             | going to depend on what you are doing and who you are.
        
               | Turing_Machine wrote:
               | Exactly.
               | 
               | I mean, all you _really_ need is a Turing Machine, but
               | they 're not very pleasant to program.
               | 
               | Same thing with vanilla JS and jQuery.
        
             | colejohnson66 wrote:
             | > All it does can be achieved with vanilla.
             | 
             | Well, yes. Every JS library can be written in vanilla JS.
             | The point of jQuery, React, etc. is to make it easier for
             | the programmer to reason about what is going on while
             | avoiding bugs.
        
           | solraph wrote:
           | > When you just want to add a small bit of interaction to a
           | mostly-static site, jQuery can help.
           | 
           | For very small amounts, perhaps, but honestly, even then I
           | think it has limitations. As an anecdote, about six months
           | ago, I needed to add a couple of dynamic forms to a static
           | site. The forms were a simple contact us, and a mailing list
           | sign up form, and only needed to handle the states of
           | Open->Submitting->Thanks|Failed->Open, while preventing
           | double submissions, etc.
           | 
           | I wrote the first one in jQuery (site was already using it
           | due to the theming), and making sure handled all the various
           | edge cases, and fixing one bug didn't cause another was far
           | harder and time consuming than it should be.
           | 
           | Out of frustration, I wrote the other form in VueJS, and
           | hacked the whole form in about an hour or two. My take away
           | was that anything involving state in jQuery can get overly
           | complicated very quickly.
        
           | moocowtruck wrote:
           | whitehouse.gov uses jquery because its wordpress
        
           | wishinghand wrote:
           | > When you just want to add a small bit of interaction to a
           | mostly-static site
           | 
           | Then I'd reach for Alpine. Very lightweight, and I can use
           | the fetch API instead of $.ajax.
        
             | makeworld wrote:
             | Perhaps even htmx?
             | 
             | https://htmx.org/
        
               | iagovar wrote:
               | This looks very cool, thanks.
        
             | ergo14 wrote:
             | or Lit-Element.
        
             | purple_ferret wrote:
             | Jquery has been around for 14 years. That framework..16
             | months.
             | 
             | You want to be as confident as possible you can bump to a
             | new version on your old site in 4 years if you have to? Use
             | Jquery.
        
               | SamuelAdams wrote:
               | Plus it's easier to hire for. Chances are more developers
               | have experience with JQuery than <new hot js library>.
        
               | wishinghand wrote:
               | Or just fork Alpine and fix it. It's javascript, not
               | rocket science.
        
           | ognarb wrote:
           | I do think in some cases SPA make sense, but in many other
           | cases just using a bit of jQuery/vanilla js to add a bit of
           | interaction is enough. Server side rendering is way easier to
           | do and is often faster to load for the client.
        
             | dna_polymerase wrote:
             | SPA make sense whenever you want to write a proper
             | application running in the browser. When you just want a
             | website, stop the SPA madness.
        
           | kyriakos wrote:
           | To be fair the first case is only static for the initial load
           | then becomes a single page application
        
             | muglug wrote:
             | Yeah, but very few sites need to be SPAs. SPAs come with a
             | tremendous amount of extra requirements that, over time,
             | can mire projects in cruft.
        
         | krab wrote:
         | For me personally, it's partly familiarity and also still
         | compatibility. I know that if I use jQuery, then (for the parts
         | it covers) I don't have to search caniuse.com.
         | 
         | But then, I'm not a front-end web developer, so I optimize for
         | different type of projects.
        
         | pull_my_finger wrote:
         | > there are rowser compatibility issues that jQuery solved
         | 
         | Current browser support[1] isn't really _that_ great. I know it
         | used to be, but I'm not sure that's a legit selling point these
         | days. Not that it's bad, but I hear that argument come up a
         | lot.
         | 
         | [1]: https://jquery.com/browser-support/
        
         | HaloZero wrote:
         | I use it primarily because it provides an easy interface for
         | ancestor, descendant utilities. But I'm also not doing this in
         | a FT setting, just for side projects.
        
         | okhan wrote:
         | I help teach an introductory programming class to high school
         | students. We still use jQuery to teach basic programming
         | concepts, because it helps students add basic interactivity to
         | a web page without a) the overhead of learning a full framework
         | like React, or b) exposing them to the insanity of web APIs.
         | Check out the curriculum if you're interested:
         | https://github.com/itscodenation/curriculum-20-21
         | 
         | If you just want to add simple interactivity to a web page,
         | jQuery provides a really nice API to do just that. Sure it's
         | not the ideal thing to build a whole SPA on, but it has its
         | place.
        
         | llarsson wrote:
         | Every single WordPress blog ships it by default.
         | 
         | I would not start a greenfield project based on it today, sure,
         | but it is used by a truly staggering amount of sites today, so
         | having it get updates in the form of security fixes and some
         | additional functionality benefits a large part of the web.
        
         | bcrosby95 wrote:
         | > This has been rolled into the Javascript document api via
         | document.querySelector, and document.querySelectorAll.
         | 
         | Have you actually compared the two methods in a real website?
         | It's like saying why use Ruby when you can use Java. The
         | Javascript document API is super verbose. No thanks.
        
           | bilekas wrote:
           | > The Javascript document API is super verbose.
           | 
           | Can't say I've ever heard that as an issue before..
           | 
           | Also I think the main point was there are so many better
           | frameworks that manage the DOM better than jQuery as the need
           | has evolved. I'll always have fond memories of jQuery but I
           | don't see it as my go-to anymore, by a long shot.
        
           | runj__ wrote:
           | I'm still a little bit sad we got fetch as part of javascript
           | when the request module had such a great interface. I still
           | prefer the look of it.
           | 
           | https://www.npmjs.com/package/request
        
           | frabert wrote:
           | How so? Who stops you from doing something like `const $ =
           | document.querySelector`?
        
             | cphoover wrote:
             | Good point
        
             | Epskampie wrote:
             | There's a ton of other functions you need like
             | element.addEventListener, insertAdjacentElement,
             | XMLHttpRequest (when you need progress) etc. etc. At that
             | point you might as well save yourself and the person after
             | you a major headache and just use jQuery whose API
             | everybody knows.
        
             | cortesoft wrote:
             | The big magic of jQuery is that you can act on an array of
             | elements as if it were a single element. Your alias does
             | not give you that at all.
        
           | cphoover wrote:
           | You don't have to use all of it though, right? You can choose
           | to only only use the applicable parts: eg:
           | 
           | ``` $('.container-element') .addClass('active');
           | 
           | // vs
           | 
           | document.querySelectorAll('.my-class-selector')
           | .classList.add('active') ```
           | 
           | I use the native APIs all the time, they are not that
           | complicated or overly verbose. Easily memorized with practice
           | IMHO. Also they are all extremely well documented on MDN.
        
             | vbezhenar wrote:
             | Your example does not work. querySelectorAll returns array
             | and you can't write `array.classList.add("...")`, because
             | array does not have that property. You need to iterate over
             | that array. And that's exactly why jQuery is so much more
             | convenient over native API: you can just treat collections
             | of elements like an element and jQuery will iterate for you
             | if necessary.
             | 
             | Another jQuery advantage is pseudo-selectors which don't
             | exist in CSS.
             | 
             | There are plenty of convenient one-liners in jQuery which
             | will expand to plenty of lines in native API. That said,
             | with modern API and JS features it's not that bad either.
        
               | mkl wrote:
               | querySelectorAll returns a NodeList, which is even more
               | limited than an array (e.g. no map or filter).
        
               | ROARosen wrote:
               | but [...querySelectorAll()] does return an array and is
               | just as concise
        
               | lhorie wrote:
               | but beware of ASI :)
        
               | t_tsonev wrote:
               | Just a nitpick, but querySelectorAll returns a NodeList.
               | 
               | This can bite at times, for example IE supports
               | Array.forEach, but not NodeList.forEach
        
               | dceddia wrote:
               | Yeah this gets me every time. You can .forEach a
               | NodeList, but can't .map. I usually end up wrapping it in
               | an array and calling map on it like
               | [...theNodeList].map(...)
        
             | [deleted]
        
             | cortesoft wrote:
             | I think the fact that your very simple example (which is
             | already longer and more complicated in your version)
             | doesn't work shows the advantage of jQuery
        
             | lhorie wrote:
             | Technically that breaks, you want:
             | document.querySelectorAll('.my-class-selector').forEach(el
             | => el.classList.add('active'))
             | 
             | Personally I use the native APIs because they aren't _that_
             | hard to use (most of them, anyways) and I tend to be OCD
             | about bundle sizes, but to each their own, I suppose.
        
               | megous wrote:
               | Yeah, oh so many years ago I realized that I use just a
               | small subset of jQuery, and just rewrote those bits, to
               | avoid having to inject whole of jQuery into all pages
               | that I browse (I had some global https?://* userscripts,
               | so I was basically injecting jQuery into every single
               | page and frame).
               | 
               | https://megous.com/dl/tmp/basic.js
               | 
               | 1.3kB compressed. Much better. :) And I avoided having to
               | rewrite my extensions with platform APIs. That was before
               | FF killed all the joy in writing userscripts for me,
               | because I was no longer able to install and update them
               | just by copying them to mozilla folder and had to invoke
               | a lot of clicking ceremony to just get my 20 scripts or
               | so from git into firefox past the webextension
               | limitations on storage/access to mozilla folder.
        
             | dan-robertson wrote:
             | Isn't your example a type error. JQuery's operations auto-
             | broadcast over the lists of elements it returns whereas the
             | native methods don't
        
           | Kaze404 wrote:
           | Conversely, looking at how you do it through jQuery after
           | seeing how it is in Javascript gives me the same reaction.
           | 
           | The fact that jQuery is usually assigned to the dollar sign
           | definitely doesn't help, especially for beginners. The amount
           | of questions I've answered that stemmed from a fundamental
           | misunderstanding of how Javascript works, all because they
           | learned jQuery instead of Javascript, is pretty significant.
        
             | cosmotic wrote:
             | That argument stands true for most frameworks on most
             | platforms. I prefer the dollar sign; it's pervasive and
             | concise.
        
               | Kaze404 wrote:
               | I disagree. There's nothing about React, Vue or any other
               | framework that I'm aware of that does anything similar to
               | jQuery's dollar sign. The only magically-looking
               | abstraction I can think of is JSX, and that's not only
               | not mandatory but very obviously something that's off the
               | curve. Unlike the dollar sign, which just looks like a
               | special construct of the language.
        
             | mettamage wrote:
             | I remember when I was in uni that the $() must've had a
             | special meaning or something. I was pretty convinced that
             | the $ was some tough mathematical operator or computer
             | science concept that I didn't yet understand.
             | 
             | When I learned that it was simply a function invocation
             | that returned a jQuery object so you could chain it, I was
             | absolutely shocked about the simplicity of that statement.
             | 
             | Beginning developers sure like to project their cognitive
             | insecurities onto programming. Or at least, I did :)
        
               | macintux wrote:
               | There's so much magic in programming that as a beginner,
               | it's hard to know which magic you should dig deeper into,
               | vs which is such a treacherous rabbit hole you're better
               | off cargo culting.
        
               | bigfudge wrote:
               | It think this is true of many technical things.
               | Statistics, sailing, car mechanics, photography... What I
               | love about HN is it often gives clues as to which are the
               | interesting rabbit holes.
        
         | laurent92 wrote:
         | I never understood why people say "We've solved your jQuery
         | problem" by introducing getElementsByClassName() or even
         | querySelector(). When I come back to my older app, $(".my-
         | class") is still much nicer. jQuery gets out of the way, the
         | class gets syntax-highlighted, and .focus() can't create an
         | NPE.
        
           | wishinghand wrote:
           | One could also save document.querySelector to $ as a
           | constant.
        
             | vbezhenar wrote:
             | That would be very confusing for unsuspecting reader.
             | Please use something different, I would suggest `qs` for
             | `querySelector` and `qsa` for `querySelectorAll`.
        
           | tyingq wrote:
           | I know it doesn't replace jQuery, but this is fairly
           | straightforward:                 $ =
           | document.querySelector.bind(document)       $$ =
           | document.querySelectorAll.bind(document)
        
             | vijaybritto wrote:
             | Using this since ages. Also use window.DOM = document
        
           | josteink wrote:
           | > jQuery gets out of the way, the class gets syntax-
           | highlighted, and .focus() can't create an NPE.
           | 
           | So if your selector is wrong, you won't actually know,
           | because your code will pretend to run along just fine.
           | 
           | I personally consider that a con, not a pro, and one of my
           | (many) reasons _not_ to use jQuery.
        
         | brundolf wrote:
         | There were other things like the "Ajax" (remember that word?)
         | API, but that one's also been matched by a native API (fetch())
         | 
         | > keeping state within the DOM has fallen out of favor of more
         | comprehensible state management inside of JS
         | 
         | Not everything needs a whole reactive templating library.
         | There's absolutely still a usecase for mostly-static sites to
         | do imperative DOM manipulation.
         | 
         | The usecase for jQuery itself these days is dodgier, since as
         | you point out most of its big features are native now. It
         | should still help with browser compatibility (not necessary for
         | modern-ish browsers, but many sites don't want to limit
         | themselves to modern-ish browsers), its APIs are arguably still
         | a little nicer in some places, and it does have a significant
         | ecosystem of plugins so there's probably some value in having
         | that stuff integrate together. But personally I would have a
         | hard time justifying a whole library just for slightly nicer
         | APIs unless I was doing something significantly complicated,
         | and at that point I would just use React.
        
         | kemiller2002 wrote:
         | There are still a ton of legacy sites that use it. New
         | development? Don't know, but the last 2 companies I worked for
         | had massive systems written in JQuery.
        
         | justsomeuser wrote:
         | I like jQuery because:
         | 
         | - The API is still more concise than what is built into the
         | browser (Compare the number of lines used here:
         | http://youmightnotneedjquery.com/)
         | 
         | - It is still useful for older browsers that might not support
         | something.
         | 
         | - The API is burned into my brain, it speaks jQuery.
         | 
         | - If I have any issues, Google will usually surface how to use
         | the API faster than the (standards compliant API * can I use
         | it?)
         | 
         | I do use React for UI, but sometimes you have to interact with
         | the DOM; in those cases for larger programs I find jQuery
         | easier to read and write.
        
         | [deleted]
        
         | TedShiller wrote:
         | > Do people still use jQuery?
         | 
         | Oh yes. Very much so.
        
       | yawaworht1978 wrote:
       | JQuery and reading Resig's book and viewing the source code are
       | responsible for lifting me from horrible dev to below average
       | dev:-)
       | 
       | I learned to extend the library and understood to create some
       | minimal libraries for myself.
       | 
       | It can be very useful to this day and is almost a ballerina when
       | comparing the bloat of other frameworks or library stacks.
       | 
       | You never know maybe the come up with something better than
       | react.
        
       | _the_inflator wrote:
       | jQuery taught me how to write JavaScript frameworks. John Resig,
       | the founder of jQuery, wrote a book called "Secrets of the
       | JavaScript Ninja" was back then really a mindbender.
       | 
       | Function.prototype.toString() is really the craziest thing I know
       | to date regarding JS. Heavily used in earlier versions of jQuery
       | according to the book.
        
         | sethx wrote:
         | Please elaborate about toString() ?
        
           | jffry wrote:
           | The toString() method returns a string representing the
           | source code of the function.
           | 
           | https://developer.mozilla.org/en-
           | US/docs/Web/JavaScript/Refe...
        
             | Dragonai wrote:
             | That's pretty neat. Thanks for the link.
        
           | byroot wrote:
           | If called on a Function it returns the source of the
           | function, which allows for all sorts of meta programming.
        
             | hajile wrote:
             | If memory serves, a real world example was Angular doing a
             | toString then injecting dependencies before calling eval on
             | the new code.
             | 
             | To be honest, I don't know that there's ever a good reason
             | to use it in production as it almost always involves
             | performance and security problems.
        
               | davidmurdoch wrote:
               | > involves performance [...] problems
               | 
               | Except when it solves them!
               | https://mrale.ph/blog/2018/02/03/maybe-you-dont-need-
               | rust-to...
        
       | unbendable wrote:
       | Crazy to think what legacy jQuery and others left. Now I am using
       | React and the usual lib stack.
       | 
       | But I remember using jQuery, pug (or jade), browserify, bower...
       | that was what 5 to 6 years ago?
        
       | sethx wrote:
       | It's still not dead??
        
       | neilpanchal wrote:
       | jQuery has the kindest, most warm hearted, whimsical release
       | notes.
       | 
       | During the pandemic last year:
       | 
       | > We hope you're staying healthy and safe while so many of us are
       | stuck at home. With a virus ravaging the planet, we realize that
       | jQuery may not be a high priority for you or the sites you
       | manage. When you do have a moment, we recommend that you review
       | this new version and upgrade.
       | 
       | Some fun:
       | 
       | > I've never gotten to say this on a jQuery release, but May the
       | 4th be with you! A short time ago in a galaxy exactly like this
       | one, we released jQuery 3.5.0.
       | 
       | Release notes are also very well thought out and their philosophy
       | is to "move slowly and not break things". I admire that. They go
       | to great extent to provide help about how to deal with breaking
       | changes. Ends with a section thanking the contributors.
       | 
       | Super nice people.
        
       | maxpert wrote:
       | I sometimes look at react, and these modern frameworks and wish
       | they had a same nice API as jQuery. I still profoundly remember
       | how much simple it was compared to Prototype.js, and how simple
       | it was to do a zebra stripes on table. I am still looking for
       | that next piece of revolutionary simple library that will bring
       | the joy of jQuery with modern concepts and simplicity.
        
       | drummer wrote:
       | Jquery is awesome. I still use it in all my web projects.
        
       | niftylettuce wrote:
       | I'm a happy jQuery/Bootstrap user @ https://forwardemail.net.
       | 
       | The site scores ~100% on Lighthouse and PageSpeed Insights and is
       | ranked #1.
       | 
       | Open-startup @ https://forwardemail.net/open-startup!
       | 
       | Completely open-source too @ https://github.com/forwardemail
        
         | tluyben2 wrote:
         | Offtopic but thanks for launching this.
         | 
         | A happy customer.
        
         | spiderfarmer wrote:
         | Yes but if you're not using the latest JS framework how do you
         | get girls.
        
           | pqdbr wrote:
           | This. I was a happy Rails dev but html over the wire wasn't
           | cutting it at the club anymore. So I had to switch to React
           | and now I'm married.
           | 
           | Just kidding. My wife loves Rails.
        
             | rubyist5eva wrote:
             | Jokes on you, html over the wire is HOT NEW SH*T.
             | 
             | https://hotwire.dev/
        
           | megous wrote:
           | You get a girl by going places where girls congregate at a
           | similar or higher percentage to guys. Took me a while to
           | figure that out... Anyway, I understand sarcasm, too.
        
         | Sulamitachica wrote:
         | Nice open start up page! Congrats on success, will be signing
         | up for the free plan with my domain!
        
         | Johnny87 wrote:
         | Wow 15k??? That's impressive. I use another email forwarder but
         | haven't been happy with it, maybe I'll switch.
        
         | mehphp wrote:
         | From your FAQ
         | 
         | > No. Prices will never increase. Unlike other companies, we
         | will never shutdown our service either.
         | 
         | How can you guarantee this?
        
         | WORMS_EAT_WORMS wrote:
         | Super cool. I really like that you can also reply using this
         | service to each individual inbox. Like a universal inbox but
         | not married to any specific client/app. Maybe suggest making
         | that a little more easier to learn on your marketing homepage.
         | 
         | For your current users, are you seeing them use this more like
         | the demo gym owner video or for other use cases? Thanks
        
         | thesimon wrote:
         | Do you use automatic translation? At least the German version
         | feels a bit odd.
        
       | kureikain wrote:
       | I no longer use jQuery nowadays due to React/Stimulus but one
       | nice thing about jQuery is ability search for an element in a DOM
       | note and append html. You can do it with raw JavaScript but
       | jQuery API is light years ahead.
        
         | megous wrote:
         | For a good reason. XSS is no joke. I even block innerHTML and
         | friends in my apps via empty trusted-types and require-trusted-
         | types-for 'script' CSP.
        
       | [deleted]
        
       | claytongulick wrote:
       | I think a lot of the comments in this thread that are critical of
       | SPAs are thinking about them wrong.
       | 
       | SPAs aren't (shouldn't be) a replacement for websites.
       | 
       | They are a fantastic option for replacing native apps (PWAs).
       | 
       | Moving from walled garden native apps to the open web is good for
       | everyone except the app stores.
        
       | Klonoar wrote:
       | I think jQuery is amazing, but one thing that I've found over the
       | years is that the real killer for it was CSS animations becoming
       | simpler to use and more widespread in terms of support.
       | 
       | The final thing I used to reach for jQuery for was animation
       | support, but that need is by and large gone now. AJAX/JSONP is
       | good there, but to be honest it's not something that needs a
       | wrapper these days.
       | 
       | Glad to see the library is still updated, though - for sites that
       | might not have a budget to upgrade, knowing it's still got
       | support must be nice.
        
         | Tenal wrote:
         | CSS animations are a pain-inducing non-starter for thousands of
         | recurring use cases.
         | 
         | Example: Using Javascript to SHOW a modal, but then relying
         | applying addClass('animate') using CSS animations to transition
         | that modal (eg: bottom of screen to center, while fading in)
         | are nearly impossible without tons of hackery. The animations
         | do not render.
         | 
         | Hence jQuery animation calls.
        
           | megous wrote:
           | CSS animations are a necessity if you want any kind of
           | performance on mobile browsers and older phones.
        
           | bredren wrote:
           | They are. But I still wouldn't turn to jquery to solve this
           | particular problem.
        
       ___________________________________________________________________
       (page generated 2021-03-02 23:01 UTC)