ããã€ãã®çç±ããããŸãã
-AJAXãã©ãŠã¶ãŒã§ãªãœãŒã¹ãéããã³ã«ããŠãŒã¶ãŒã¯ãéå§ç¹ãããäœæ¥ãéå§ããŸãã ã»ãšãã©ã®å Žåããã®ãããªã¢ããªã±ãŒã·ã§ã³ã®ç¶æ ã¯ãã©ãŠã¶ã®ã¢ãã¬ã¹ããŒã«è¡šç€ºãããŸãã
-åçã«ããŒããããã³ã³ãã³ãã¯æ€çŽ¢ããããã«ãã£ãŠåŠçãããŸãã
-éåæWebã¢ããªã±ãŒã·ã§ã³ã®éçºã¯ãéçã¢ãã«ã䜿çšãããããã¯ããã«è€éã§æéãããããŸã
-AJAXã¢ããªã±ãŒã·ã§ã³ãšæšæºãã©ãŠã¶ããŒã«ã®çµ±åã®æ¬ åŠã ãã©ãŠã¶ã®ãã¿ã³ã䜿çšããŠãã®ãããªãªãœãŒã¹ãããã²ãŒãããããåçã«ããŒãããããµã€ãããŒãžãããã¯ããŒã¯ããããæ°ãããã©ãŠã¶ã¿ãã§åçã³ã³ãã³ããžã®ãªã³ã¯ãéãããããããšã¯ã§ããŸãã
-ãã·ãã¯ãã¯ã©ã€ã¢ã³ãã䜿çšãããšããŠãŒã¶ãŒã®ã³ã³ãã¥ãŒã¿ãŒã®ããã»ããµã®è² è·ãšå¿ èŠãªRAMãå€§å¹ ã«å¢å ããŸãã
-ãŠãŒã¶ãŒã®ãã©ãŠã¶ã§JavaScriptãç¡å¹ã«ãªã£ãŠããå ŽåãAJAXã¢ããªã±ãŒã·ã§ã³ã¯å€±æããŸã
äžèšã®åé¡ãå æããã«ã¯ããŸã£ããæ°ããã³ã³ã»ãããå¿ èŠã«ãªããŸãããããActionWebãšåŒã³ãŸã ã åºæ¬çã«ãActionWebïŒåœæã®AJAXãªã©ïŒã¯æ°ãããã¯ãããžãŒãæäŸãããæ¢ç¥ã®ãã¯ãããžãŒã®äœ¿çšåçãå€æŽããã ãã§ãã æŠå¿µã®äž»ãªè«æãæåºããŸãã
1.åãããŒã¿ãç¹å¥ãªå¿ èŠãªãã«è€æ°åããŒããããããšã¯ãããŸãããããŒãžå šäœã®ãªããŒãã¯äŸå€çãªå Žåã«ã®ã¿çºçããŸã
2.ãŠãŒã¶ãŒãšæ€çŽ¢ãšã³ãžã³ã®èŠ³ç¹ããèŠãActionWebã¢ããªã±ãŒã·ã§ã³ã¯ãéåžžã®Webãµã€ããšå€ãããŸãã
3.ã¢ããªã±ãŒã·ã§ã³ã®ã¯ã©ã€ã¢ã³ãéšåã®ãã¬ãŒã³ããŒã·ã§ã³å±€ãšããžãã¹ããžãã¯å±€ã®åé¢
4.ããžãã¹ããžãã¯å±€ã¯ãã¬ãŒã³ããŒã·ã§ã³å±€ããèŠããŸãããéçºè ã¯ãã¬ãŒã³ããŒã·ã§ã³ã³ã³ããŒãã³ãã®ã¿ããããžã§ã¯ããããããžã§ã¯ãã«å€æŽããŸã
äžèšã§å®çŸ©ããAJAXã¢ããªã±ãŒã·ã§ã³ã®åé¡ãšã nikitaeremin.com Webãµã€ããäœæãããšãã«å®è£ ããããActionWebã³ã³ã»ããã®äœ¿çšãèæ ®ã«å ¥ããããããã解決ããã¡ã«ããºã ãèããŠã¿ãŸãããã
åé¡ïŒãŠãŒã¶ãŒããéå§ç¹ãããäœæ¥ãéå§ãããã³ã«ãAJAXãªãœãŒã¹ã®çŸåšã®ç¶æ ããã©ãŠã¶ãŒã®ã¢ãã¬ã¹ããŒã«è¡šç€ºãããŸããã
解決çïŒãã©ãŠã¶ãŒã®ã¢ãã¬ã¹ããŒã®URLãå€æŽãããšãããŒãžããªããŒããããŸãã ãã®èŠåã«ã¯1ã€ã ãäŸå€ããããŸããåèµ·åããã«ãã¢ãã¬ã¹ããŒïŒlocation.hashïŒã®ããã·ã¥ãå€æŽã§ããŸããã€ãŸããïŒèšå·ãšãã®åŸãã«ãããã¹ãŠã®èšå·ãåé€ããŸãã ã¢ãã¬ã¹ããŒã«ã¯nikitaeremin.com/#projects/persik/ã®ãããªãã®ããããActionWebã¢ããªã±ãŒã·ã§ã³ã¯åæåæã«ããã·ã¥ãæœåºããããã«å¿ããŠç¶æ ã圢æããŸãã
åé¡ïŒåçã«ããŒããããã³ã³ãã³ããæ€çŽ¢ãšã³ãžã³ã§åŠçãããªã
解決çïŒ WebãªãœãŒã¹ãåç §ãããšããæ€çŽ¢ãããã¯JavaScriptãåãå ¥ããŸããã ããŒãžã®ãœãŒã¹HTMLã³ãŒããã¹ãã£ã³ãããšãå éšãªã³ã¯ã«ç§»åãããããã®ã¢ãã¬ã¹nikitaeremin.com/#projects/persik/ã¯ã¡ã€ã³ããŒãžãžã®ç§»è¡ãæå³ããŸãã 解決çã¯ããªã³ã¯ããœãŒã¹ã³ãŒãã«ãã®ãŸãŸæ®ããå éšãªã³ã¯ãšå€éšãªã³ã¯ã«åå²ããããšã§ãã ããšãã°ããªã³ã¯ã«cssã¯ã©ã¹ãè¿œå ããããšã§åå²ã§ããŸãã ActionWebã¢ããªã±ãŒã·ã§ã³ãåæåããããšãã€ãã³ããã³ãã©ãŒãæå®ãããã¯ã©ã¹ã®ãªã³ã¯ã«ã¢ã¿ãããããŸããããã«ãããã³ã³ãã³ããåçã«èªã¿èŸŒãŸãããã©ãŠã¶ãŒã®ã¢ãã¬ã¹ããŒã®ããã·ã¥ãå€æŽãããŸãã ãããããŠãŒã¶ãŒã ActionWebã¢ããªã±ãŒã·ã§ã³ã®ãœãŒã¹ã³ãŒãã§ã€ã³ããã¯ã¹åãããæ€çŽ¢ãªã³ã¯nikitaeremin.com/projects/persik/ãã¯ãªãã¯ãããšã©ããªããŸããïŒ nikitaeremin.com/#projects/persik/ãžã®ãªãã€ã¬ã¯ãã察å¿ããããŒãžã«é 眮ãããã¡ã€ã³ããŒãžãžã®é·ç§»ãçºçããã¢ããªã±ãŒã·ã§ã³ã¯ã¢ãã¬ã¹ããŒã®ããã·ã¥ã«åºã¥ããŠãã®ç¶æ ã圢æããŸãã
åé¡ïŒ AJAXã¢ããªã±ãŒã·ã§ã³ãšæšæºãã©ãŠã¶ããŒã«ã®çµ±åã®æ¬ åŠ
解決çïŒã¢ãã¬ã¹ããŒãå€æŽããäžèšã®ææ³ã䜿çšãããšãããã¯ããŒã¯ã«è¿œå ããåé¡ã¯èªåçã«è§£æ±ºãããŸãã æ°ãããã©ãŠã¶ã¿ãã§ã¢ããªã±ãŒã·ã§ã³ã®å éšAJAXãªã³ã¯ãéãããšãã§ããªããšããåé¡ã解決ãããŸãã ActionWebã¢ããªã±ãŒã·ã§ã³ã§ãå éšãªã³ã¯ãå³ã¯ãªãã¯ãããŠãŒã¶ãŒãéåžžã®ãªã³ã¯ãã¯ãªãã¯ãããšããã©ãŠã¶ãŒã¯éçãªãµã€ãã§æäœããã®ãšåãããã«åäœããŸãã ãã©ãŠã¶ãŒæ©èœãååŸã«åŸ©å ããã«ã¯ã2ã€ã®æ¹æ³ããããŸãã æåã®æ¹æ³ã¯ããããã®ç®çã®ããã ãã«èšè¿°ãããjQueryã®å±¥æŽãã©ã°ã€ã³ã䜿çšããããšã§ããããã®ã¹ã¯ãªããã¯ãã©ãŠã¶éã®äºææ§ããªããäž»ã«Internet Explorerã§æ£ããåäœããŸããã 2çªç®ã®æ¹æ³ã¯ãã¢ãã¬ã¹ããŒãžã®ãã¹ãŠã®å€æŽãJavaScripté åã«ä¿åããç°¡åãªæäœã䜿çšããŠãã¢ããªã±ãŒã·ã§ã³ããŒãžã«çŽæ¥æ»ããã¿ã³ãšé²ããã¿ã³ãå®è£ ããããšã§ãã
åé¡ïŒ AJAXã¢ããªã±ãŒã·ã§ã³ã®éçºã¯ãéçã¢ãã«ã䜿çšãããããæ¡éãã«è€éã§ã
解決çïŒã¢ããªã±ãŒã·ã§ã³ã®ã¯ã©ã€ã¢ã³ãéšåã®ãã¬ãŒã³ããŒã·ã§ã³å±€ãšããžãã¯å±€ã®åé¢ã ãã®ã¢ãããŒãã§ã¯ããã¬ãŒã³ããŒã·ã§ã³ã³ã³ããŒãã³ãã®ã¿ããããžã§ã¯ãããšã«å€åãããµãŒããŒãšã®å¯Ÿè©±ãæ å ±ã®åä¿¡ããã³åŠçã®ãã¹ãŠã®æ©èœã¯ãšã³ãžã³å ã§ãä¿è·ããããååãªã¬ãã«ã®æœè±¡åãæäŸããéçºè ã¯ãããã«ã€ããŠèããå¿ èŠã¯ãããŸããã ããŒããããã³ã³ãã³ãããŒãžã®ãã£ãã·ã¥ãå éšãªãœãŒã¹ãªã³ã¯ã®ã¯ã©ã¹åãªã©ãã¢ããªã±ãŒã·ã§ã³ã®ããžãã¹ã¢ãã«ã«é¢é£ããããã€ãã®æ©èœ åæåäžã«ãšã³ãžã³ã«æž¡ãããJSONãªããžã§ã¯ãã§æ§æã§ããŸãã
åé¡ïŒ RIAã䜿çšãããšãã¯ã©ã€ã¢ã³ãã³ã³ãã¥ãŒã¿ãŒã®ããã»ããµã®è² è·ãå€§å¹ ã«å¢å ãã
解決çïŒ JavaScriptã䜿çšããå Žåãããã»ããµã®è² è·ã¯äž»ã«ãã¬ãŒã³ããŒã·ã§ã³ã¬ã€ã€ãŒã®é£œåã«ãããã®ã§ããç¹ã«ãè€æ°ã®ã¢ãã¡ãŒã·ã§ã³æ©èœãçžäºã«åæã«ããŸãã¯éããžãã¯ã®ã¬ã€ã€ãŒã®æ©èœã§åæã«å®è¡ãããå Žåãè² è·ãéå°ãªå Žåããã©ãŠã¶ãŒã¯åçŽã«ããã³ã°ãããŸãã åºåã¯ãã¢ããªã±ãŒã·ã§ã³ã®éèŠãªã»ã¯ã·ã§ã³ã§ã®ãã§ãŒã³é¢æ°åŒã³åºãã®å®è£ ã§ãã ãã§ãŒã³ã³ãŒã«ãšã¯ãè€æ°ã®æ©èœãåæã«å®è¡ã§ããªãããã«ããŠããŠãŒã¶ãŒã®ã³ã³ãã¥ãŒã¿ãŒã«éå°ãªè² è·ããããã®ãé²ãããšã§ãã ãã ãããã®ã¡ã«ããºã ãJavaScriptã«å®è£ ããã«ã¯ãåã«é¢æ°åŒã³åºãã1ã€äžã«çœ®ãã ãã§ã¯ååã§ã¯ãããŸããããã®ãããªé 次åŒã³åºããªã¹ãã«å°ãªããšã1ã€ã®ã¢ãã¡ãŒã·ã§ã³é¢æ°ãããå Žåã¯æ©èœããŸããã JavaScriptã€ã³ã¿ãŒããªã¿ãŒãæéé 延æäœïŒã€ãŸããã¿ã€ã ã¢ãŠãïŒã«ééããå ŽåãJavaScriptã€ã³ã¿ãŒããªã¿ãŒã¯ãã®å®äºãåŸ ã€ããšãæ¢ãããã³ãŒããããã«é²ããŸãã jQueryã§èšè¿°ãããç°¡åãªäŸã次ã«ç€ºããŸãã ã¢ãã¡ãŒã·ã§ã³é¢æ°ãšããžãã¯é¢æ°ããããã¢ãã¡ãŒã·ã§ã³é¢æ°ãäœæ¥ãå®äºããåŸã«ã®ã¿ããžãã¯é¢æ°ãå®è¡ããå¿ èŠããããšããŸãã
é¢æ°ã¢ãã¡ãŒã·ã§ã³ïŒïŒ{ $ïŒ "ïŒelem"ïŒãanimateïŒ{"width"ïŒ "300px"}ã200ã "linear"ãfunctionïŒïŒ{ ã¢ã©ãŒãïŒãã¢ãã¡ãŒã·ã§ã³ãæåã«ïŒãïŒ; }ïŒ } é¢æ°ããžãã¯ïŒïŒ{ ã¢ã©ãŒãïŒãããžãã¯ãã¡ãŒã¹ãïŒãïŒ; } ã¢ãã¡ãŒã·ã§ã³ïŒïŒ; ããžãã¯ïŒïŒ;
äžèšã®ã³ãŒããå®è¡ãããšãæåã®ã¢ã©ãŒãã¯ãããžãã¯ãæåã«ïŒãã«ãªããŸãã ã¢ãã¡ãŒã·ã§ã³ã®å®äºãé ããŸãã ãããŠãç®æšãéæããã«ã¯ãã³ãŒãã次ã®ããã«æžãæããå¿ èŠããããŸãã
é¢æ°ã¢ãã¡ãŒã·ã§ã³ïŒïŒ{ $ïŒ "ïŒelem"ïŒãanimateïŒ{"width"ïŒ "300px"}ã200ã "linear"ãfunctionïŒïŒ{ ã¢ã©ãŒãïŒãã¢ãã¡ãŒã·ã§ã³ãæåã«ïŒãïŒ; ããžãã¯ïŒïŒ; }ïŒ } é¢æ°ããžãã¯ïŒïŒ{ ã¢ã©ãŒãïŒãããžãã¯ãã¡ãŒã¹ãïŒãïŒ; } ã¢ãã¡ãŒã·ã§ã³ïŒïŒ;
ãããããã®ã¢ãããŒãã§ã¯ãActionWebã³ã³ã»ããã®4çªç®ã®è«æã¯æºããããŸããã Persikãšã³ãžã³ã§ããžãã¹ããžãã¯é¢æ°ã®å¿ååŒã³åºããå®è£ ããã«ã¯ãããžãã¹ã¢ãã«ã®ã³ã³ããŒãã³ããšãã¬ãŒã³ããŒã·ã§ã³ã¬ã€ã€ãŒãæ¥ç¶ãããã§ãŒã³ã¡ãœãããèšè¿°ããå¿ èŠããããŸããã ããžãã¹ããžãã¯ã¬ã€ã€ãŒã§ã®ãã§ãŒã³ã¡ãœããã®äœ¿çšã¯æ¬¡ã®ãšããã§ãã
engine.chainïŒfunc1ã[vars1]ïŒãchainïŒfunc2ã[vars2]ïŒãchainïŒfunc3ã[vars3]ïŒãstartïŒïŒ;
ããã«ããã§ãŒã³ã®åæ©èœã§ã¯ãåºå£ç¹ãæ瀺çã«å®çŸ©ããå¿ èŠããããŸãã
é¢æ°ã¢ãã¡ãŒã·ã§ã³ïŒïŒ{ $ïŒ "ïŒelem"ïŒãanimateïŒ{"width"ïŒ "300px"}ã200ã "linear"ãfunctionïŒïŒ{ ã¢ã©ãŒãïŒãã¢ãã¡ãŒã·ã§ã³ãæåã«ïŒãïŒ; animation.nextïŒïŒ; }ïŒ } é¢æ°ããžãã¯ïŒïŒ{ ã¢ã©ãŒãïŒãããžãã¯ãã¡ãŒã¹ãïŒãïŒ; logic.nextïŒïŒ; } persik.chainïŒã¢ãã¡ãŒã·ã§ã³ïŒ.chainïŒããžãã¯ïŒ.startïŒïŒ;
ãã®äŸãããããããã«ããã§ãŒã³é¢æ°ã¯ãã©ãããåŒã³åºãããã®ããå¶åŸ¡ã転éããé¢æ°ãç¥ããŸããã ãã®ã¢ãããŒãã«ã¯2ã€ã®äž»ãªå©ç¹ããããŸãã
1.éçºè ã¯ãåã®ãã§ãŒã³é¢æ°ãå®äºããåŸã«ã®ã¿ãã§ãŒã³é¢æ°ã®å®è¡ãéå§ããããšç¢ºä¿¡ããŠããŸãã åæã«ã圌ã¯é¢æ°ã®å®è¡ã®äžè²«æ§ã決å®ããã¢ãã¡ãŒã·ã§ã³é¢æ°ã®ã©ãã«ã§ã次ã®ïŒïŒåŒã³åºããé 眮ã§ããŸãã
2.å¿åé¢æ°åŒã³åºãã®ååãå®è£ ããããã¬ãŒã³ããŒã·ã§ã³ã¢ãã«ããããžãã¹ã¢ãã«ãæ倧éã«åé¢ããŸãã
åé¡ïŒ JavaScriptããŠãŒã¶ãŒã®ãã©ãŠã¶ãŒã§ç¡å¹ã«ãªã£ãŠããå ŽåãAJAXã¢ããªã±ãŒã·ã§ã³ã¯å€±æããŸã
解決çïŒæ¬è³ªçã«ãActionWebãªãœãŒã¹ãšã¯äœã§ããïŒ ããã¯ãéåæããŒã¿èªã¿èŸŒã¿ã¡ãœããã䜿çšããã€ã³ã¿ã©ã¯ãã£ããªWebã¢ããªã±ãŒã·ã§ã³ã§ããããã®ç¶æ ã¯ã»ãšãã©ã®å ŽåãURLã«ãã£ãŠäžæã«æ±ºå®ãããŸãã JavaScriptããªãã«ãããšäœãå€ãããŸããïŒ ã¢ããªã±ãŒã·ã§ã³ã®ç¶æ ã¯ã¯ã©ã€ã¢ã³ãåŽã§åœ¢æããããããŒã¿ãéåæçã«ããŠã³ããŒãããæ©èœãå©çšã§ããªããªããã¢ãã¡ãŒã·ã§ã³æ©èœã¯å®è¡ãããŸããã ãã®å ŽåããµãŒããŒåŽã§ã¢ããªã±ãŒã·ã§ã³ç¶æ ãäœæããã¢ãã¡ãŒã·ã§ã³é¢æ°ãããªããžã§ã¯ãã®æçµç¶æ ïŒãªãŒãã³/ã¯ããŒãºïŒãæœåºããããããåå¥ã®ã¯ã©ã¹ã§éžæããã¯ã©ã¹ã䜿çšããŠDOMãªããžã§ã¯ãã®ç¶æ ã圢æã§ããŸãïŒæãåçŽãªäŸã¯çŸåšã®ã¡ãã¥ãŒé ç®ã匷調衚瀺ããŸãïŒãã³ã³ãã³ãã®éåæèªã¿èŸŒã¿åŸæ¥ã®ãã®ã«çœ®ãæãããããã®çµæãã¢ãŒããã¯ãã£ã®èŠ³ç¹ããæãäžè¬çãªWebãªãœãŒã¹ãååŸããŸãã ãµãŒããŒã§ã¯ããŠãŒã¶ãŒã®ãã©ãŠã¶ãŒã§jsãæå¹ã«ãªã£ãŠãããã©ãããå€æããå¿ èŠãããããã®åé¡ã«åºã¥ããŠããµã€ãã®ActionWebããŒãžã§ã³ãŸãã¯éåžžã®éçããŒãžã§ã³ã®ããããã決å®ããŸãã ãã¡ããããã®ã¢ãããŒãã®å®è£ ã¯ãã¹ãŠã®AJAXã¢ããªã±ãŒã·ã§ã³ã§å¯èœãšããããã§ã¯ãªããéçããŒãžã§ã³ã§ã¯ã³ã³ãã³ããããŒãããã³è¡šç€ºããããã®æ©èœã®ã¿ã䜿çšå¯èœã«ãªããŸãããæçµçã«éçºè ã¯ããŠãŒã¶ãŒã®ãã©ãŠã¶ãŒã®èšå®ã«é¢ä¿ãªãããŠãŒã¶ãŒãæå°éã®Webãµã€ãæ©èœã確å®ã«åãåãããšãä¿èšŒããŸãã
ãã®çµæãäœæããããªãœãŒã¹ã¯æ€çŽ¢ããããã«ãã£ãŠèªèããããŠãŒã¶ãŒã®ãã©ãŠã¶ãŒã§JavaScriptããªãã«ãªã£ãŠãæ©èœã倱ãããããšã¯ãããŸãããAJAXã«ããé«éã«åäœããJavaScriptã¢ãã¡ãŒã·ã§ã³ã䜿çšããããšã§ãã¬ãŒã³ããŒã·ã§ã³ã®é åãé«ããªããŸãã