umbrella
DOM_Maker
umbrella | DOM_Maker | |
---|---|---|
7 | 1 | |
2,250 | 2 | |
- | - | |
2.0 | 10.0 | |
16 days ago | about 4 years ago | |
JavaScript | HTML | |
MIT License | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
umbrella
- Ask HN: Good resource on writing web app with plain JavaScript/HTML/CSS
-
The impact of removing jQuery on our web performance
If you are mainly using jquery for its DOM manipulation¹ rather than for browser compatibility² or things that didn't exist consistently in older browsers³ then there are much smaller libraries that do that job which may be worth looking into. https://github.com/fabiospampinato/cash or https://github.com/franciscop/umbrella to give a couple of examples. Some explicitly support IE11 so you are not dropping as much support for legacy browsers as you might otherwise.
Though if jQuery works for you and isn't a performance issue, then by all means keep with it. It may not be ideal, but good enough and does the job. Let the naysayers spend their time debating whether you should or not, and just get on with making things!
---
[1] selection engine, chained selections, chained modifications, …
[2] not the issue it once was, if you can abandon IE and old Android browsers from your supported UAs or can deal with any issues that crop up individually
[3] again, if you can afford to drop support for legacy UAs
-
Gov.uk drops jQuery from their front end
Yes, and if you continue long enough you end up with one of the many jQuery alternatives, like mine:
https://umbrellajs.com/
- Umbrella JavaScript: Tiny library for DOM manipulation and events
-
Ask HN: Should I even bother with React?
If you're learning React just to get a job, you're doing it wrong, since recruiters are always changing their requirements. They will add `proficient in Svelte` just to annoy you, (after having learning React) and now you're no longer relevant to them.
That's why I say: stick to the baseline of HTML, CSS, & JS. Learn to write vanilla JS for common things, maybe learn UmbrellaJS[0] for syntactic sugar and manipulating the DOM.
Oh and learn some APIs to do back-end stuff too. And for forms, there's loads of projects out there to automate that[1]
[0] https://umbrellajs.com/
[1] https://www.producthunt.com/search?q=forms
- Make Front End Shit Again
-
Replacing jQuery (110kb) With UmbrellaJS (8kb)
const insertAfter = (col, html) => col.forEach(el => el.insertAdjacentElement('afterend', html));
Keep going a bit like that, until you realize you are basically reinventing jQuery. Add a couple of very nice-to-haves, like chaining (instead of nesting in these examples above) and that's exactly what Umbrella JS is, very thin methods to manipulate the DOM and handle events. In fact, compare our "addClass" implementation in this comment to [Umbrella's addClass](https://github.com/franciscop/umbrella/blob/master/src/plugi...), it's almost the same size but hundred times more flexible:
// Add class(es) to the matched nodes
DOM_Maker
-
The impact of removing jQuery on our web performance
This is probably the biggest hole in vanilla js. In particular building a large DOM structure requires so many method calls.
jQuery lets one use an innerHTML-ish style, but it is supposedly guarding against injection attacks in some way. I don't like the hand-wavy way it claims to guard against injections, as basically it has no way to tell what part of a string was meant to be text, and what was meant to be elements.
So I ended up coding my own library. No conversion of strings to elements, so naturally no injections. Very small and simple. But saves a ton of typing when generating DOM structures in JavaScript: https://github.com/NoHatCoder/DOM_Maker
What are some alternatives?
cash - An absurdly small jQuery alternative for modern browsers.
nl-covid19-data-dashboard - The dashboard provides information on the outbreak and prevalence of COVID-19 in The Netherlands
femtoJS - femtoJS - Really small JavaScript (ES6) library for DOM manipulation.
httparchive.org - The HTTP Archive website hosted on App Engine
uswds - The U.S. Web Design System helps the federal government build fast, accessible, mobile-friendly websites.
Alpine.js - A rugged, minimal framework for composing JavaScript behavior in your markup.
govuk-puppet - Decommissioned: Puppet manifests that used to provision the legacy GOV.UK stack.
html-form-to-google-sheet - How to submit HTML forms to Google Sheets. (Updated for 2023 Script Editor)
make-frontend-shit-again