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