React · React Native · 16 ಕಾಂಪೊನೆಂಟ್ಗಳು
ಕಷ್ಟದ ಇಂಟರಾಕ್ಷನ್ಗಳು, ಮುಗಿದಿವೆ.
Animated Chorus ಕೈಯಿಂದ ಸರಿಯಾಗಿ ಮಾಡಲು ಕಷ್ಟವಾದ ಇಂಟರಾಕ್ಷನ್ಗಳಿಗಾಗಿ ಮೋಷನ್ ಕಾಂಪೊನೆಂಟ್ಗಳ ಸಂಗ್ರಹ: ಉರುಳುವ ಸಂಖ್ಯೆಗಳು, ಸ್ಟ್ರೀಮ್ ಆಗುವ ಪಠ್ಯ, ಗಾತ್ರ ಬದಲಾಗುವ ಅದಲುಬದಲು, ಶೀಟ್ಗಳು, ಪೇಜರ್ಗಳು, ಸ್ವೈಪ್ ಕ್ರಿಯೆಗಳು ಮತ್ತು ಬದಲಾದುದನ್ನು ಮಾತ್ರ ಅನಿಮೇಟ್ ಮಾಡುವ ಪಟ್ಟಿಗಳು. ಒಂದು tag ಮತ್ತು ನಿಮ್ಮ ಡೇಟಾ. Provider ಇಲ್ಲ, ಸೆಟಪ್ ಇಲ್ಲ.
npm install @kkwaenggwari/animated-chorusಈ build ನಲ್ಲಿ ಅಳೆಯಲಾಗಿದೆ
Chrome, 2026-09-28. ಪ್ರತಿ ಷರತ್ತು ಮತ್ತು ಮಾದರಿ ಕಾರ್ಯಕ್ಷಮತೆ ಮಾರ್ಗದರ್ಶಿಯಲ್ಲಿದೆ. ಇದನ್ನು ಹೇಗೆ ಅಳೆಯಲಾಯಿತು
- 28.0KBಎಲ್ಲ 16 export ಗಳಿಗೆ KB gzip
ಸಂಪೂರ್ಣ ವೆಬ್ ಪ್ರವೇಶ, minify ಮಾಡಲಾಗಿದೆ. React ಮಾತ್ರ peer.
- 0ಅನಿಮೇಟ್ ಆಗುವಾಗ JS frame callback ಗಳು
ಒಂದು ಸಂಖ್ಯೆ, ಒಂದು ಎತ್ತರ ಮತ್ತು ಒಂದು ಹೈಲೈಟ್ ಒಟ್ಟಿಗೆ ಬದಲಾಗುತ್ತವೆ: ಬ್ರೌಸರ್ ಎಲ್ಲ 12 ಅನಿಮೇಶನ್ಗಳನ್ನು ಪ್ಲೇ ಮಾಡುತ್ತದೆ.
- 1ಪ್ರತಿ ಮೌಲ್ಯ ಬದಲಾವಣೆಗೆ ಒಂದು React commit
MotionNumberಮೌಲ್ಯ ಬದಲಾದಾಗ ರೆಂಡರ್ ಆಗುತ್ತದೆ, ಉರುಳುವಾಗ ಎಂದಿಗೂ ಅಲ್ಲ. - 11ಸ್ಟ್ರೀಮ್ ಆದ 3000 ಅಕ್ಷರಗಳಿಗೆ React commit ಗಳು
MotionStreamಅಕ್ಷರಗಳನ್ನು ನೇರವಾಗಿ ಸೇರಿಸಿ, ಸೆಕೆಂಡಿಗೆ ಕೆಲವು ಬಾರಿ React ಗೆ ಸೇರಿಸುತ್ತದೆ.
01ಅತ್ಯಂತ ಸುಲಭ
ಒಂದು tag ಮತ್ತು ನಿಮ್ಮ ಡೇಟಾ
ಪ್ರತಿ ಕಾಂಪೊನೆಂಟ್ ಸ್ವತಂತ್ರವಾಗಿ ಕೆಲಸ ಮಾಡುತ್ತದೆ: Provider, ಹೊದಿಕೆ ಕಾಂಪೊನೆಂಟ್ ಅಥವಾ ಸೆಟಪ್ ಕಾಲ್ ಇಲ್ಲ. ಸಂಗ್ರಹಗಳು items ಮತ್ತು renderItem ತೆಗೆದುಕೊಳ್ಳುತ್ತವೆ, ಮತ್ತು ನಿಮ್ಮ ಲೇಔಟ್, ಪಠ್ಯ ಮತ್ತು ಶೈಲಿಗಳು ನಿಮ್ಮವಾಗಿಯೇ ಉಳಿಯುತ್ತವೆ.
- ಒಂದು ಕಾಂಪೊನೆಂಟ್ import ಮಾಡಿ ಮೌಲ್ಯ ಕೊಡಿ. ಅದೇ ಸಂಪೂರ್ಣ ಏಕೀಕರಣ.
- ಪಟ್ಟಿಗಳು, ಟ್ಯಾಬ್ಗಳು ಮತ್ತು ಪೇಜರ್ಗಳು ನಿಮ್ಮ ಅರೇ ಓದುತ್ತವೆ; key ಡೀಫಾಲ್ಟ್ ಆಗಿ
item.id. - ಪಠ್ಯ ನಿಜವಾದ ಪಠ್ಯವಾಗಿಯೇ ಉಳಿಯುತ್ತದೆ: ಸುತ್ತಿಕೊಳ್ಳುತ್ತದೆ, ಫಾಂಟ್ನೊಂದಿಗೆ ಅಳತೆ ಬದಲಾಗುತ್ತದೆ ಮತ್ತು ಆಯ್ಕೆ ಮಾಡಬಹುದು.
<MotionNumber value={total} />;<MotionSwap value={status}>{label}</MotionSwap>;<MotionHeight open={open}>{details}</MotionHeight>;<MotionHighlight items={tabs} value={tab} onValueChange={setTab} />;<MotionList items={tasks} renderItem={(task) => task.title} />;<ProgressRing value={progress} />;
ಆರು ನೇರ ಕಾಂಪೊನೆಂಟ್ಗಳು, ಮತ್ತು ಪ್ರತಿಯೊಂದರ ಹಿಂದಿನ ಒಂದು ಸಾಲು ಕೋಡ್.
ಉದಾಹರಣೆ ಸಿದ್ಧವಾಗುತ್ತಿದೆ…
02ಅತ್ಯಂತ ವೇಗ
ಬ್ರೌಸರ್ ಪ್ಲೇ ಮಾಡುತ್ತದೆ. React ಸ್ಥಿರವಾಗಿರುತ್ತದೆ.
ವೆಬ್ನಲ್ಲಿ ಲೋಡ್ ಮಾಡಬೇಕಾದ ಅನಿಮೇಶನ್ ಲೈಬ್ರರಿ ಇಲ್ಲ: ಕಾಂಪೊನೆಂಟ್ಗಳು ತಮ್ಮ ಮೋಷನ್ ಅನ್ನು Web Animations API ಗೆ ಒಪ್ಪಿಸುತ್ತವೆ, ಹೀಗಾಗಿ ಉರುಳುವ ಸಂಖ್ಯೆ ಅಥವಾ ಗಾತ್ರ ಬದಲಾಗುವ ಪ್ಯಾನೆಲ್ ಚಲಿಸುವಾಗ ಪ್ರತಿ ಫ್ರೇಮ್ಗೆ JavaScript ಅಥವಾ React ರೆಂಡರ್ ವೆಚ್ಚವಿಲ್ಲ.
- 12 ಅನಿಮೇಶನ್ಗಳು ಒಟ್ಟಿಗೆ ನಡೆಯುವಾಗ 0 JS frame callback ಗಳು.
- ಪ್ರತಿ ಮೌಲ್ಯ ಬದಲಾವಣೆಗೆ ಒಂದು React commit, ಪ್ರತಿ ಫ್ರೇಮ್ಗೆ ಅಲ್ಲ.
- ಸ್ಟ್ರೀಮ್ ಆಗುವ ಪಠ್ಯ: 3000 ಅಕ್ಷರಗಳಿಗೆ 11 React commit ಗಳು. ಕೆಳಗಿನ ಉದಾಹರಣೆ ತನ್ನ ರೆಂಡರ್ಗಳನ್ನು ತಾನೇ ಎಣಿಸುತ್ತದೆ.
ಉದಾಹರಣೆ ಸಿದ್ಧವಾಗುತ್ತಿದೆ…
03ಅತ್ಯಂತ ಸ್ಥಿರ
ಯಾವುದನ್ನಾದರೂ ಅಡ್ಡಿಪಡಿಸಿ. ಅದು ಎಂದಿಗೂ ಜಿಗಿಯುವುದಿಲ್ಲ.
ಪ್ರತಿ ಹೊಸ ಮೌಲ್ಯ ಪರದೆಯ ಮೇಲಿರುವುದರಿಂದ ಆರಂಭವಾಗುತ್ತದೆ ಮತ್ತು spring ಗಳು ತಮ್ಮ ವೇಗ ಉಳಿಸಿಕೊಳ್ಳುತ್ತವೆ, ಹೀಗಾಗಿ ವೇಗದ ಕ್ಲಿಕ್ಗಳು, ಡೇಟಾ ಸ್ಫೋಟಗಳು ಮತ್ತು ದಿಕ್ಕು ಬದಲಾವಣೆಗಳು ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಕಾಣುತ್ತವೆ. ಮೋಷನ್ ಮುಗಿದಾಗ ಯಾವುದೂ ನಡೆಯುತ್ತಿರುವುದಿಲ್ಲ.
- ಸಂಖ್ಯೆಗಳು ಎಂದಿಗೂ ಒಡೆಯುವುದಿಲ್ಲ: ಉಳಿದ ಸ್ಥಾನಗಳು ಉರುಳುತ್ತಲೇ ಜಾರುತ್ತವೆ.
- 5 ms ಅಂತರದಲ್ಲಿ 200 ಹೊಸ ಮೌಲ್ಯಗಳು: ನಂತರ ಉಳಿದ ಅನಿಮೇಶನ್ಗಳು 0 ಮತ್ತು ನಿಖರ ಅಂತಿಮ ಪಠ್ಯ.
- React StrictMode ನಲ್ಲಿ ಸುರಕ್ಷಿತ. ಹಿನ್ನೆಲೆಯಲ್ಲಿರುವ React Native ಆ್ಯಪ್ನಲ್ಲಿ ಮೋಷನ್ ಅಂತಿಮ ಸ್ಥಿತಿಗೆ ನೆಲೆಗೊಳ್ಳುತ್ತದೆ.
ಉದಾಹರಣೆ ಸಿದ್ಧವಾಗುತ್ತಿದೆ…
16 ಕಾಂಪೊನೆಂಟ್ಗಳು, ಅವು ಮಾಡುವ ಕೆಲಸದಂತೆ ಗುಂಪು ಮಾಡಲಾಗಿದೆ
ಸಂಖ್ಯೆಗಳು ಮತ್ತು ಪಠ್ಯ, ಗಾತ್ರ ಬದಲಾಗುವ ವಿಷಯ, ಆಯ್ಕೆ, ಪಟ್ಟಿಗಳು, ಸನ್ನೆಗಳು, ಓವರ್ಲೇಗಳು ಮತ್ತು ಪ್ರಗತಿ. ಪ್ರತಿಯೊಂದಕ್ಕೂ ಪಕ್ಕದಲ್ಲಿ props ಇರುವ ನೇರ ವರ್ಕ್ಬೆಂಚ್ ಇದೆ.
ಎಲ್ಲ ಕಾಂಪೊನೆಂಟ್ಗಳುಸಂಖ್ಯೆಗಳು ಮತ್ತು ಪಠ್ಯ
ವಿಷಯ ಮತ್ತು ಗಾತ್ರ
ಆಯ್ಕೆ ಮತ್ತು ಪುಟ ತಿರುವು
ಪಟ್ಟಿಗಳು
ಸನ್ನೆಗಳು
ಓವರ್ಲೇಗಳು
ಪ್ರಗತಿ
ಒಟ್ಟುಗೂಡಿಸಿ
ಅನೇಕ ಕಾಂಪೊನೆಂಟ್ಗಳನ್ನು ಸೇರಿಸುವ ಸಂಪೂರ್ಣ ಪರದೆಗಳು, ಪ್ರತಿಯೊಂದರ ಸೆಟ್ಟಿಂಗ್ಗಳು ಉದಾಹರಣೆಯ ಹೊರಗೆ.
ಎಲ್ಲ ಉದಾಹರಣೆಗಳು- ಚಾಟ್ ಉತ್ತರಮಡಚಿ ಮರೆಯಾಗುವ ಸಲಹೆಗಳು, ಸ್ಥಿರ ವೇಗದಲ್ಲಿ ಸ್ಟ್ರೀಮ್ ಆಗುವ ಉತ್ತರ ಮತ್ತು ಬದಲಾಗುವ ಸ್ಥಿತಿ ಸಾಲು.
MotionStreamMotionListMotionSwapMotionHeight - ಚೆಕ್ಔಟ್ ಸಾರಾಂಶಕಾರ್ಟ್ ಬದಲಾದಂತೆ ಪ್ರಮಾಣಗಳು, ಸಾಲು ಮೊತ್ತಗಳು ಮತ್ತು ಒಟ್ಟು ಉರುಳುತ್ತವೆ; ಕೂಪನ್ ಸೂಚನೆ ಬಂದು ಹೋಗುತ್ತದೆ; ಪಾವತಿಗೆ ಉದ್ದೇಶಪೂರ್ವಕ ಹಿಡಿತ ಬೇಕು.
MotionListMotionNumberMotionPresenceMotionHold - ಇನ್ಬಾಕ್ಸ್ನೇರ ಎಣಿಕೆಗಳಿರುವ ಫಿಲ್ಟರ್ ಟ್ಯಾಬ್ಗಳು, ಸ್ವೈಪ್ ಮಾಡಿ ತೆಗೆಯಬಹುದಾದ ಸಾಲುಗಳು ಮತ್ತು ಖಾಲಿ ಜಾಗ ಮುಚ್ಚುವ ಪಟ್ಟಿ.
MotionHighlightMotionListMotionSwipeMotionNumber - ಫೋಟೋ ಫೀಡ್ಫೋಟೋಗಳ ಮೂಲಕ ಸ್ವೈಪ್ ಮಾಡಿ, ಥಂಬ್ನೇಲ್ಗಳಿಂದ ಜಿಗಿಯಿರಿ, ಯಾವುದೇ ಫೋಟೋವನ್ನು ಪೂರ್ಣ ಪರದೆಯಲ್ಲಿ ತೆರೆದು ಅದರ ವಿವರಗಳನ್ನು ಮೇಲಕ್ಕೆ ಎಳೆಯಿರಿ.
MotionPagerMotionHighlightMotionZoomMotionSheet
ವೆಬ್ ಮತ್ತು React Native ನಲ್ಲಿ ಅದೇ import
Metro ನೇಟಿವ್ ಅನುಷ್ಠಾನವನ್ನು ಮತ್ತು ವೆಬ್ ಬಂಡ್ಲರ್ಗಳು DOM ಅನುಷ್ಠಾನವನ್ನು ಆರಿಸುತ್ತವೆ. ಪ್ರತಿ ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಮೋಷನ್ ಅನ್ನು ತನಗೆ ಉತ್ತಮವಾದ ರೀತಿಯಲ್ಲಿ ಪ್ಲೇ ಮಾಡುತ್ತದೆ.
// Web and React Native: the same import.
import { MotionNumber, MotionList } from '@kkwaenggwari/animated-chorus';
export function Score({ points, players }) {
return (
<>
<MotionNumber value={points} />
<MotionList items={players} renderItem={(player) => player.name} />
</>
);
}| ಭಾಗ | ವೆಬ್ | React Native |
|---|---|---|
| Transform ಮತ್ತು opacity | Web Animations API, spring ಗಳನ್ನು ವಿಶ್ಲೇಷಣಾತ್ಮಕವಾಗಿ ಮಾದರಿ ಮಾಡಲಾಗುತ್ತದೆ | ನೇಟಿವ್ driver ನೊಂದಿಗೆ Animated |
| ಅಗಲ ಮತ್ತು ಎತ್ತರ | Web Animations API | JS driver ನೊಂದಿಗೆ Animated, ಏಕೆಂದರೆ ಇದು ಲೇಔಟ್ |
| ಸ್ಟ್ರೀಮ್ ಆಗುವ ಪಠ್ಯ | ಅಕ್ಷರಗಳು ಸೇರಿ ಮಸುಕಾಗಿ ಕಾಣುತ್ತವೆ; ಸೆಕೆಂಡಿಗೆ ಕೆಲವು React ರೆಂಡರ್ಗಳು | ನಿಜವಾದ Text, ಮಸುಕಿಲ್ಲದೆ ಕಾಣುತ್ತದೆ |
| ಶೀಟ್ಗಳು ಮತ್ತು ಜೂಮ್ | ಮೇಲಿನ ಪದರದಲ್ಲಿ ನೇಟಿವ್ dialog | ಪಾರದರ್ಶಕ Modal; ಹಿಂದಿನ ಬಟನ್ ಅದನ್ನು ಮುಚ್ಚುತ್ತದೆ |
ಎರಡು ನಿಮಿಷಗಳಲ್ಲಿ ಪ್ರಾರಂಭಿಸಿ
ಇನ್ಸ್ಟಾಲ್ ಮಾಡಿ, ಒಂದು ಕಾಂಪೊನೆಂಟ್ import ಮಾಡಿ, ಮೌಲ್ಯ ಕೊಡಿ.
npm install @kkwaenggwari/animated-chorus