<story><title>Removing jQuery from GitHub.com frontend</title><url>https://twitter.com/mislav/status/1022058279000842240</url></story><parent_chain><item><author>zackbloom</author><text>I was one of the developers who made &lt;a href=&quot;http:&amp;#x2F;&amp;#x2F;youmightnotneedjquery.com&quot; rel=&quot;nofollow&quot;&gt;http:&amp;#x2F;&amp;#x2F;youmightnotneedjquery.com&lt;/a&gt;. To be fair, we made it in... 2014? There is a lot you can do now which you couldn&amp;#x27;t do then, just with a browser. A lot of the challenging examples, like animation, you&amp;#x27;re better off doing with straight CSS.&lt;p&gt;Ultimately, I haven&amp;#x27;t actually used jQuery for anything serious in half a decade, and somehow I manage.</text></item><item><author>interlocutor</author><text>Removing jQuery is not always a good idea. The best advertisement for jQuery, ironically, is this site: &lt;a href=&quot;http:&amp;#x2F;&amp;#x2F;youmightnotneedjquery.com&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;http:&amp;#x2F;&amp;#x2F;youmightnotneedjquery.com&amp;#x2F;&lt;/a&gt; Look at how simple things are in the left column, and how much more code is needed in the right column.&lt;p&gt;jQuery has many convenience features such as chaining, for example: item.addClass(&amp;#x27;selected&amp;#x27;).siblings().removeClass(&amp;#x27;selected&amp;#x27;);
and you don&amp;#x27;t have to check for nulls after each selection.&lt;p&gt;Many functions such as closest() and remove() have no equivalents in IE11, and other things such as replaceWith() and before() are not available even in Edge.&lt;p&gt;For simple sites it is easy enough to remove jQuery, but for more complex javascript applications, especially apps that have a lot of interactivity, removing jQuery will result in more code, or you will end up writing a lot of utility functions thereby creating your own little clone of jQuery.</text></item></parent_chain><comment><author>sgift</author><text>&amp;gt; Ultimately, I haven&amp;#x27;t actually used jQuery for anything serious in half a decade, and somehow I manage.&lt;p&gt;I don&amp;#x27;t understand that sentiment ... Of course you can &amp;quot;manage&amp;quot; without JQuery. JQuery itself doesn&amp;#x27;t use JQuery (D&amp;#x27;oh) and somehow it can do all these things, so it is possible. The point of JQuery is that I don&amp;#x27;t have to think about the various (slightly) incompatible implementations of &amp;lt;whatever&amp;gt; in each browser version, but can just use one lib call and be done with it.&lt;p&gt;JQuery to me is like using a car instead of running to another city. Yes, I could run, but why would I do that ..?</text></comment>
<story><title>Removing jQuery from GitHub.com frontend</title><url>https://twitter.com/mislav/status/1022058279000842240</url></story><parent_chain><item><author>zackbloom</author><text>I was one of the developers who made &lt;a href=&quot;http:&amp;#x2F;&amp;#x2F;youmightnotneedjquery.com&quot; rel=&quot;nofollow&quot;&gt;http:&amp;#x2F;&amp;#x2F;youmightnotneedjquery.com&lt;/a&gt;. To be fair, we made it in... 2014? There is a lot you can do now which you couldn&amp;#x27;t do then, just with a browser. A lot of the challenging examples, like animation, you&amp;#x27;re better off doing with straight CSS.&lt;p&gt;Ultimately, I haven&amp;#x27;t actually used jQuery for anything serious in half a decade, and somehow I manage.</text></item><item><author>interlocutor</author><text>Removing jQuery is not always a good idea. The best advertisement for jQuery, ironically, is this site: &lt;a href=&quot;http:&amp;#x2F;&amp;#x2F;youmightnotneedjquery.com&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;http:&amp;#x2F;&amp;#x2F;youmightnotneedjquery.com&amp;#x2F;&lt;/a&gt; Look at how simple things are in the left column, and how much more code is needed in the right column.&lt;p&gt;jQuery has many convenience features such as chaining, for example: item.addClass(&amp;#x27;selected&amp;#x27;).siblings().removeClass(&amp;#x27;selected&amp;#x27;);
and you don&amp;#x27;t have to check for nulls after each selection.&lt;p&gt;Many functions such as closest() and remove() have no equivalents in IE11, and other things such as replaceWith() and before() are not available even in Edge.&lt;p&gt;For simple sites it is easy enough to remove jQuery, but for more complex javascript applications, especially apps that have a lot of interactivity, removing jQuery will result in more code, or you will end up writing a lot of utility functions thereby creating your own little clone of jQuery.</text></item></parent_chain><comment><author>EnderMB</author><text>Haha, I remember when that site was released, and a few of our developers jumped right on it without actually reading the text - namely the second paragraph.&lt;p&gt;&amp;gt; If you&amp;#x27;re developing a library on the other hand, please take a moment to consider if you actually need jQuery as a dependency. Maybe you can include a few lines of utility code, and forgo the requirement. If you&amp;#x27;re only targeting more modern browsers, you might not need anything more than what the browser ships with.&lt;p&gt;Back then, you were 100% correct that if you were writing a library that you intend to use in other places, having jQuery as a hard requirement was a bad idea. However, one developer managed to convince their PM&amp;#x27;s to completely strip out jQuery for an upcoming project, despite the fact that this website was for a major charity that had huge accessibility requirements AND required legacy browser support. The devs on that project learned a ton about vanilla JS, but that project was an absolute disaster.&lt;p&gt;We did get a solid library out of it, though, and at least that didn&amp;#x27;t have jQuery as a dependency!</text></comment>