It means "multipurpose", polyvalent is a really common word in French, but apparently doesn't have the same signification in English, or is less common. I'll replace it by something else.
I would like to add to the other comments, in that I had no idea what polyvalent meant too.
I am going to make a wild guess in the dark here, and say that English isn't your first language (I sincerely apologize if I'm wrong). If this is true, did you try to translate a word from your native language into English, or are you a chemist ;)
I know exactly what you're trying to say with the term, but I think you could have much better uptake of your software if you found a word which conveys what you want to convey to a programmer audience.
After looking at the etymology of the word and your explanation of what it means, may I humbly put forward a couple of alternatives, and I am sure HN users could contribute more:
Anime.js is a multi-target yet lightweight Javascript animation library.
Anime.js is a flexible yet lightweight Javascript animation library.
Anime.js is a multi-framework yet lightweight Javascript animation library.
Anime.js is a polygamous yet lightweight (and STD free!) Javascript animation library.
The last entry is a feeble attempt at humour.
P.S. Great job on the library, especially keeping it lightweight
As a Spaniard myself, I am baffled since it is a word kind of common in the sciences. I don't think it's a translator problem, it might be a false friend problem; in Spanish it's "polivalente" instead of "polyvalent"
I would say that, from knowing the Spanish meaning AND use, there is no "decent" translation since it can be precise or simple, but not both. But this is the one I like most even though it has slightly different meaning:
- Anime.js is a flexible yet lightweight Javascript animation library.
I'm pretty sure not many people will understand what the word means in this context, and I would strongly suggest removing it. "valency" has specific meanings in chemistry and grammar, and I think it's not well-known outside of those contexts, and I'm not certain it really means what you want it to mean here.
That aside, this looks seriously awesome - the animation along the SVG path is great! The API also looks very pleasant.
I'm not a chemist, and I immediately understood this to mean "readily interacts/combines with multiple things", though my understanding did come directly from my (limited, school-level) chemistry, so it's certainly domain-specific terminology that mightn't cross too well to web dev.
Also, perhaps more importantly, it wasn't clear what things (rendering tech) the valencies were with until your comment.
I had to look up the word, and the dictionary definition didn't suggest this meaning to me. The library is much more interesting when you realise what you're looking for this word to convey, though!
"Polyglot" might work better. I realize that these are not different languages that the library can use, but you could reasonably interpret it to mean that the library "speaks" SVG / Canvas / Javascript objects.
It's a tough one, because technically I think polyvalent may actually be the most correct word by definition (albeit from a different domain), but this thread would indicate that understandability and not technical correctness is more important.
Polyglot, as has been suggested elsewhere, probably fits best even if it's very slightly inaccurate (normally pertaining specifically to multi-language use)
It might be a language issue. In Portuguese "polivalente" is a very common word meaning something has many functions. Nobody thinks of chemistry upon hearing it.
Just guessing, but I think it means it can animate things asynchronously and independently, even though "polyvalent" might not be the best word to describe those features.
Do you have any quick notes on how this compares and contrasts with GSAP[1] other than the licensing? Is there any clear case for "Use Anime.js for XYZ"?
GSAP can do a lot more than Anime.
But it’s also way more heavy.
My goal with this library was to keep the API simple as possible,
focus on the things I really need (multiple timings, easings, playback controls…) while keeping the code super lightweight (9KB minified).
This looks great, thank you for open sourcing this!
I would like to ask two things:
How do you think about the velocity.js code regarding performance optimization?
What would be the best way to coordinate multiple (potentially dependent) animations? I am thinking about a kind of dispatcher or switchboard logic - it would be great to see an advanced example right from the author.
Congrats on the release! You said Anime is equal or better than other JS libraries in terms of performance - were you including GSAP? In my tests, GSAP was significantly faster under stress: http://greensock.com/js/speed.html. Am I missing something? Do you have a test that shows otherwise? I don't mean that to detract from your hard work at all. Clearly you put a lot of effort into this, and I know how hard it is to pack in features and keep performance up and file size down. I applaud the file size achievement.
No I didn't, and you're right, GSAP perf looks amazing under your stress test! But I think it's a little bit unfair to compare performance on one test case. Anime was designed to offer more control on a single animation (like specific timings and easings by properties / elements) to avoid running multiple RAF at the same time (which is exactly what your test does), and keep the compact as possible.
Having 300 dom elements changing their top/left properties wasn't really my goal when I started working on Anime.
Hm, I don't recall seeing multiple RAFs in that demo. GSAP is all driven by a single one. And yes, I totally agree that nobody should place too much weight on just one performance test. I always advocate people doing their own tests which is why I was wondering if you had one that showed anime matching/exceeding GSAP's speed. No big deal, though. Just curious. Congrats again!
You can think of it either as map for setTimeout, or a way to turn sequences into a player object that accepts your own function to perform each point in the sequence.
thanks, this looks like a good start.
I would like to add "watchers" and "signals" that could trigger sequences. But I do not want to reinvent things, sure there must be something already out there (I am just an occasional user of js animations for gui elements, so I have no clue about the js animation universe).
Hmm, cool! The way I might go about that using Barrel would be to have many sequences in many players, can hook up your signals to call play() (or pause/rewind/stop, as needed) on the right player.
Also, Barrel has no built-in story for animations or anything HTML specific. But you can include tweening information in the events that make up the sequence, as long as your "doer" function knows how to perform them.
The only documentation of the anime.path function is the example: anime.path('path')
I think I can guess how to use it -- the argument is a "target" that resolves to an SVG path element (in the example, the only SVG path element on the page), and some processing is performed on the path element to get some sort of path object -- but it might help to clarify.