ãªãœãŒã¹æ¶è²»ã管çããReactããã¯ã®äœæãšäœ¿çšã«ã€ããŠæ·±ãæãäžããããã©ãŒãã³ã¹ãšãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãåäžãããŸãããã¹ããã©ã¯ãã£ã¹ãæé©åãã¯ããã¯ãå®äŸãåŠã³ãŸãããã
React ãªãœãŒã¹æ¶è²»ããã¯ïŒããã©ãŒãã³ã¹ãšãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã®æé©å
çŸä»£ã®Webéçºãç¹ã«Reactã®ãããªãã¬ãŒã ã¯ãŒã¯ã§æ§ç¯ãããã·ã³ã°ã«ããŒãžã¢ããªã±ãŒã·ã§ã³ã§ã¯ããªãœãŒã¹æ¶è²»ã®ç®¡çãæåªå äºé ã§ããæé©åãããŠããªãã¢ããªã±ãŒã·ã§ã³ã¯ãããã©ãŒãã³ã¹ã®äœäžããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã®äœäžãããã«ã¯ã·ã¹ãã ã®äžå®å®åã«ã€ãªããå¯èœæ§ããããŸãããã®èšäºã§ã¯ããªãœãŒã¹æ¶è²»ã广çã«ç®¡çããæçµçã«ã¹ã ãŒãºã§å¿çæ§ã®é«ãã¢ããªã±ãŒã·ã§ã³ãå®çŸããããã®Reactããã¯ã®äœæãšå©çšã«é¢ããå æ¬çãªã¬ã€ããæäŸããŸãã
Reactã¢ããªã±ãŒã·ã§ã³ã«ããããªãœãŒã¹æ¶è²»ã®çè§£
Reactã¢ããªã±ãŒã·ã§ã³ã¯ãä»ã®ãœãããŠã§ã¢ãšåæ§ã«ãããŸããŸãªã·ã¹ãã ãªãœãŒã¹ã«äŸåããŠããŸããããã«ã¯ä»¥äžãå«ãŸããŸãã
- CPU (äžå€®åŠçè£ çœ®): JavaScriptã³ãŒãã®å®è¡ãã³ã³ããŒãã³ãã®ã¬ã³ããªã³ã°ããŠãŒã¶ãŒã€ã³ã¿ã©ã¯ã·ã§ã³ã®åŠçã«å¿ èŠãªåŠçèœåãCPU䜿çšçãé«ããããšãã¬ã³ããªã³ã°ãé ããªã£ãããUIãå¿çããªããªã£ããããå¯èœæ§ããããŸãã
- ã¡ã¢ãª (RAM): ã¢ããªã±ãŒã·ã§ã³ã®äœæ¥é åãã¡ã¢ãªãªãŒã¯ãéå¹ççãªããŒã¿æ§é ã¯ãã¡ã¢ãªäžè¶³ãã¢ããªã±ãŒã·ã§ã³ã®ã¯ã©ãã·ã¥ã«ã€ãªããå¯èœæ§ããããŸãã
- ãããã¯ãŒã¯åž¯åå¹ : ã¯ã©ã€ã¢ã³ããšãµãŒããŒéã®ããŒã¿è»¢é容éãäžèŠãªããŸãã¯å€§ããªãããã¯ãŒã¯ãªã¯ãšã¹ãã¯é å»¶ãåŒãèµ·ãããããŒãžã®èªã¿èŸŒã¿æéãé ãããå¯èœæ§ããããŸãã
- GPU (ã°ã©ãã£ãã¯åŠçè£ çœ®): è€éãªããžã¥ã¢ã«ãã¢ãã¡ãŒã·ã§ã³ã®ã¬ã³ããªã³ã°ã«äœ¿çšãããŸããéå¹ççãªã¬ã³ããªã³ã°ã¯GPUã«è² è·ãããããã¬ãŒã ã¬ãŒãã®äœäžãåŒãèµ·ããå¯èœæ§ããããŸãã
é©åã«æé©åãããŠããªãReactã³ãŒãã¯ããªãœãŒã¹æ¶è²»ã®åé¡ãæªåãããå¯èœæ§ããããŸããäžè¬çãªåå ãšããŠã¯ä»¥äžãæããããŸãã
- äžèŠãªåã¬ã³ããªã³ã°: ã³ã³ããŒãã³ãã®propsãstateãå®éã«ã¯å€æŽãããŠããªãã«ãããããããåã¬ã³ããªã³ã°ãããããšã
- éå¹ççãªããŒã¿æ§é : ããŒã¿ã®æ ŒçŽãæäœã«äžé©åãªããŒã¿æ§é ã䜿çšããããšã
- æé©åãããŠããªãã¢ã«ãŽãªãºã : è€éãªèšç®ãããŒã¿åŠçã«éå¹ççãªã¢ã«ãŽãªãºã ã䜿çšããããšã
- 倧ããªç»åãšã¢ã»ãã: 倧ããå§çž®ãããŠããªãç»åããã®ä»ã®ã¢ã»ãããæäŸããããšã
- ã¡ã¢ãªãªãŒã¯: æªäœ¿çšã®ã³ã³ããŒãã³ããããŒã¿ãå æããã¡ã¢ãªãé©åã«è§£æŸã§ããªãããšã
ãªãœãŒã¹æ¶è²»ããã¯ã䜿çšããçç±
ãªãœãŒã¹æ¶è²»ããã¯ã¯ãReactã¢ããªã±ãŒã·ã§ã³å ã§ã®ãªãœãŒã¹äœ¿çšç¶æ³ã®ç£èŠãšç®¡çã®ããã®ãäžå åãããåå©çšå¯èœãªã¡ã«ããºã ãæäŸããŸãããã®å©ç¹ã¯ä»¥äžã®ãšããã§ãã
- äžå åãããç£èŠ: CPUãã¡ã¢ãªããããã¯ãŒã¯äœ¿çšç¶æ³ã远跡ããããã®åäžã®ãã€ã³ããæäŸããŸãã
- ããã©ãŒãã³ã¹ã®ããã«ããã¯ç¹å®: ã¢ããªã±ãŒã·ã§ã³å ã§éå°ãªãªãœãŒã¹ãæ¶è²»ããŠããé åãç¹å®ããã®ã«åœ¹ç«ã¡ãŸãã
- ããã¢ã¯ãã£ããªæé©å: ããã©ãŒãã³ã¹ã®åé¡ãé倧ã«ãªãåã«ãéçºè ãã³ãŒããšã¢ã»ãããæé©åããããšãå¯èœã«ããŸãã
- ãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã®åäž: ããé«éãªã¬ã³ããªã³ã°ãã¹ã ãŒãºãªã€ã³ã¿ã©ã¯ã·ã§ã³ãããå¿çæ§ã®é«ãã¢ããªã±ãŒã·ã§ã³ã«ã€ãªãããŸãã
- ã³ãŒãã®åå©çšæ§: ããã¯ã¯è€æ°ã®ã³ã³ããŒãã³ãã§åå©çšã§ããäžè²«æ§ãä¿é²ããã³ãŒãã®éè€ãåæžããŸãã
React ãªãœãŒã¹æ¶è²»ããã¯ã®æ§ç¯
CPU䜿çšçãç£èŠããã³ã³ããŒãã³ãã®ããã©ãŒãã³ã¹ã«é¢ããæŽå¯ãæäŸããåºæ¬çãªReactããã¯ãäœæããŠã¿ãŸãããã
åºæ¬çãªCPU䜿çšçã®ç£èŠ
以äžã®äŸã§ã¯ãperformance APIïŒã»ãšãã©ã®ã¢ãã³ãã©ãŠã¶ã§å©çšå¯èœïŒã䜿çšããŠCPUæéãæž¬å®ããŸãã
説æ:
useCpuUsageããã¯ã¯useStateã䜿çšããŠçŸåšã®CPU䜿çšçã®ããŒã»ã³ããŒãžãæ ŒçŽããŸããuseRefã¯ãæéå·®ãèšç®ããããã®åã®ã¿ã€ã ã¹ã¿ã³ããæ ŒçŽããããã«äœ¿çšãããŸããuseEffectã¯ã1ç§ããšã«å®è¡ãããã€ã³ã¿ãŒãã«ãèšå®ããŸãã- ã€ã³ã¿ãŒãã«å
ã§ã
performance.now()ã䜿çšããŠçŸåšã®ã¿ã€ã ã¹ã¿ã³ããååŸããŸãã - CPU䜿çšçã¯ãã€ã³ã¿ãŒãã«å ã§ã®CPUæäœã«è²»ããããæéã®ããŒã»ã³ããŒãžãšããŠèšç®ãããŸãã
setCpuUsage颿°ã¯ãæ°ããCPU䜿çšçã®å€ã§ç¶æ ãæŽæ°ããŸããclearInterval颿°ã¯ãã³ã³ããŒãã³ããã¢ã³ããŠã³ãããããšãã«ã€ã³ã¿ãŒãã«ãã¯ãªã¢ããããã«äœ¿çšãããã¡ã¢ãªãªãŒã¯ãé²ããŸãã
éèŠãªæ³šæç¹:
- ããã¯ç°¡ç¥åãããäŸã§ãããã©ãŠã¶ã®æé©åãšã»ãã¥ãªãã£å¶éã«ããããã©ãŠã¶ç°å¢ã§CPU䜿çšçãæ£ç¢ºã«æž¬å®ããããšã¯è€éã§ãã
- å®éã®ã·ããªãªã§ã¯ãæå³ã®ããCPU䜿çšçã®å€ãååŸããããã«ãç¹å®ã®æäœãŸãã¯ã³ã³ããŒãã³ãã«ãã£ãŠæ¶è²»ãããæéãæž¬å®ããå¿ èŠããããŸãã
performanceAPIã¯ãJavaScriptå®è¡æéãã¬ã³ããªã³ã°æéãã¬ããŒãžã³ã¬ã¯ã·ã§ã³æéãªã©ã®ãã詳现ãªã¡ããªãã¯ãæäŸããããé«åºŠãªãªãœãŒã¹æ¶è²»ããã¯ãäœæããããã«äœ¿çšã§ããŸãã
ã¡ã¢ãªäœ¿çšçã®ç£èŠã«ããããã¯ã®åŒ·å
performance.memory APIã¯ããã©ãŠã¶ã§ã®ã¡ã¢ãªäœ¿çšç¶æ³ã®ç£èŠãå¯èœã«ããŸãããã®APIã¯äžéšã®ãã©ãŠã¶ã§ã¯éæšå¥šã«ãªã£ãŠããããã®å¯çšæ§ã¯ç°ãªãå Žåãããããšã«æ³šæããŠãã ãããåºç¯ãªãã©ãŠã¶ãµããŒããå¿
èŠãªå Žåã¯ãããªãã£ã«ãŸãã¯ä»£æ¿æ¹æ³ãæ€èšããŠãã ãããäŸ:
説æ:
- ããã¯ã¯
useStateã䜿çšããŠãäœ¿çšæžã¿ã®JSããŒããµã€ãºãåèšJSããŒããµã€ãºãJSããŒããµã€ãºå¶éãå«ããªããžã§ã¯ããæ ŒçŽããŸãã useEffectå ã§ãperformance.memoryãå©çšå¯èœãã©ããã確èªããŸãã- å©çšå¯èœãªå Žåã¯ãã¡ã¢ãªäœ¿çšç¶æ³ã®ã¡ããªãã¯ãååŸããç¶æ ãæŽæ°ããŸãã
- å©çšã§ããªãå Žåã¯ãã³ã³ãœãŒã«ã«èŠåãèšé²ããŸãã
CPUãšã¡ã¢ãªã®ç£èŠã®çµå
CPUãšã¡ã¢ãªã®ç£èŠããžãã¯ã1ã€ã®ããã¯ã«ãŸãšããŠãå©äŸ¿æ§ãé«ããããšãã§ããŸãã
```javascript import { useState, useEffect, useRef } from 'react'; function useResourceUsage() { const [cpuUsage, setCpuUsage] = useState(0); const [memoryUsage, setMemoryUsage] = useState({ usedJSHeapSize: 0, totalJSHeapSize: 0, jsHeapSizeLimit: 0, }); const previousTimeRef = useRef(performance.now()); useEffect(() => { const intervalId = setInterval(() => { // CPU䜿çšç const currentTime = performance.now(); const timeDiff = currentTime - previousTimeRef.current; const cpuTime = performance.now() - currentTime; // å®éã®CPUæé枬å®ã«çœ®ãæããŠãã ãã const newCpuUsage = (cpuTime / timeDiff) * 100; setCpuUsage(newCpuUsage); previousTimeRef.current = currentTime; // ã¡ã¢ãªäœ¿çšç if (performance.memory) { setMemoryUsage({ usedJSHeapSize: performance.memory.usedJSHeapSize, totalJSHeapSize: performance.memory.totalJSHeapSize, jsHeapSizeLimit: performance.memory.jsHeapSizeLimit, }); } else { console.warn("performance.memory is not supported in this browser."); } }, 1000); return () => clearInterval(intervalId); }, []); return { cpuUsage, memoryUsage }; } export default useResourceUsage; ```Reactã³ã³ããŒãã³ãã§ã®ãªãœãŒã¹æ¶è²»ããã¯ã®äœ¿çš
useResourceUsageããã¯ãReactã³ã³ããŒãã³ãã§äœ¿çšããæ¹æ³ã以äžã«ç€ºããŸãã
CPU Usage: {cpuUsage.toFixed(2)}%
Memory Used: {memoryUsage.usedJSHeapSize} bytes
Memory Total: {memoryUsage.totalJSHeapSize} bytes
Memory Limit: {memoryUsage.jsHeapSizeLimit} bytes
ãã®ã³ã³ããŒãã³ãã¯ãçŸåšã®CPUãšã¡ã¢ãªã®äœ¿çšç¶æ³ã衚瀺ããŸãããã®æ å ±ã䜿çšããŠãã³ã³ããŒãã³ãã®ããã©ãŒãã³ã¹ãç£èŠããæœåšçãªããã«ããã¯ãç¹å®ã§ããŸãã
é«åºŠãªãªãœãŒã¹æ¶è²»ç®¡çãã¯ããã¯
åºæ¬çãªç£èŠãè¶ ããŠããªãœãŒã¹æ¶è²»ããã¯ã¯é«åºŠãªããã©ãŒãã³ã¹æé©åãã¯ããã¯ãå®è£ ããããã«äœ¿çšã§ããŸãã
1. ãããŠã³ã¹ãšã¹ããããªã³ã°
ãããŠã³ã¹ãšã¹ããããªã³ã°ã¯ã颿°ã®å®è¡ã¬ãŒããå¶éããããã«äœ¿çšããããã¯ããã¯ã§ããããã¯ããªãµã€ãºã€ãã³ããå ¥å倿Žãªã©ãé »ç¹ã«ããªã¬ãŒãããã€ãã³ãã®åŠçã«åœ¹ç«ã¡ãŸããäŸïŒãããŠã³ã¹ïŒ:
```javascript import { useState, useEffect } from 'react'; function useDebounce(value, delay) { const [debouncedValue, setDebouncedValue] = useState(value); useEffect( () => { const handler = setTimeout(() => { setDebouncedValue(value); }, delay); return () => { clearTimeout(handler); }; }, [value, delay] // valueãŸãã¯delayã倿Žãããå Žåã«ã®ã¿effectãååŒã³åºã ); return debouncedValue; } export default useDebounce; ```ãŠãŒã¹ã±ãŒã¹ãšããŠã¯ããŠãŒã¶ãŒãçæéã¿ã€ãã³ã°ã忢ããåŸã«ã®ã¿æ€çŽ¢ã¯ãšãªãéä¿¡ãããã¿ã€ãã¢ãããæ€çŽ¢ãªã©ããããŸãã
2. ä»®æ³å
ä»®æ³åïŒãŠã£ã³ããŠã€ã³ã°ãšãåŒã°ããŸãïŒã¯ã倧ããªãªã¹ããŸãã¯ã°ãªããã®è¡šç€ºãããŠããéšåã®ã¿ãã¬ã³ããªã³ã°ããããã«äœ¿çšããããã¯ããã¯ã§ããããã¯ã倧éã®ããŒã¿ã»ãããæ±ãå Žåã«ããã©ãŒãã³ã¹ã倧å¹
ã«åäžãããããšãã§ããŸããreact-windowãreact-virtualizedã®ãããªã©ã€ãã©ãªã¯ãä»®æ³åãå®è£
ããã³ã³ããŒãã³ããæäŸããŸãã
ããšãã°ã10,000åã®ã¢ã€ãã ã®ãªã¹ãã衚瀺ããããšã¯ããã¹ãŠã®ã¢ã€ãã ãäžåºŠã«ã¬ã³ããªã³ã°ããããšé ããªãå¯èœæ§ããããŸããä»®æ³åã«ãããç»é¢ã«çŸåšè¡šç€ºãããŠããã¢ã€ãã ã®ã¿ãã¬ã³ããªã³ã°ãããããšãä¿èšŒãããã¬ã³ããªã³ã°ã®ãªãŒããŒããããå€§å¹ ã«åæžãããŸãã
3. é å»¶èªã¿èŸŒã¿
é
å»¶èªã¿èŸŒã¿ã¯ããªãœãŒã¹ïŒç»åãã³ã³ããŒãã³ããªã©ïŒãå¿
èŠã«ãªã£ããšãã«ã®ã¿èªã¿èŸŒãããã«äœ¿çšããããã¯ããã¯ã§ããããã«ãããåæããŒãžã®èªã¿èŸŒã¿æéãççž®ããã¢ããªã±ãŒã·ã§ã³å
šäœã®ããã©ãŒãã³ã¹ãåäžãããããšãã§ããŸããReactã®React.lazyã¯ãã³ã³ããŒãã³ãã®é
å»¶èªã¿èŸŒã¿ã«å©çšã§ããŸãã
ããšãã°ãç»é¢ã«æåã«è¡šç€ºãããªãç»åã¯ããŠãŒã¶ãŒãäžã«ã¹ã¯ããŒã«ãããšé å»¶èªã¿èŸŒã¿ã§ããŸããããã«ãããäžèŠãªç»åã®ããŠã³ããŒããåé¿ãããåæããŒãžã®èªã¿èŸŒã¿ãé«éåãããŸãã
4. ã¡ã¢å
ã¡ã¢åã¯ãé«äŸ¡ãªé¢æ°åŒã³åºãã®çµæããã£ãã·ã¥ããåãå
¥åãçºçããå Žåã«ãã£ãã·ã¥ãããçµæãè¿ãæé©åãã¯ããã¯ã§ããReactã¯ãå€ãšé¢æ°ãã¡ã¢åããããã®useMemoããã³useCallbackããã¯ãæäŸããŸããäŸ:
ãã®äŸã§ã¯ãprocessedDataã¯data propã倿Žãããå Žåã«ã®ã¿åèšç®ãããŸããdata propãåããŸãŸã§ããå Žåããã£ãã·ã¥ãããçµæãè¿ãããäžèŠãªåŠçãåé¿ãããŸãã
5. ã³ãŒãåå²
ã³ãŒãåå²ã¯ãã¢ããªã±ãŒã·ã§ã³ã®ã³ãŒãããªã³ããã³ãã§èªã¿èŸŒãããšãã§ããå°ããªãã£ã³ã¯ã«åå²ãããã¯ããã¯ã§ããããã«ãããåæããŒãæéãççž®ããã¢ããªã±ãŒã·ã§ã³å šäœã®ããã©ãŒãã³ã¹ãåäžãããããšãã§ããŸããWebpackããã®ä»ã®ãã³ãã©ãŒã¯ã³ãŒãåå²ããµããŒãããŠããŸãã
ã³ãŒãåå²ã®å®è£ ã«ã¯ãåçã€ã³ããŒãã䜿çšããŠãã³ã³ããŒãã³ããŸãã¯ã¢ãžã¥ãŒã«ãå¿ èŠã«ãªã£ããšãã«ã®ã¿èªã¿èŸŒãããšãå«ãŸããŸããããã«ãããåæJavaScriptãã³ãã«ã®ãµã€ãºãå€§å¹ ã«åæžããããŒãžã®èªã¿èŸŒã¿æéãæ¹åã§ããŸãã
ãªãœãŒã¹æ¶è²»ç®¡çã®ãã¹ããã©ã¯ãã£ã¹
Reactã¢ããªã±ãŒã·ã§ã³ã®ãªãœãŒã¹æ¶è²»ã管çããéã«åŸãã¹ããã¹ããã©ã¯ãã£ã¹ã以äžã«ç€ºããŸãã
- ã¢ããªã±ãŒã·ã§ã³ã®ãããã¡ã€ãªã³ã°: ãã©ãŠã¶ã®éçºè ããŒã«ããããã¡ã€ãªã³ã°ããŒã«ã䜿çšããŠãããã©ãŒãã³ã¹ã®ããã«ããã¯ãç¹å®ããŸããChrome DevToolsã®ããã©ãŒãã³ã¹ã¿ãã¯éåžžã«åœ¹ç«ã¡ãŸãã
- ç»åãšã¢ã»ããã®æé©å: ç»åããã®ä»ã®ã¢ã»ãããå§çž®ããŠãµã€ãºãåæžããŸããããè¯ãå§çž®ã®ããã«é©åãªç»åãã©ãŒãããïŒäŸïŒWebPïŒã䜿çšããŸãã
- äžèŠãªåã¬ã³ããªã³ã°ã®åé¿:
React.memoãuseMemoãuseCallbackã䜿çšããŠãã³ã³ããŒãã³ãã®propsãŸãã¯stateã倿ŽãããŠããªãå Žåã«åã¬ã³ããªã³ã°ãããã®ãé²ããŸãã - å¹ççãªããŒã¿æ§é ã®äœ¿çš: ããŒã¿ã®æ ŒçŽãšæäœã«é©åãªããŒã¿æ§é ãéžæããŸããããšãã°ãé«éãªã«ãã¯ã¢ããã®ããã«MapãŸãã¯Setã䜿çšããŸãã
- å€§èŠæš¡ãªã¹ãã®ä»®æ³åã®å®è£ : ä»®æ³åã©ã€ãã©ãªã䜿çšããŠãå€§èŠæš¡ãªãªã¹ããŸãã¯ã°ãªããã®è¡šç€ºãããŠããéšåã®ã¿ãã¬ã³ããªã³ã°ããŸãã
- ãªãœãŒã¹ã®é å»¶èªã¿èŸŒã¿: ç»åããã®ä»ã®ãªãœãŒã¹ã¯ãå¿ èŠã«ãªã£ããšãã«ã®ã¿èªã¿èŸŒã¿ãŸãã
- ã¡ã¢ãªäœ¿çšç¶æ³ã®ç£èŠ:
performance.memoryAPIãŸãã¯ãã®ä»ã®ããŒã«ã䜿çšããŠã¡ã¢ãªäœ¿çšç¶æ³ãç£èŠããã¡ã¢ãªãªãŒã¯ãç¹å®ããŸãã - ãªã³ã¿ãŒãšã³ãŒããã©ãŒããã¿ãŒã®äœ¿çš: ã³ãŒãã¹ã¿ã€ã«ãšãã¹ããã©ã¯ãã£ã¹ã匷å¶ããŠãäžè¬çãªããã©ãŒãã³ã¹ã®åé¡ãé²ããŸãã
- ããŸããŸãªããã€ã¹ãšãã©ãŠã¶ã§ã®ãã¹ã: ã¢ããªã±ãŒã·ã§ã³ãããŸããŸãªããã€ã¹ãšãã©ãŠã¶ã§ããŸãæ©èœããããšã確èªããŸãã
- ã³ãŒãã®å®æçãªã¬ãã¥ãŒãšãªãã¡ã¯ã¿ãªã³ã°: ã³ãŒãã宿çã«ã¬ãã¥ãŒããããã©ãŒãã³ã¹ãšä¿å®æ§ãåäžãããããã«ãªãã¡ã¯ã¿ãªã³ã°ããŸãã
å®éã®äŸãšã±ãŒã¹ã¹ã¿ãã£
ãªãœãŒã¹æ¶è²»ããã¯ãç¹ã«æçãšãªãå¯èœæ§ã®ããã·ããªãªã以äžã«ç€ºããŸãã
- eã³ããŒã¹ãŠã§ããµã€ã: å€§èŠæš¡ãªè£œåã«ã¿ãã°ãã¬ã³ããªã³ã°ããéã®CPUãšã¡ã¢ãªäœ¿çšçã®ç£èŠã補åãªã¹ãã®ããã©ãŒãã³ã¹ãåäžãããããã®ä»®æ³åã®äœ¿çšã
- ãœãŒã·ã£ã«ã¡ãã£ã¢ã¢ããªã±ãŒã·ã§ã³: ãŠãŒã¶ãŒãã£ãŒããšç»åã®èªã¿èŸŒã¿æã®ãããã¯ãŒã¯äœ¿çšçã®ç£èŠãåæããŒãžèªã¿èŸŒã¿æéãæ¹åããããã®é å»¶èªã¿èŸŒã¿ã®å®è£ ã
- ããŒã¿ããžã¥ã¢ã©ã€ãŒãŒã·ã§ã³ããã·ã¥ããŒã: è€éãªãã£ãŒããã°ã©ããã¬ã³ããªã³ã°ããéã®CPU䜿çšçã®ç£èŠãããŒã¿åŠçãšã¬ã³ããªã³ã°ãæé©åããããã®ã¡ã¢åã®äœ¿çšã
- ãªã³ã©ã€ã³ã²ãŒã ãã©ãããã©ãŒã : ã²ãŒã ãã¬ã€äžã®GPU䜿çšçã®ç£èŠã«ãããã¹ã ãŒãºãªãã¬ãŒã ã¬ãŒãã確ä¿ãã¬ã³ããªã³ã°ããžãã¯ãšã¢ã»ããèªã¿èŸŒã¿ã®æé©åã
- ãªã¢ã«ã¿ã€ã ã³ã©ãã¬ãŒã·ã§ã³ããŒã«: ã³ã©ãã¬ãŒã·ã§ã³ç·šéã»ãã·ã§ã³äžã®ãããã¯ãŒã¯äœ¿çšçãšCPU䜿çšçã®ç£èŠããããã¯ãŒã¯ãã©ãã£ãã¯ãåæžããããã®å ¥åã€ãã³ãã®ãããŠã³ã¹ã
çµè«
ãªãœãŒã¹æ¶è²»ã®ç®¡çã¯ã髿§èœãªReactã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã«äžå¯æ¬ ã§ãããªãœãŒã¹æ¶è²»ããã¯ãäœæããŠå©çšããããšã§ãã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ã«é¢ãã貎éãªæŽå¯ãåŸãŠãæé©åã®é åãç¹å®ã§ããŸãããããŠã³ã¹ãã¹ããããªã³ã°ãä»®æ³åãé å»¶èªã¿èŸŒã¿ãã¡ã¢åãªã©ã®ãã¯ããã¯ãå®è£ ããããšã§ãããã©ãŒãã³ã¹ãããã«åäžããããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã匷åã§ããŸãããã¹ããã©ã¯ãã£ã¹ã«åŸãããªãœãŒã¹äœ¿çšç¶æ³ã宿çã«ç£èŠããããšã§ãReactã¢ããªã±ãŒã·ã§ã³ãããŠãŒã¶ãŒã®ãã©ãããã©ãŒã ããã©ãŠã¶ããŸãã¯å Žæã«é¢ä¿ãªããå¿çæ§ãå¹çæ§ãã¹ã±ãŒã©ããªãã£ãç¶æã§ããããã«ããããšãã§ããŸãã