ã·ãŒããšããŠ-6æéã§èšè¿°ããããããªãã¢ã¢ããªã±ãŒã·ã§ã³ã 3.5æéã®æ¢è£œUIããŒãã¹ãã©ããã ã©ã€ãã©ãªiScrollãããã¯ããŒã³ãã¢ã³ããŒã¹ã³ã¢ãJqueryãããã³ããã¯ããŒã³ã®å°ããªã©ãããŒã䜿çšããŸããïŒRAD.js-è¿ éãªã¢ããªã±ãŒã·ã§ã³éçºãã¢ãã€ã«ã©ã³ã¿ã€ã ã«é¢é£ããæé©åã®äžéšãæ ãã¢ãŒããã¯ãã£ãã¬ãŒã ã¯ãŒã¯ïŒã
ãšã³ãžã³ã®ä¿®çã«ããã«2æéããããŸããã ããããä»æ¥ã¯ã14,000ã®ããŒã¿ãªããžã§ã¯ããåžžã«æééãã«åŠçã§ãããšã¯éãããé床ãäœäžããããåæºããããèªåã§æžããã¹ã¯ã€ããåå ã§ã¯ãããŸããã PhoneGapã§ã§ããããšãšæžãã¹ãããšã«ã€ããŠã§ãã
PhoneGapã§ã®ã¯ãã¹ãã©ãããã©ãŒã éçºã«æºãã人ã ã®æèŠãèæ ®ããŠãPhoneGapã§éçºããéã«å¿ èŠãã€éèŠã§ãããšæãã埮åŠãªç¹ãšããããããªãããã»ã©éèŠãªã®ãã説æããŸãã
PhoneGapã¯ã7ã€ã®ã¢ãã€ã«ãªãã¬ãŒãã£ã³ã°ãã©ãããã©ãŒã åãã®HTML / JavaScriptã®ã¯ãã¹ãã©ãããã©ãŒã éçºãã©ãããã©ãŒã ãšããŠäœçœ®ä»ããããŠããŸã ã
PhoneGapã®ã¯ãã¹ãã©ãããã©ãŒã ã¯ãHTML / JavaScriptã¢ããªã±ãŒã·ã§ã³ã®ã³ãŒããwebViewã³ã³ããŒãã³ãïŒã¢ããªã±ãŒã·ã§ã³ã«çµã¿èŸŒãŸãããã©ãŠã¶ãŒïŒã§å®è¡ããããšããäºå®ã«ãã£ãŠå®çŸãããŸãã
å®éãPhoneGapã¢ããªã±ãŒã·ã§ã³ã®éçºã¯ãã©ã³ã¿ã€ã ç°å¢ïŒã¢ãã€ã«ããã€ã¹ãéãããããã»ããµãã¯ãŒãã¡ã¢ãªãã¿ããã¹ã¯ãªãŒã³ãªã©ïŒãšãã©ãŠã¶åç©åã®è©³çŽ°ãèæ ®ããHTML5ã¢ããªã±ãŒã·ã§ã³ã®éçºã§ãã
ãã¹ã¯ããããã©ãŠã¶ãŒçšã«éçºãããšããã¢ãã€ã«ãµã€ããŸãã¯PhoneGapã¢ããªã±ãŒã·ã§ã³ãéçºãããšããšåæ§ã«ãwebViewã³ã³ããŒãã³ãã®æ§ç¯ã«åºã¥ããŠãåãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãšãã®ããã©ã«ããã©ãŠã¶ãŒã®è©³çŽ°ãç¥ããèæ ®ããå¿ èŠããããŸãã
ãããŠæãéèŠãªããšã¯ãéãããmobile phoneGapã¢ããªã±ãŒã·ã§ã³ã®ã©ã³ã¿ã€ã ãšãªãœãŒã¹ã®åœ±é¿ãåããã®ã¯ããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ã®å¿çæ§ã§ãã
å¹³åçãªãŠãŒã¶ãŒã«ãšã£ãŠã¯ãããšãã°ãã¿ã¹ã¯ã®é²è¡ç¶æ³ã瀺ããã€ã¢ãã°ã衚瀺ãããªã©ãæéã®ãããæäœã®éã¯ããã°ã©ã ãã€ã³ã¿ãŒãã§ã€ã¹ããããã¯ããŠãæããªãã ãŠãŒã¶ãŒãç¡æèã®ãã¡ã«ãã¿ã³ãæŒããŠãããã«åå¿ããªãå Žåã«äžå¿«æãæãããšãããã«æªåããŸãã ããã¯æ°ç§ã§ããããŸããã 人ãæœåšæèã®äžå¿«æãæããã«ã¯ãããã°ã©ã ãæŒããŠããåå¿ãããŸã§ã«150ããªç§ä»¥äžã®é 延ã§ååã§ãã ãã®å Žåãæœåšæèã¯ãããã°ã©ã ã€ã³ã¿ãŒãã§ã€ã¹ãæåŸ ã©ããã«å¿çããŠããªãããšãéç¥ããŸãã
ãã®ãããããã°ã©ã ã§ã¯ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ã®å¿çæ§ã«çŠç¹ãåœãŠãããšããŠããŸãã ãã®èšäºã§ã¯ãJavaScriptã³ãŒããŸãã¯CSSã®æé©åã«ã€ããŠã¯èª¬æããŸãããããã¯ãPhoneGapãšã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã«åºæã§ã¯ãªãããã§ããããã«ãããã«ã€ããŠã¯æ¢ã«å€ãã®ããšãæžãããŠããŸãïŒ ãã ã ãã ã ãã ã ãã ããŸãã¯ãã ïŒã
ããã©ãããã现å¿ã®æ³šæãæããªãããšãå€ã现ããªç¹ã«æ³šç®ãããã®ã§ãããæçµçã«ã¯ãŠãŒã¶ãŒã«ãšã£ãŠæ±ºå®çãªåœ¹å²ãæããå§ããŸãã
ã¢ãã€ã«Webã¢ããªã±ãŒã·ã§ã³ã®ã€ã³ã¿ãŒãã§ãŒã¹ãšå¿çæ§ãšã®é¢ä¿ãå æ¬çã«èª¿ã¹ãèšäºãèŠã€ããã®ã¯ç°¡åã§ã¯ãããŸããã ããšãã°ã ãã®èšäº ããŸãã¯ãã®èšäº ã 2çªç®ã®èšäºã¯ããæè¿ã®ãã®ã§ãPhoneGapã§åªããã¢ããªã±ãŒã·ã§ã³ãäœæããããã®ãåããã®æ¹åã瀺ããŠããŸãããèè ã¯ããã£ã³ãã¹ããŒã¹ã®UIãã䜿çšããŠããå ŽåããããŸãã
ãããããããã®èšäºã§ããæ®å¿µãªããããã¹ãŠã®åé¡ãèæ ®ãããŠããããã§ã¯ãããŸããã
ç§ãã¡ã¯ãç§ãã¡ãç¹åŸŽãšèããŠããåé¡ããããŠä»æ¥èãããåé¡ãéžã³åºããŸãã
- ãã¿ãããããã€ã¹ã§ã®ãã¯ãªãã¯ãã€ãã³ãã®300ããªç§ã®é 延ã
- ã¿ããã®åé¡
- DOMæ§é ã®æé©åã
- 倧ããªãªã¹ãã®åé¡ã
ããããäœããç¹°ãè¿ãã§ãããããããã§ãå§ããŸãã
300ããªç§ã®é 延åé¡ïŒ
ãã©ãŠã¶ã®ã»ãšãã©ã®ã¢ãã€ã«ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ïŒããã³ãã®çµæãwebViewã§ã¯ïŒã¯ãDOMã§çŽæ¥ã¯ãªãã¯ããŠãã¯ãªãã¯ãã€ãã³ããããªã¬ãŒããŠãã誀ã¿ããã®åé¡ã解決ãããŸã§ã«çŽ300ããªç§ã®ç¹å¥ãªé 延ãå°å ¥ããŸãã
ãã®åé¡ã解決ããã¢ãããŒãã¯ãã€ã³ã¿ãŒãããäžã§èŠã€ããããšã¯é£ãããããŸããã ãã®åé¡ã解決ããJavaScriptã©ã€ãã©ãªã¯å°ãªããšãæ°ååãããŸãã ãã¹ãŠã®æäœã®ååã¯åãã§ã-ãtouchstartãããã³ãtouchendãã®ã€ãã³ãã远跡ããæåŸã®åŒã³åºãã®çµããã«ã€ãã³ããclickããŸãã¯åæ§ã®ã«ã¹ã¿ã ïŒäŸãã°ããtapãïŒã远跡ããŸãã äŸã¯ã stackoverflowã®ãœãªã¥ãŒã·ã§ã³ãšããŠãã jQueryã®ãã©ã°ã€ã³ãšããŠãã Mozillaããã®å®è£ ã§ãããŸãã¯ãã³ããšããŠããå¥åã®ã©ã€ãã©ãªãšããŠãèŠã€ããããšãã§ããŸãã
æ®å¿µãªãããããããªããããããåžžã«ãããŸã-ãã¯ãªãã¯ãã€ãã³ããçæããå ŽåïŒããšãã°ã Googleã決å®ã«å©èšããããã« ïŒããã°ããããŠããããã©ãŠã¶èªäœãçæããæšæºã®ãã¯ãªãã¯ãã®é ä¿¡ããã£ããããŠåæ¢ããå¿ èŠããããŸãã Androidã®å€ãããŒãžã§ã³ã§ã¯ããµãŒãããŒãã£ã©ã€ãã©ãªãšã®éäºææ§ã«ã€ãªããå¯èœæ§ããããŸãã ãã®å Žåãã«ã¹ã¿ã ã€ãã³ããçæãããšããã©ãŒã«ã¹ãé 延ããŠéä¿¡ãããå ¥åãã£ãŒã«ããéžæãããšãã®é 延ã衚瀺ãããŸãã
èŠçŽ ãã¯ãªãã¯ãããšãã«ããªãã¯ãæ£ãã転éããã³èšå®ããåæã«ããŸããŸãªã¿ã€ãã®å ¥åãã£ãŒã«ãã§æ£ããæ©èœããã©ã€ãã©ãªãèŠã€ããããšã¯éåžžã«é£ãããããã«ãéåžžã«èšå€§ã«ãªããŸãã äžè¬ã«åãå ¥ããããŠããã¢ãããŒãïŒãã¯ãªãã¯ãã€ãã³ãã§ã¯ãªããä»ã®ã«ã¹ã¿ã ã€ãã³ããçæããïŒã䜿çšããŠããªã¹ããŒãçŽæ¥çµã³ä»ããæ¹ãã¯ããã«ç°¡åã§ç°¡åã§ãã
ãããŠããã®å Žåãã¢ããªã±ãŒã·ã§ã³ã¯ãã®ã©ã€ãã©ãªã«äŸåããããã«ãªããŸããããã®æ¬ ç¹ã¯ãœãªã¥ãŒã·ã§ã³ã®åçŽããšãã°ã®æå°æ°ã«ãã£ãŠãããã¯ããã以äžã§ãã
äžéšã®ã©ã€ãã©ãªãè¡ãããã«ããfastclickãã®åã ã®ã€ã³ã¹ã¿ã³ã¹ãUIã®åèŠçŽ ã«ãã€ã³ãããããšã«ã泚æããå¿ èŠããããŸãã ãã®ãœãªã¥ãŒã·ã§ã³ã¯å®è¡å¯èœã§ãããã¢ãã€ã«ããã€ã¹ã®ãªãœãŒã¹æ¶è²»ã«é¢ããŠéåžžã«ã³ã¹ããããããŸãã ããšãã°ããªã¹ããŒã®ãããã£ãã§å§ä»»ãšãã€ã³ãã䜿çšãããã€ãã£ãã€ãã³ãã®åº§æšã«åºã¥ããŠãããã¢ããã«ã¹ã¿ã ã€ãã³ããçæããå¿ èŠããããŸãã
2çªç®ã®åé¡ã¯ã¿ãããã€ã³ãã§ãã
ã¢ãã€ã«ããã€ã¹ïŒPhoneGapãå«ãïŒã®èª€ã£ãŠèšèšãããã€ã³ã¿ãŒãã§ã€ã¹ã®å¥ã®äžè¬çãªåé¡ã¯ã次ã®ããã«ãŠãŒã¶ãŒã®åããèãããŸãïŒãã¯ãªãã¯ããŸãããåžžã«æ©èœãããšã¯éããŸããããŸãã¯ãã¯ãªãã¯ããŠãæ©èœããŸãããã
次ã®å³ãæ éã«æ€èšããŠã¿ãŸãããããã®å³ã¯ããŠãŒã¶ãŒã®æãããã€ã¹ã®ç»é¢ãšã©ã®ããã«æ£ç¢ºã«çžäºäœçšãããã瀺ããŠããŸãã
æå ã®å®éã®æ¥è§Šç¹ïŒç·ïŒãšèŠèŠçãªæ¥è§Šç¹ïŒèµ€ïŒãç°ãªãããšã¯ç°¡åã«ããããŸãã ãŸããã¢ãã€ã«ããã€ã¹ãæãã«èŠãŸãã 第äºã«ãç»é¢èªäœã¯ãæå ã®ã¿ããé åäžã®ééå¹³å座æšãšããŠã¿ãã座æšãçæããŸãã ã©ããªã«äžçæžåœåªåããŠããæå ããã®çæ³çãªåã§æåããããšã¯ãããŸããã
ãããã®çç±ã«ãããå®éã®æ¥è§Šç¹ãèŠèŠãšäžèŽããããšã¯ãããŸããã
ãããã®åé¡ã®è§£æ±ºçã®ã»ãšãã©ã¯ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãã€ãŸãã¿ããã¹ã¯ãªãŒã³ãã©ã€ããŒèªäœã®è²¬ä»»ã§ãã
ãããããããã®åŸ®åŠãããããããããã°ã©ã ã€ã³ã¿ãŒãã§ã€ã¹ã®éçºæã«ããããèæ ®ããªãå Žåãã€ã³ã¿ãŒãã§ã€ã¹ã®ããªã现ãã詳现ã§ã¯ãããã¯ã¢ããªã±ãŒã·ã§ã³ãŠãŒã¶ãŒã«ãšã£ãŠé¡èãªåé¡ã«ãªããŸãã ãŸãããŠãŒã¶ãŒã¯ãã¿ã³ãæ£ç¢ºã«æŒãããšç¢ºä¿¡ããŠããŸãããå®éã«ã¯åã«æŒããã ãã§ãã
ãã®ç¹ã¯éåžžã«ç°¡åã«ä¿®æ£ãããŸã-ã¢ããªã±ãŒã·ã§ã³ã³ã³ãããŒã«ã®é©åãªã¬ã€ã¢ãŠãã ããšãã°ããã¿ã³ããã¶ã€ã³ã§ååã«å€§ãããªãå Žåã4-6ãã¯ã»ã«ã®äžå¯èŠã®ããã£ã³ã°ãããå Žåãã€ãŸããèæ¯ã«ã¯ç®ã«èŠããªãå€éšå¢çãããããŠãŒã¶ãŒã«ãšã£ãŠå¿ èŠã§äŸ¿å©ãªç©çãµã€ãºã«æ¡å€§ããŸãïŒåçã®ãã³ã¯è²ã®ããã¯ã¹ïŒã
ãã®åé¡ã«ã€ããŠã¯ã ããã§è©³ãã説æããŸã ãMicrosoftã®æšå¥šäºé ã§ã¯ãç»é¢ãµã€ãºã«å¿ããŠãã€ã³ã¿ãŒãã§ã€ã¹èŠçŽ ã®æšå¥šãµã€ãºã確èªã§ããŸãã
ãããŠä»ãæãéèŠãªããš-DOMæ§é ã®æé©åã«ã€ããŠ
ãå¹³åãã¢ããªã±ãŒã·ã§ã³ã®å€ããå°ãªãããæšæºãç»é¢ãèŠããšãã¢ããªã±ãŒã·ã§ã³ç»é¢ããããããª200ã300ã®htmlã¿ã°ïŒDOMããŒãïŒããæ°ããããšãã§ããŸãã ãã®ç¹å®ã®äŸã§ã¯ãããŒãžã¯ãããã225ã®HTMLèŠçŽ ã䜿çšããŠããŸãã æé©ãªã¬ã€ã¢ãŠããšã¯ã»ã©é ãã§ãããã©ããªã«åªåããŠããPhoneGapã¢ããªã±ãŒã·ã§ã³ã®å¹³åç»é¢ã¯100ã250ã®HTMLèŠçŽ ã«æ°ããããŸãã ãŸãããªã¹ãä»ãã®ç»é¢ã«ã€ããŠã¯ãŸã æ€èšããŠããªãããšãèæ ®ããŠãã ããïŒããã«ã€ããŠã¯ãåŸã»ã©èª¬æããŸãïŒã
ãã€ãã£ãã®ã¢ããªã±ãŒã·ã§ã³ãšåæ§ã®å¹³åçãªã¢ããªã±ãŒã·ã§ã³ã«ã¯ã5ã1ããŒã¹ã®ç»é¢ãå«ãŸããŸãã PhoneGapã®å Žåããããã®ããŒãžã¯ãã¹ãŠåäžããŒãžã®ã¢ããªã±ãŒã·ã§ã³ã®äžéšã§ãã
ãã®ãããªã¢ããªã±ãŒã·ã§ã³ã®ã¢ãŒããã¯ãã£ã«ã¯ãäžè¬ã«åãå ¥ããããŠããã¢ãããŒãããããŸãããã¹ãŠã®ããŒãžã¯ãããã¯ãšããŠ1ã€ã®htmlãã¡ã€ã«ã«é 眮ãããããã°ã©ã ã®å®è¡äžã«ãå¿ èŠãªããŒãžã«å¿ããŠãã¹ã¿ã€ã«
ãã£ã¹ãã¬ã€ïŒãªã;
ãã£ã¹ãã¬ã€ïŒãããã¯;
ç®çã®ããŒãžã衚瀺ãããŸãïŒããšãã°ãJqueryMobileã§è¡ãããŸãïŒã
ããããæ®å¿µãªããããã®ã¢ãããŒãã§ã¯ãããŒãžãåãæ¿ããéã«ïŒã ãã§ãªãïŒã¢ããªã±ãŒã·ã§ã³ãé 延ããŸãã ãŸããã¢ããªã±ãŒã·ã§ã³ãè€éã«ãªãã»ã©ããããã®é 延ã¯é·ããªããŸãã
ããã¯ãDOMãç §äŒããæãäžè¬çãªJavaScripté¢æ°ïŒdocument.querySelectorïŒ 'selector'ïŒãªã©ïŒã§ãããå®è¡æéã¯ããã¥ã¡ã³ãã®ãªããžã§ã¯ãã¢ãã«å ã®ããŒãã®æ°ã«äŸåãããšããäºå®ã«ãããã®ã§ãã ããšãã°ã3ã¬ãã«ã»ã¬ã¯ã¿ãŒã䜿çšããæå®ãããæäœã¯ã100èŠçŽ ã§ã¯0.003ããªç§ã10,000èŠçŽ ã§ã¯0.36ããªç§ïŒçŽ40ã¢ããªã±ãŒã·ã§ã³ããŒãžïŒã§å®è¡ãããŸãã ãããã¯äºçŽ°ãªããšã§ãããšäž»åŒµããããšãã§ããŸããå®éã®ç掻ã§ã¯40ããŒãžã¯ããŸãèŠãããã0.36 msã¯1ãããŒã§ãã
ããããçŽç²ãªJavaScriptã䜿çšãã人ã¯ã»ãšãã©ããªããããJQueryïŒããŒãžã§ã³2ãŸã§ïŒã䜿çšãããšãæå®ãããæéã2.46ããªç§ã«å¢å ããŸãã ãŸããåçŽãªãªã¯ãšã¹ãã«å ããŠãDOMã§æäœãå®è¡ããå¿ èŠãããããšãèæ ®ãããšãããã¯ããªãè€éãªã¢ããªã±ãŒã·ã§ã³ã§ã®ç®ã®é 延ã«ãã£ãŠãç®ç«ã£ãŠããŸãå¯èœæ§ããããŸãã
ããã¯ãèŠçŽ ã®æ°ãç°ãªãããã¥ã¡ã³ããçæããã³ã³ãœãŒã«ã§2ã¬ãã«ã®CSSãéžæããçµæã衚瀺ããå°ããªSYNTHETICãã¹ãã§ãã
Chrome 28.0.1500.63ã§å®è¡ããçµæ
index.jsã®1ã€ã®ã¢ã€ãã ã®äœæãéå§ïŒ12
ãªã1ã¢ã€ãã ïŒ0.078ms index.jsïŒ38
ãªãjquery 1ã¢ã€ãã ïŒ0.774ms index.jsïŒ43
ãããã¯1ã¢ã€ãã ïŒ0.131ms index.jsïŒ38
ãããã¯jquery 1ã¢ã€ãã ïŒ0.234ms index.jsïŒ43
jquery show1ã¢ã€ãã ïŒ1.768ms index.jsïŒ52
index.jsã®10åã®ã¢ã€ãã ã®äœæãéå§ïŒ12
ãªã10ã¢ã€ãã ïŒ0.071ms index.jsïŒ38
ãªãjquery 10ã¢ã€ãã ïŒ0.138ms index.jsïŒ43
ãããã¯10ã¢ã€ãã ïŒ0.139ms index.jsïŒ38
ãããã¯jquery 10ã¢ã€ãã ïŒ0.090ms index.jsïŒ43
jquery show10ã¢ã€ãã ïŒ0.865ms index.jsïŒ52
index.jsã®100åã®ã¢ã€ãã ã®äœæãéå§ïŒ12
ãªã100ã¢ã€ãã ïŒ0.071ms index.jsïŒ38
ãªãjquery 100ã¢ã€ãã ïŒ0.099ms index.jsïŒ43
ãããã¯100ã¢ã€ãã ïŒ0.103ms index.jsïŒ38
ãããã¯jquery 100ã¢ã€ãã ïŒ0.105ms index.jsïŒ43
jquery show100 itemsïŒ1.418ms index.jsïŒ52
index.jsã®1000ã¢ã€ãã ã®äœæãéå§ïŒ12
ãªã1000ã¢ã€ãã ïŒ0.178ms index.jsïŒ38
ãªãjquery 1000ã¢ã€ãã ïŒ0.163ms index.jsïŒ43
ãããã¯1000ã¢ã€ãã ïŒ0.156ms index.jsïŒ38
ãããã¯jquery 1000ã¢ã€ãã ïŒ0.176ms index.jsïŒ43
jquery show1000ã¢ã€ãã ïŒ9.709ms index.jsïŒ52
index.jsã§10000ã¢ã€ãã ã®äœæãéå§ïŒ12
ãªã10000ã¢ã€ãã ïŒ2.333ms index.jsïŒ38
ãªãjquery 10000ã¢ã€ãã ïŒ2.434ms index.jsïŒ43
ãããã¯10000ã¢ã€ãã ïŒ1.810ms index.jsïŒ38
ãããã¯jquery 10000ã¢ã€ãã ïŒ1.810ms index.jsïŒ43
jquery show10000ã¢ã€ãã ïŒ106.425ms
ãã¹ããããããããã«ããdisplayïŒnoneãã䜿çšãããœãªã¥ãŒã·ã§ã³ã¯ãããã¥ã¡ã³ãã®ã¬ã³ããªã³ã°ã®ã¿ã®äœæ¥ãåé€ãããåé·ãDOMãèŠæ±ããæéãå€æŽããªãããã圹ã«ç«ã¡ãŸããã
ãã®ãœãªã¥ãŒã·ã§ã³ã¯ããªãããŒãšãªãã€ã³ãã®ã¿ãåãé€ãã®ã«åœ¹ç«ã¡ãŸãããããã®ã€ãã³ãäžã®ãã©ãŠã¶ãŒã®åäœã«ã€ããŠã¯ã èšäºã§è©³ãã説æããŠããŸã ã
ç¹°ãè¿ãã«ãªããŸããã ãã¹ãã¯ç·åçãªãã®ã§ãããå®éã®æ¡ä»¶ã«ã¯å¯Ÿå¿ãããäžéšã®ããžã·ã§ã³ã¯ç¹å¥ã«ãå§åããããŸããã ããããå€æ°ã®ããŒãžãšè€éãªã¬ã€ã¢ãŠããæã€åäžããŒãžã®ã¢ããªã±ãŒã·ã§ã³ã䜿çšããŠãå®éã®ãããžã§ã¯ãã§äœãèµ·ããããå®å šã«ææ¡ã§ããŸãã
ãã©ãããã©ãŒã ã«ãã£ãŠïŒãã©ãŠã¶ãŒãç°ãªããšïŒæéã¯ç°ãªããŸãããã¢ãã€ã«ãã©ãŠã¶ãŒã§ã¯ç¶æ³ãããã«æªåããããšã容æã«ããããŸããæšæºçãªã¢ãããŒãã䜿çšããè€éãªåäžããŒãžã¢ããªã±ãŒã·ã§ã³ã§ã¯ãã¢ãã€ã«ããã€ã¹ã§ã¹ã ãŒãºãªã¢ãã¡ãŒã·ã§ã³ãååŸããããšã¯ã§ããŸããã
ãã®å Žåã2ã€ã®è§£æ±ºçããããŸãã
- ããŒãžã³ã³ãã³ããajaxãªã¯ãšã¹ãã§ããŒãããŸãã
- ããŒãžããã§ã«æšæºçãªã¢ãããŒãã§ããå¯èœæ§ãé«ãå Žåã¯ãDOMã«èªã¿èŸŒãã åŸãã¡ã€ã³DOMããªãŒããé衚瀺ããŒãžã®è²¬ä»»ãæã€DOMãã©ã³ããåæããJavaScriptã§ãããã®ãã©ã³ããžã®ãªã³ã¯ãä¿æããå¿ èŠããããŸãïŒããšãã°ã api.jquery.com/detachã䜿çšïŒåæããããã©ã³ãã¯ã¯ãªã¢ãããŸããã
ãããã®2ã€ã®ãªãã·ã§ã³ãçµã¿åãããããšã§ãæ倧éã®æé©åãå®çŸã§ããŸãã 次ã«ãããŒãžãŸãã¯ãã³ãã¬ãŒããåããŠèªã¿èŸŒãã ãã§ãDOMãã©ã³ããã¡ã€ã³ããã¥ã¡ã³ãããªãŒã«ã¢ã¿ãããŸãã¯ãã¿ããããã ãã§ãã
æé©åã®æ¢ç¥ã®å Žæãå¿ããŠã¯ãªããŸããã
ãããŠåã³DOMã«ã€ããŠ-倧ããªãªã¹ãã®åé¡
倧ããªãªã¹ãã®åé¡ã¯ãåã®ã»ã¯ã·ã§ã³ã§èª¬æããåé¡ã®äžéšã§ãã
ãªã¹ãèŠçŽ ãå€ãã»ã©ãããŒãžå ã®HTMLèŠçŽ ãå€ããªãããªã¹ãã®æŽæ°ãšã¬ã³ããªã³ã°ãé ããªããŸãã
ãã€ãã£ãã³ã³ããŒãã³ãã§ã¯ãããã¯ãã£ãã·ã¥ãä»ããŠå®è£ ãããŸãïŒ Androidã§ã®ãã€ãã£ãã³ã³ããŒãã³ãã®å®è£ äŸ ïŒã
ãã®åé¡ã¯ããã§ã«é衚瀺ã«ãªã£ãŠããèŠçŽ ã®ããŒã¿ã眮ãæãããããã®äœçœ®ãåé 眮ããããé衚瀺ã®ãªã¹ãèŠçŽ ãåé€ããŠæ°ããèŠçŽ ãçæããããšã§è§£æ±ºã§ããŸãã ã€ãŸããå®éã«ã¯ãç»é¢äžã«ã¯1000åã®èŠçŽ ã®ãªã¹ãã¯ãããŸããããç»é¢äžã«è¡šç€ºããã10åã®èŠçŽ ã®ãªã¹ããšãããããçŸåšäœæ¥äžã®ããã€ãã®é衚瀺èŠçŽ ããããŸãã
Webã¢ããªã±ãŒã·ã§ã³ã§ã¯ããã®ãããªãªã¹ãã®å®è£ ã¯ã»ãšãã©èŠãããšãã§ããŸããã ååãšããŠããã¹ãŠãå¯èœãªéãç°¡åã«è¡ãããŸãïŒ1000èŠçŽ ã®ãªã¹ãã ãã¹ã¯ãããã§ãããããã»ã©éèŠã§ãªãå Žåãã¢ãã€ã«ãã©ãããã©ãŒã ã§ã¯ãPhoneGapãéçºãã©ãããã©ãŒã ãšããŠæŸæ£ããéã«å€§ããªãªã¹ãã決å®çãªåœ¹å²ãæããå¯èœæ§ããããŸãã
ãã®åé¡ã®è§£æ±ºçãšããŠããããŒãžã³ã°ããã€ãŸããªã¹ããéšåçã«è¡šç€ºããããšããå§ãããŸãã ãã®ã¢ãŒããã¯ãã£ãœãªã¥ãŒã·ã§ã³ã¯ãå€ãã®jsã©ã€ãã©ãªã«ãã£ãŠå®è£ ãããŠããŸãã 圌ãéåžžã«çŸããæã€ããšãã§ããŸã-äŸãã°ãã¹ã¯ã€ãã§ã
ãŸãã¯ããã€ãã£ãã³ã³ããŒãã³ããšåæ§ã®æ©èœãå®è£ ããJavaScriptã©ã€ãã©ãªãäœæãŸãã¯æ€çŽ¢ã§ããŸãã ããšãã°ã InfiniteWallãŸãã¯hereã§è¡ãããŸã ã
æåŸã«ãæéãšç¥çµãç¯çŽããããã®åœ¹ç«ã€ãã³ããããã€ã玹ä»ããŸãã
- 䜿çšãããµãŒãããŒãã£ã®ã©ã€ãã©ãªãå°ãªãã»ã©ãã¢ãã€ã«ããã€ã¹ã®ãªãœãŒã¹ãéãããŠããããã§ãã æ¯èŒã®ããã«ããµãŒãããŒãã£ã®ã©ã€ãã©ãªã§ãããå®å®è¹ãã®äžéãæããããšãã§ããŸãã ãã®é£è¡éã¯ãã¢ããªã±ãŒã·ã§ã³ã®ããžãã¹ã±ãŒã¹ãå®æãããããã«ã1ã€ã®ãè² è·ããéã¶å¿ èŠããããŸãã ããããçæã¯é£è¡éå šäœã§æ¶è²»ãããŸãã ãããã£ãŠããªãœãŒã¹ïŒãçæãïŒãç¯çŽããæé©ãªã©ã€ãã©ãªãéžæããŠããã®æ©èœãæ倧éã«æŽ»çšããŠãã ããã ããšãã°ãããŒãžã§ã³2以éã®jQueryã¯ãããã©ãŒãã³ã¹ã«ãããŠzeptoã«ããã»ã©å£ããŸããããããå€ãã®æ©èœããããŸãã
- ã¢ããªã±ãŒã·ã§ã³ã¯ããã¹ãŠã®ãã©ãããã©ãŒã ãšOSããŒãžã§ã³ã§åãããã«èŠããå¿ èŠã¯ãããŸããã ããã°ã©ã ã®é床ãšæ©èœãç¶æããããã«ãã¹ã¿ã€ã«ãšãã¶ã€ã³ã«ããã€ãã®è²æ©ããã䟡å€ããããããããŸããã IEã®ç¶æ³ãèŠããŠãããŠãã ããã
- ãªã¹ãã§ã¯ãimgã¿ã°ã«ãsrcãå±æ§ã䜿çšãããCSSèæ¯ã䜿çšããŠç»åã衚瀺ããŸãã ãã®å Žåãç»åã¯ãªã¹ãã¢ã€ãã ãç»é¢ã«è¡šç€ºãããŠããå Žåã«ã®ã¿ããŒããããŸãã
- ã¯ã©ã€ã¢ã³ã/ãµãŒããŒã¢ãŒããã¯ãã£ãåããWebããŒãžã®å Žåã«æ©èœããæé©åæ¹æ³ã¯ãPhoneGapã®ã¢ããªã±ãŒã·ã§ã³ã«ãšã£ãŠå¿ ãããéèŠã§æé©ã§ã¯ãããŸããã ããšãã°ãããŒããããJavaScriptãã¡ã€ã«ã®ãµã€ãºã«æ³šæãæã£ãããç»åå ã®äžå¯èŠãã¯ã»ã«ãæå°åããããšã¯æå³ããããŸããããã®å Žåããããã®ãã¡ã€ã«ãããŠã³ããŒãããããã®é·ããããã¯ãŒã¯èŠæ±ããªãããã§ãã æ®å¿µãªãããåãã¡ã€ã«ãããŠã³ããŒãããåã«250ããªç§ã®é 延ããã£ã³ã»ã«ãã人ã¯ããªãã£ãããããŠãŒã¶ãŒã¯ãã®å¯ŸåŠæ¹æ³ã決å®ããŸããã æ zyãªããªããŒããšã¿ã€ã«ãéžæããŸããã
- å ¥åãã£ãŒã«ããç»é¢ã®äžéšã«é 眮ããŸã-ããã«ãããã¢ãã€ã«ããã€ã¹ã§ããŒããŒãã衚瀺ãããšãã«ããŒãžã®ç°ãªãã¬ã€ã¢ãŠãåäœãåé¿ãããŸãã
- 倧ããªãªã¹ããé¿ãã-ããã¯é£ããäœæ¥ã§ãã å°ãªããšãããã解決ããããã®éåçãæ¢ã«æã£ãŠãããšãã«ãããã€ãã¿ãŸãã
- 圱ãã°ã©ããŒã·ã§ã³ãåéææ§ãæ倧éã«åãé€ããŸãã ãã®ãã¹ãŠã®çŸããã¯ãã¢ãã€ã«ããã€ã¹ããã®è¿œå ã®é»åãå¿ èŠãšãããããæ¬åœã«å¿ èŠãªå Žåã«ã®ã¿äœ¿çšããŠãã ããã
- 次ã®ããã«ãCSSãä»ããŠGPUãã¯ãŒã䜿çšããŸãã
transform: translate3d(0,0,0);
-webkit-transform: translate3d(0,0,0);
ç¹ã«ã ç¹å®ã®å®è£ ã«ã€ããŠèªãããšãã§ããŸãã
ãŸãã¯ã ãã¹ãã®è©³çŽ° ã
ãŸãããã³ãä»ãã®èšäºãžã®ãªã³ã¯ãããã€ããããŸãïŒ here ã hereãŸãã¯here ã
ããããæãéèŠãªããšã¯ãç§ãã¡ãèšããã ããšã§ããPhoneGapã§æžãããšãã§ããŸãã
ããã¯éçºã®ããã®äžèœè¬ã§ã¯ãããŸãããã åããŒã«ã¯ãç¬èªã®ã¿ã¹ã¯çšã«èšèšãããŠããŸãã PhoneGapã䜿çšãããšãã¬ã¹ãã³ã·ãã¢ããªã±ãŒã·ã§ã³ãéæšæºèšèšã®ã¢ããªã±ãŒã·ã§ã³ãäœæã§ããŸãïŒããã¯ãã€ãã£ãã³ãŒãã䜿çšãããããç°¡åã§ãïŒã ãã ãã倧éã®ããŒã¿ãåŠçããå¿ èŠãããå Žåã¯ãPhoneGapãé©åã§ãªãå ŽåããããŸããã察åŠã§ããå ŽåããããŸãã
ãã³ãã圹ç«ã€ããšãé¡ã£ãŠããŸãã
PS 11æéã®UIæé©ååŸãåããã¿ã³ãµã€ãºã§ãã°ãæ®ããŸããããã¢ããªã±ãŒã·ã§ã³ã¯æ¬åœã«ãè¯ããªããŸãããã