Open smWtf opened 8 years ago
Hi, to have a fair comparison it would be better to check the size of minified versions of the files (comments are removed). TweenLite + TimelineLite are together something like 38KB, Velocity is 35KB, Tweene-velocity is 39KB. Using only TweenLite you cannot do any DOM animation, because you will need also the CSSPlugin, that are other 37KB minified, and you will miss also loop feature.
Said that, I'm rewriting the whole library to have a better organization of the code and to add other cool features, like staggering and the ability to seek / jump to any time position, the new version would probably require less space, we will see.
to have a fair comparison it would be better to check the size of minified versions of the files TweenLite + TimelineLite are together something like 38KB, Velocity is 35KB, Tweene-velocity is 39KB. Using only TweenLite you cannot do any DOM animation, because you will need also the CSSPlugin, that are other 37KB minified, and you will miss also loop feature.
Fair notice.
I'm rewriting the whole library to have a better organization of the code and to add other cool features, like staggering and the ability to seek / jump to any time position, the new version would probably require less space, we will see.
I'm excited to see new features, but that's not exactly the thing I was asking for in OP.
What I was hoping to see, is a version with a bare minimum of features, that will be just enough to bring simple unchained animations to custom UI components, without inflating it's size too much. (Size with all the dependencies, required to make it work I mean). Something, with help of which it will be possible to start and stop animations, to have progress and complete callbacks and maybe a way to specify easing functions. And, well, maybe with a proxy methods to get/set css properties. Without timelines, pause, repeat/yoyo features and even without bundling easings to the package, relying instead to the ones that's already available within underlying animation engine (and if the one we wanted to use isn't present - fallback to whatever default/available option is).
Judging by the API that's definitely not the use-case you had in mind while building Tweene, but since you already did all the work of wrapping various animation engines under the universal API - I thought it wont hurt if I ask about lite version. After all having such version in context of this project looks more rational to me than building it as a separate project.
But I haven't looked further though, maybe something like this already exists.
Hello. I just found this project few hours ago and I've got quite excited about it at first. It was nice to find out that I can have power of GSAP-like timelines with Velocity animation engine... However it's quite big in size and in some... actually in many cases most of the features it comes will not be needed.
Real example: Currently I have some UI components in works (just like those fancy javascript-powered things from Bootstrap or Semantic-UI frameworks) which I'd like to release to the public in the future. But right now it's being developed in context of the project where Velocity.js is used all over the board, so those components are relying on it as well.
And it may look like switching from using Velocity directly to Tweene is a good idea, because this way it will make use of whatever existing animation engine instead, so this is probably going to be the most lightweight dependency that will enable us to have animations, right? Well, not really. Current package of Tweene is about 140kb in size uncompressed, which is more than half a size of Velocity.js size and twice bigger than GSAP's TweenLite.
I'm not familiar with the code, so I don't if it's functional without Timelines or not. I would assume that is and this alone can save us like 20% of the size. But without knowing details of the code internals it hard to even assume what components can be omitted from the bundle to get minimal working configuration.
And because of all that I would love to see some sort of minimal package or maybe even a simplified version of Tweene (like TweenLite/TweenMax in GSAP) to be a part of the project.
Because currently it's just cheaper to go with a dependency of gsap's TweenLite, rather than Tweene. And even then 70kb of extra code is still a lot