AnimeJs v4 रिलीज़
(animejs.com)- Anime.js वेब पर किसी भी चीज़ को animate करने के लिए एक तेज़ और बहुउपयोगी JavaScript लाइब्रेरी है
- V4 में पूरे ढांचे को फिर से लिखा गया है, जिससे performance में बड़ा सुधार हुआ है, और API को भी अधिक आधुनिक तरीके से पुनर्गठित किया गया है
- खास तौर पर ES Module सपोर्ट, tree shaking optimization, और जटिल animation composition में सुधार के जरिए developer experience बेहतर हुआ है
Anime.js V4 के मुख्य बदलावों का सारांश
-
ES मॉड्यूलाइजेशन और API बदलाव
- अब सभी फीचर ES modules के रूप में उपलब्ध हैं (
anime()→animate()) - यह tree shaking के लिए बेहतर है, इसलिए केवल ज़रूरी फीचर import करके इस्तेमाल किए जा सकते हैं
anime({ targets })→animate(targets, params)के रूप में बदला गया है
- अब सभी फीचर ES modules के रूप में उपलब्ध हैं (
-
मुख्य API बदलाव
easeInOutQuad→'inOutQuad'(prefix हटाया गया)- callback function नाम बदले गए हैं:
begin()→onBegin()update()→onUpdate()complete()→onComplete()change()→onRender()- loop से जुड़े callback अब
onLoop()एक ही नाम में एकीकृत कर दिए गए हैं
.finished→.then()के साथ Promise handling का तरीका बदला गया है{ value: 100 }→{ to: 100 }के रूप में value expression बदला गया हैround: 100→modifier: utils.round(2)के जरिए संख्यात्मक बदलाव अब अधिक लचीले तरीके से किए जा सकते हैं
-
animation configuration और composition में सुधार
- default easing value अब
outQuadहै - एक ही target पर एक ही property की animation दोहराने पर डिफ़ॉल्ट रूप से पिछला tween cancel हो जाता है (
composition: 'replace')composition: 'none'→ V3 वाला तरीका (nesting की अनुमति)composition: 'add'→ additive animation लागू की जा सकती है
- default easing value अब
-
playback method से जुड़े बदलाव
direction: 'reverse'या'alternate'→reversed: true,alternate: trueमें अलग किया गया है, इसलिए अब इन्हें साथ में इस्तेमाल किया जा सकता हैloop: 1→ default loop अब 0 कर दिया गया है
-
Timeline सिस्टम में सुधार
anime.timeline()→createTimeline()में बदला गया है- child animations में
loop,reversedका उपयोग किया जा सकता है defaultsproperty से child animations के लिए common options सेट किए जा सकते हैंset(),label,stagger()जैसी अधिक लचीली timing control सुविधाएँ जोड़ी गई हैं- CSS transform properties अब child animations के बीच अधिक स्वाभाविक रूप से जुड़ती हैं
-
Stagger और SVG animation
anime.stagger()→stagger()को सीधे import करके इस्तेमाल करेंanime.path()→svg.createMotionPath()का उपयोगstrokeDashoffset,pointsजैसी SVG properties को भीsvg.drawLine(),svg.morphTo()आदि से handle किया जाता है
-
utility functions का विभाजन
anime.get()→utils.get()anime.set()→utils.set()anime.remove()→utils.remove()anime.round()→utils.round()
-
engine settings में बदलाव
anime.suspendWhenDocumentHidden = false→engine.pauseWhenHidden = falseanime.speed = 0.5→engine.playbackRate = 0.5
-
performance और structure में सुधार
- पूरे code refactoring से memory usage कम हुआ है और performance बेहतर हुई है
- Tween सिस्टम को फिर से लिखने से duplicate animation के समय bugs कम हुए हैं
composition: 'add'के साथ additive animation सपोर्ट- CSS Transform compose करते समय स्वाभाविक continuity बेहतर हुई है
नए फीचर
- CSS variable animation support: उदाहरण
animate('#target', { '--radius': '20px' }) - from animation support:
{ from: 50, to: 100 }फ़ॉर्म का उपयोग संभव - hex color में alpha support: उदाहरण
#FF4433AAफ़ॉर्मेट सपोर्ट - createTimer फीचर जोड़ा गया:
setTimeout,setIntervalका विकल्पonLoop,onUpdate,onCompleteआदि का उपयोग संभवframeRatecontrol के जरिए game loop जैसी स्थितियों में उपयोग संभव
- variable frame rate support: animation, timeline और timer के लिए अलग-अलग सेटिंग संभव
Anime.js की विशेषताएँ
-
सहज API
- यह उपयोग में आसान लेकिन शक्तिशाली animation API प्रदान करता है।
- यह property-specific parameters और लचीले keyframe सिस्टम को सपोर्ट करता है।
- यह built-in easing functions और बेहतर transform capabilities प्रदान करता है।
-
SVG toolset
- built-in SVG utilities के जरिए shape morphing, motion path tracking, और line drawing आसानी से की जा सकती है।
- इसमें shape morphing, line drawing, और motion path फीचर शामिल हैं।
-
scroll observer
- यह Scroll Observer API प्रदान करता है, जिससे scroll के अनुसार animation को sync और trigger किया जा सकता है।
- यह कई sync modes और advanced thresholds को सपोर्ट करता है।
-
advanced staggering
- built-in Stagger utility function के जरिए कुछ ही सेकंड में शानदार effects बनाए जा सकते हैं।
- इसमें time staggering, value staggering, और timeline position staggering शामिल हैं।
-
spring और drag फीचर
- Draggable API के जरिए HTML elements को drag, snap, flick, और throw किया जा सकता है।
- यह कई settings, व्यापक callbacks, और उपयोगी methods प्रदान करता है।
-
Timeline API
- शक्तिशाली Timeline API के जरिए animation sequence को व्यवस्थित किया जा सकता है और callbacks को sync किया जा सकता है।
- यह animation synchronization, advanced time positions, और playback settings को सपोर्ट करता है।
-
responsive animation
- Scope API का उपयोग करके media query पर आसानी से प्रतिक्रिया देने वाली animations बनाई जा सकती हैं।
- इसमें media queries, custom root elements, और scope methods शामिल हैं।
2 टिप्पणियां
वाह, कमाल है
Hacker News की राय