5 ms·
The Future of JQuery UI and JQuery Mobile
- darth_mastah 9y agoConsidering current trends for creating complex applications for the client I do not believe jQuery has much of a future anyway. It had been good while it lasted, I used to like jQuery a lot until better tools came along. These days libraries for DOM manipulation seem not only obsolete but also standing in a way of focused and efficient development. Let jQuery rest in peace and be remembered for its past greatness.
- osrec 9y agoDisagree with this somewhat. I think jQuery still has a place in web app development, especially when you need something done fast. You just need to be careful not to over-bloat your js. jQuery has helped my team get stuff done really fast more than a few times in the last couple of months.
- darth_mastah 9y agoDepends on the context, I guess. While working on a code base employing DOM manipulation it's absolutely fine. Having said that I would think long and hard before starting a new project with jQuery, and then probably used another library. There are other ways to get things done quickly, efficiently and in a way which promotes maintenance.
- chmln 9y ago> I think jQuery still has a place in web app development, especially when you need something done fast I never got this argument and am curious - what exactly does jQuery do faster? I've left it behind for CSS animations and native Dom selectors years ago and haven't looked back.
- osrec 9y agoTo a certain extent I have left it behind as well, but jQuery does add an extra level of convenience that is well suited to prototyping (and even getting things done quickly in prod). One example is the each function that works on object properties. Getting that to work on an older browser without jQuery is a bit convoluted, but with jQuery it's easy. Not saying it's the only/best way to do it, but it is probably the easiest.
- fein 9y agoIt's certainly easier to just include JQ on an existing site and get to work for simple stuff, but I just deal with Angular now. Easy enough to get up and running with ngcli, and a year down the road the codebase won't look like the abortion which is loads of jquery.
- smelendez 9y agoIt's definitely less necessary than it was a few years ago. I find it useful when you just want to add a little bit of interactivity to a mostly static page, and you're not sure who's going to be maintaining the page in the future or trying to use it as a template. A lot of people who know a decent amount of HTML and CSS but aren't that familiar with straight JS dom manipulation, or what functionality works cross-browser, can tweak jQuery-based code more easily. That's really a tribute to the jQuery project--the documentation is simple and a lot of the methods (e.g., show, hide and append) are very intuitive.
- taco_emoji 9y agoThis article is about JQuery UI and JQuery Mobile, which are not the same as JQuery.
- butz 9y agoGood times with those gradient styled widgets, but today they should be retired and developers should start looking at upcoming tech, like Houdini project https://github.com/w3c/css-houdini-drafts/wiki https://github.com/w3c/css-houdini-drafts/wiki .
- gotofritz 9y agoTL;DR they are both dying
- crescentfresh 9y agoThat's not the TL;DR of the article at all.
- k__ 9y agoIt would be if it was written by someone neutral and not the creators of the tools.
- akras14 9y agoHere is real TLDR; - Scott Gonzalez has lead the jQuery UI project for many years now and has helped to improve the quality tremendously. - However, we do hope to continue reducing the amount of duplicated code and widgets in the projects moving anything common to jQuery UI. - We think going forward this needs to change; we will now be looking for and accepting people that are just interested in maintaining a single piece of the library, requiring a much smaller time contribution. - Over time however, we have seen a large decrease in the number of people on IRC while other projects have had great results with easier to use tools like Slack. - Anyone who is interested can feel free to reach out to Alex Schmitz, the new team lead for both projects, join our slack channel or even find us on IRC (we are still there).
- gotofritz 9y agoThey are just trying to give it a positive spin.
- collinmanderson 9y agojQuery is still quite relevant and helpful. Despite the hype with newer libraries, jQuery is used on 73% of _all_ websites. https://w3techs.com/technologies/overview/javascript_library/all https://w3techs.com/technologies/overview/javascript_library... I often tell myself, ok, I'm going to just use vanilla JS for this one, but compared to jQuery, it's way too verbose. Try doing $('.my-elements').show() in vanilla js. The problem is the jQuery foundation has become too bureaucratic, making contributions harder. Example: https://github.com/globalizejs/globalize/pull/703 https://github.com/globalizejs/globalize/pull/703
- ibdf 9y agoI think that number is inflated by CMSs such as WP early adoption of jquery. I have used jQuery extensively and I agree that's still relevant, but jQuery Mobile and UI never really took off.
- collinmanderson 9y agoYes, 28% of all websites use WordPress (over half of the 73%). It means a lot of WordPress theme developers use jQuery. Yes, jQuery Mobile never really became a thing, but jQuery UI has some pretty useful widgets (autocomplete, date picker, sortable, etc.)
- codazoda 9y agoThat's actually a good example. My gut feeling was simply to write the following. document.getElementsByClassName("my-class")[0].style.display = 'block'; The PlainJS site mentions that it's not quite that simple and suggests writing your own show() and hide() functions if you're avoiding jQuery. https://plainjs.com/javascript/effects/hide-or-show-an-element-42/ https://plainjs.com/javascript/effects/hide-or-show-an-eleme...
- collinmanderson 9y agoRight, and that still doesn't handle applying the action to all _all_ items of that class. It would need to be something like this, though it still doesn't automatically handle inline vs block: document.querySelectorAll('.my-elements').forEach(function(el){el.style.display = 'block'}) And apparently there are issues even with that: https://css-tricks.com/snippets/javascript/loop-queryselectorall-matches/ https://css-tricks.com/snippets/javascript/loop-queryselecto...
- potench 9y agoThe slack url in this post overflows the text and zooms the page out on my phone making for an apropos blog reading experience about the future of jQuery mobile. Photo here https://twitter.com/potench/status/943950784592363520 https://twitter.com/potench/status/943950784592363520
- darth_mastah 9y agoSame here. +1
- SterlingHero 9y agoBahahaha
- dang 9y agoCan you please not post unsubstantive comments to HN? We eventually ban accounts that do this.
- olliej 9y agoI remember years ago (when I was still active in browser dev) having to argue with people who wanted jquery to be embedded in the browser and/or be part of the DOM spec. I'd like to imagine that this kind of article would help people understand why browsers don't just do that and instead try to develop general APIs that enable frameworks to grow and evolve or simply be replaced as new dev models spring into being. <grumbling> Consider this: jQuery needed a bunch of DOM operations to be very fast and have certain behaviors (it's a long time ago, but iirc there were selectors, property apis, certain kinds of nodelist behaviour). Multiple webdevs proposed build jQuery APIs into the browser, so rather than making the underlying operations fast, we'd just have the critical path implemented natively inside the browser. While that would have solved some performance problems it would not have helped any other framework. By instead making those core functionality faster, and providing general APIs for the things jQuery needed, other frameworks could also make use of them. My hope is that by seeing these posts (which are honestly tending toward EoL notices) people will remember than no one library is ever likely to be permanent, and will stop asking for browser to just include the libraries internally. </grumbling>
- tcfunk 9y agoSeems like most of the comments on here pertain to the relevance of jQuery, rather than jQuery UI and jQuery Mobile. Sure most sites still use jQuery, but do very many use jQuery UI anymore? jQuery Mobile? I've never seen a project use jQuery Mobile.
- Groxx 9y agoI've seen mobile on a moderate number of mobile-web-app side projects... though I haven't looked into these lately with anywhere near the frequency that I did a couple years ago. Generally it seemed pretty quick and easy to do good-quality simple stuff (like UI), though nobody did much beyond that because it was tricky to fine tune (like UI). Not sure what (if any) the current hotness is, aside from React + random components found online.
- invalidusernam3 9y agoI tried to use jQuery Mobile for a project once many years ago. It was a disaster, I ended up rewriting the entire thing
- jgillich 9y agoI built a complete mobile app using jQuery mobile and it was a total disaster as well. I had so many ugly hacks in place just to achieve what any decent SPA framework does out of the box nowadays. To this day I have no idea what the actual purpose of jQuery mobile was, it sucked for single page apps and felt more like a quick way to make HTML pages responsive. Which can of course be achieved with a bit of CSS or one of the many responsive CSS frameworks. Thankfully the app never made it to production, for various non-technical reasons.
- martin_bech 9y agoI had the exact same experience. Performance on Android was horrible!
- chrisparton1991 9y agoI used it for a project when I was at university. It was appalling to use. Lots of the examples on the jQuery mobile website failed (e.g. weird redirections when closing modals, lots of odd flashing and jumping around). A few years later I went back to check the examples and they had the same problem.
- dexwiz 9y agoPeople in the comment threads seem to be confusing jQuery UI with jQuery. jQuery UI is collection of interactions, effects, and widgets built on the more ubiquitous jQuery library.
- saas_co_de 9y agojQuery UI was also tightly tied to Filament Group so it was a commercial product looking to capitalize on the jQuery name. That whole think was not so successful and jQuery UI was never that great. 5+ years ago it was bloated and buggy and it has not seen much development since.
- andrew_ 9y agoFilament Group was a sponsor but the project was not "tightly tied" to the company. I believe that's a bit of FUD right there.
- whostolemyhat 9y agoOr a mistake, due to successful sponsorship. No need to assume the worst.
- ElijahLynn 9y agoCan't wait for Matrix to become the defacto tool to connect teams, instead of dropping IRC for Slack, they will drop IRC for Matrix. It makes me sad to see JQuery moving to Slack when I think they would be better off moving to Matrix instead. I hope they at least considered Matrix.
- JeanMarcS 9y agoI’ve heavily used jqueryUI and can’t thanks the team enough for all the work they done during those years. But when I opened the blog post on my iPhone and got only a small column, around the quarter of the screen, with content, I thought about how ironic it was, regarding the jquery mobile topic.
- git-pull 9y agojQuery UI and jQuery Mobile are deprecated. Take in mind, it comes from an age before HTML 5 became set in stone. Browsers weren't caught up yet. JavaScript libraries weren't plentiful and mature as they are now. CSS frameworks like bootstrap also didn't exist until years later. And there was more optimism toward the concept of creating a widget toolkit and a webview mobile app. And while to an extent - we embrace that now in some form - it didn't work so well the first go around [1]. Media queries becoming a normal practice and CSS frameworks made jQuery Mobile feel clunky. Heavy duty mobile apps went native - and I can't know where they are now. For jQuery UI, over time, the theming got a bit old. And stuff like "Buttons" (https://jqueryui.com/button/ https://jqueryui.com/button/), you can already get via CSS. Most CSS frameworks, for that matter, do a lot of the widgets with far less JS, if any at all. I'll miss them. They were a stepping stone in getting us to where we are now. [1] https://techcrunch.com/2012/09/11/mark-zuckerberg-our-biggest-mistake-with-mobile-was-betting-too-much-on-html5/ https://techcrunch.com/2012/09/11/mark-zuckerberg-our-bigges...
- sebringj 9y agoWhen I used it many years back, both UI and Mobile, I found it kludgy and odd. The UI wasn't all that pretty compared to Bootstrap so I just started using that and actually forgot about this entirely. I think that's where the actual migration started, with Bootstrap. The other frameworks started popping up later when jQuery wasn't scaling for UI code such as Ember and using Mustache then later Angular, then React, Angular 2, Vue, etc so now, so now jQuery UI/Mobile is completely irrelevant. I would also throw in Sencha extjs as dead too and classify that as enterprise jquery UI.
- andrew_ 9y ago> In the past, when someone wanted to join the jQuery UI or jQuery Mobile teams we expected them to contribute to the library as a whole. I'm not sure about the accuracy of that. I was a jQuery UI team member in the '09 - '11 period (I can't recall exact dates) and I only worked on certain components, though I did participate in discussion and planning for the platform as a whole. It was also common for contributors/team members to pitch new plugins that weren't worked on by the entire team. So maybe this is just jQuery UI getting back to it's open source roots more so than anything. I'm sad to see that the project has fallen on hard times, but I'm not shocked given the direction most of front end webdev has moved towards these days. The amount and types of UI frameworks and component libs available today are myriad. And at jQuery UI's peak (and hell, jQuery as well) there were only a few. I'd like to add a meta-note that Scott Gonzalez was always great to work with, and if you want to read some interesting, independent thoughts, he's a good follow on the twitters.
- jiggliemon 9y agoOracle JET (javascript enterprise toolkit) has a strong dependency on jQuery UI.
- chmike 9y agoWhat are modern alternatives to jQuery mobile ?
- muxator 9y agoCould someone please tell me how modern DOM manipulation looks like these days? I understand jQuery is old, but do not have fresh information on what's used nowadays.
- dbbk 9y agoWith native APIs, jQuery was only useful for providing an abstraction layer over browsers' differing implementations, but they are mostly standardised now.
- SilverSlash 9y agoQuestion to those of you who use JQuery UI: Why JQuery over, say, React?
- DonHopkins 9y agojQuery certainly did a commendable job of lowering the bar for web developers! So low that many people thought of jQuery as a way to avoid learning JavaScript. (Not that there's anything wrong with that, mind you.) That's why there's such a huge demand for a free jQuery plugin that can add, subtract, multiply, divide and compare numbers. http://www.doxdesk.com/img/updates/20091116-so-large.gif http://www.doxdesk.com/img/updates/20091116-so-large.gif "-1 not enough jQuery" https://github.com/cbrandolino/jQuery-basic-arithmetic-plugin https://github.com/cbrandolino/jQuery-basic-arithmetic-plugi... jQuery basic arithmetic plugin $.add(arg1, arg2 [, args...]) adds two or more numbers; $.subtract(arg1, arg2 [, args...]) subtracts two or more numbers, the leftmost being the first operand; $.multiply(arg1, arg2 [, args...]) multiplies two or more numbers; $.divide(arg1, arg2 [, args...]) divides two or more numbers, the leftmost being the first operand; $.equals(arg1, arg2 [, args...]) checks two or more numbers for equality.