ã»ã«ã²ã€ã»ã¢ãŽã§ãªã³ïŒ XEK ïŒ
æåã¯ããã¬ãŒã ã¯ãŒã¯ã®æ¯èŒã«é¢ããã¬ããŒããäœæãããã£ãã®ã§ããããã®åŸãããããããããæãããšæã£ãã®ã§ãã¬ããŒãã¯ãã€ãã®ããã«å°çã®ãããªãããŒãªã³ã°ã§ãã ãããŠã圌ã¯ããããHighLoadã«ã€ããŠã§ã¯ãªããããã³ããšã³ããå«ããŠããã®ããžãã¹ãããéèŠãªç®¡çã¿ã¹ã¯ã«ã€ããŠã§ãã
ããã«ãããããããäœãå ±åããŸãããïŒ æ°ãããã¬ãŒã ã¯ãŒã¯ã®éžææ¹æ³ãéžæããçç±ãããã³ãããã解決ããã¿ã¹ã¯ã«é¢ããã¬ããŒãã
æåã«ãäŒç€Ÿã«ã€ããŠå°ã説æãã次ã«åé¡ã®é åãã¿ã¹ã¯ãèŠããšãããäŒç€ŸãçŸåšæã£ãŠãããã®ã«ã€ããŠèª¬æããŸãã äžè¬çã«ãéžæããæ¹æ³ãéžæããæ¹æ³ã ãªãã·ã§ã³ã®è©äŸ¡æ¹æ³ã 圌ããæçµçã«èªåèªèº«ã«é©ãããªãã·ã§ã³ã®1ã€ãããçŽãããšã決å®ãã2ã€ã®ç«¶åããæè¡ã®ãã€ããããããžã§ã¯ããæ¯èŒããæ¹æ³ã çµæã¯ã©ãã ã£ãã®ãããããŠæçµçã«ã©ã®ããã«é²ãã ã®ãã
ãããŠä»ãç©èªãæããã«ããæãæ¥ãŸããã
äŒç€Ÿã«ã€ããŠå°ãïŒ
ã¢ã¯ããã¹ã¯ã500äžäººã®ãŠãŒã¶ãŒã«ãµãŒãã¹ãæäŸãããã·ã¢ã®éåžžã«å€§èŠæš¡ãªäŒæ¥ã§ããããã®ãã¡çŽ10ïŒ ãäŒæ¥ã¯ã©ã€ã¢ã³ãã§ãããã©ã€ã»ã³ã¹ã§äœåãè³Œå ¥ããŠããŸãã ãããã£ãŠãäŒç€Ÿèªäœãéåžžã«å€§ããã17ã®ç°ãªããªãã£ã¹ããããç 究éçºã¯3ã€ã®ç°ãªãåœã«ãããæ倧ã®ç 究éçºã¯ã¢ã¹ã¯ã¯ã«ãããŸãã ãããåæã«ãç§ãã¡ã®éçºã¯åæ£ãããŠãããããã§ã¯æ°ãåããªãã£ããªã¢ãŒãã¯ãŒã«ãŒãããŸãã
éçºäžã®ãœãããŠã§ã¢ã®èŠæš¡ã¯å€§ããç°ãªããŸãïŒWindowsçšã®ããã¯ã¹çãœãããŠã§ã¢ãäŒæ¥ã«è²©å£²ããWebã€ã³ã¿ãŒãã§ã€ã¹ãåããããã¯ã¹çãœãããŠã§ã¢ãèªç€Ÿã§è²©å£²ããã³å®è£ ãããœãããŠã§ã¢ããããŸããããã¯ãããã¯ã¹çãšã¯ã©ãŠãããŒã¹ã®äž¡æ¹ã®ãœãããŠã§ã¢ãæ··åšããŠããŸãã ã¯ã©ãŠããœãããŠã§ã¢ããããŸããããã¯ãããŒã ãŠãŒã¶ãŒãšäŒæ¥ãŠãŒã¶ãŒã®äž¡æ¹ã«ãµãã¹ã¯ãªãã·ã§ã³ã§è²©å£²ããŠããŸãã ç§ãã¡ãæåã«å€§æãã¹ãã£ã³ã°äŒç€Ÿã«è²©å£²ãããœãããŠã§ã¢ããããŸãããããã¯åœŒãèªèº«ã®ããã«æçµçãªãŠãŒã¶ãŒã«åœŒãèªèº«ã®ãã©ã³ãã§ããã販売ããŸãã ãããŠããã®ãã¹ãŠã®ããžãã¹ã«ã¯èšå€§ãªæ°ã®Webã€ã³ã¿ãŒãã§ãŒã¹ããããŸãã ããã¯Web補åã®åé¡ã§ãããWebãµã€ãèªäœã®åé¡ã§ã¯ãããŸããã
ç§ãäŒç€Ÿã«æ¥ããšããç§ãã¡ãäœãæã£ãŠãããããã¹ãŠãã©ã®ããã«èµ·ããã®ããç解ãå§ããŸãã.Ext JSãªã©ã®çã®ããã³ããšã³ãããå§ããŠãããŸããŸãªæè¡ã§ããã«ããŸããŸãªçš®é¡ã®Web管çè ã瀟å ã«ããããšãããããŸããAngularJSãRubyon Railsã§èšè¿°ããããµã€ãã§çµãããjQueryã¯åã«ããŒãžãŸãã¯ã°ã©ãã£ãã¯ãåãæ¿ããŸãã
ããŒã ã¯ãã®ãããªåé¡ã«çŽé¢ããŸããã
ãŸããå€ãã®ãã¯ãããžãŒãããããããã¯ãã¹ãŠç°ãªã£ãŠãããéçºè ãããéšéããå¥ã®éšéã«ãã©ãã°ããããšã¯ã§ããŸããããããžã§ã¯ããæ¯æŽããããšãã§ããŸãããjQueryã§èšè¿°ããRuby on Railséçºè ã¯AngularJSã«ã€ããŠäœãç¥ããªãããã§ãã 第äºã«ãããã¯ãšã³ãéçºè ãŸãã¯ããã³ããšã³ãéçºè ãšããŠãããªãã®æ°ã®äººã ãããŒãã¿ã€ã ã§åããŠããããšãããããŸããã ããšãã°ãPHPã§æžã人ãããŠãAngularJSã§ããã¯ãšã³ããšããŠåäœãããµã€ããäœæããŠããŸãã ãããã®å€ãã¯ãããŸããã圌ãã¯å°ããªãããžã§ã¯ããæã£ãŠãããå¥ã®ããã³ããšã³ãéçºè ãéå§ããçç±ã¯ãããŸããã
ãã®çµæãããã³ããšã³ããè¡ãJavaã®äººã ãRubyã®äººã ãPythonã®äººã ãPHPã®äººã ããããšèšç®ããŸããã åæã«ãäŒç€Ÿã«ã¯ã¬ã€ã¢ãŠããã¶ã€ããŒããªããåäžã®ãã¶ã€ããŒããããŸããã ã€ãŸã ãã®åéãçç¥ããŠãã人ã¯æ°äººããŸãããéåžžã¯AngularJSã®ãšã³ã³ãŒããŒãšããŠåããŠããŸãã ãã®çµæããããã®ãããžã§ã¯ãã¯å®å šã«ç°ãªãã³ãŒãã¹ã¿ã€ã«ãå®å šã«ç°ãªãã³ã¡ã³ãã¹ã¿ã€ã«ãæã¡ãããŸããŸãªæ¹æ³ã§ãããã€ãããŸããRubyon Railsã䜿çšããŠãRubyã®ã³ã¬ã¯ã¿ãŒã䜿çšããŠAngularJSã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããŸãã ãããŠæåŸã«-ã©ãã§ãç°ãªãåç©åã åéšéã«ã¯ç¬èªã®åç©åããããŸãã èŠããã«ãExt JSãæžãããŠãããã©ãã°ã·ãã補åã¯å·šå€§ãªç®¡çããã«ã§ãããäœçŸãã®ç»é¢ããããããŒãžã§ã³4ã«åºã¥ããŠæ§ç¯ãããŠãããæè¿ã§ã¯2015幎ã«ããŒãžã§ã³6ããã§ã«ãªãªãŒã¹ãããŠããŸããã®ãã¬ãŒã ã¯ãŒã¯ã¯ã䜿çšããŠãããã¬ãŒã ã¯ãŒã¯ã®ããŒãžã§ã³ãã5幎é ããŠããŸãã ããããããªããããã«ã€ããŠäœããããå¿ èŠããããŸãã
ãã¡ããããã¹ãæ¥ãŠã¿ã¹ã¯ãèšå®ããŸããã ã¿ã¹ã¯ã¯äžããäžããããŸããïŒ
å¯èœãªéãã¹ããŒãã¬ã¹ããã¯ãšã³ãAPIãšéä¿¡ããããã³ããšã³ããã¯ãããžãŒã䜿çšãããã¡ããã¯ã©ã€ã¢ã³ããå¿ èŠã§ãã UIã³ã³ããŒãã³ãã®åäžã®ã©ã€ãã©ãªãäŒç€Ÿå šäœã®åäžã®ã«ãã¯ã¢ã³ããã£ãŒã«ãå¿ èŠã§ããããã¯ããã©ã³ããã©ããã§ç°ãªãããã¯ã»ã«ãã©ããã§ã¬ã€ã¢ãŠããæµ®ããŠãããæçµçã«ã¯2ã€ã®é£æ¥ããéšéã¯ããã¹ãŠã®ç®¡çé åã«å ±éã®èŠçŽ ãããã€ãæç»ããŸãããã¶ã€ããŒã¯åãæ¹æ³ã§ãå°ãç°ãªãæ¹æ³ã§æç»ããŸããHTMLã¬ã€ã¢ãŠããã¬ã€ã¢ãŠãã¯äœããã®ãã€ãã£ããã³ãã¬ãŒããšã³ãžã³ã®JSã³ãŒãã«è©°ã蟌ãŸããŸãã ãŸããCSSã¬ã€ã€ãŒãæ ¹æ¬çã«ç°ãªãã3ã€ãŸãã¯4ã€ã®ãã¡ã€ã«ãéããŠé 眮ããæ¢åã®ãã¬ãŒã ã¯ãŒã¯ãç Žæ£ããŸãã
æçµçã«éåžžã®ã¬ã€ã¢ãŠããã¶ã€ããŒãã€ãªãã絊æã®äœãããããããŒãéãããšãã§ããŸããããããããŒã¯ãäžæ¹ã§ãã¶ã€ããŒãšã³ãã¥ãã±ãŒã·ã§ã³ãåãããã¶ã€ã³ãæºåããäžæ¹ã§Javaã¹ã¯ãªãããæã£ãŠããããšãã§ããŸãã ã圌ãã¯ãããæãã§ããŸããããã§ã¯ãã®ã€ã³ã¿ãŒãã§ã€ã¹ãã¢ãã¡ãŒã·ã§ã³åããå¿ èŠããããŸã... "ã åæã«ããããã¬ãã«ã§ã¯ãªããããžã§ã¯ãã§JSãšã³ã³ãŒããŒãéãããšãã§ããŸããã ä»ãç§ãã¡ã«ã¯ç«ãšæ°Žãçµéšããå€ãã®äººãããŸãã圌ãã¯Javaãç¥ã£ãŠããŸãã圌ãã¯.Netãç¥ã£ãŠããŸãããã®ç¹ã§ã圌ãã¯ååãšããŠéåžžã«çµéšè±å¯ãªã®ã§ãã©ããªJavascriptãã¬ãŒã ã¯ãŒã¯ãåé¡ã§ã¯ãããŸããã ãããã£ãŠãã©ãã«ãããŠã100人ã«1人ã§ã¯ãªãã50人ã«2人ãæ¡çšã§ããããã«ããããšèããŠããŸãã
ãããŠããã®ãããªå¥ã®pqrityããããŸãã ããã³ããšã³ããäœæãã人ã ã®å€§éšåã¯ãåè ãŸãã¯çŸåšã®ããã¯ãšã³ãã®ããããã§ãããããããããã¹ãŠãããã¯ãšã³ãéçºè ã«ç解ããŠããããããšæã£ãŠããŸãã 管çè ãJSã§ã³ãŒããèŠããšãããããäœãç解ããŠããªãããã¹ãŠãæªããæžãçŽããããšèšãå§ããŸãããããã§ã¯ãªãããšããããããŸãã
äŒç€Ÿã«å®éã«ãããã®ãèŠãŸããã Dojoã§äœæãããã¢ãã£ãªãšã€ã補åãããããšãããããŸããã 圌ã®ããã«ãDojoã®ãã©ã°ã€ã³ãäœæããŸããããã¯éåžžã«å€ããã¬ãŒã ã¯ãŒã¯ã§ãããéåžžã«ç¹å¥ã§ãã³ã³ããŒãã³ãã¢ãã«ãšããŠæ©èœããŸãã ããã¯å®å šã«MVCã§ã¯ãããŸããããä»ã®ãã¬ãŒã ã¯ãŒã¯ã䜿çšã§ããªãããããã®ã¢ãã£ãªãšã€ãããã°ã©ã ã§äœæ¥ããããšãã§ããªããããäœãããªãããšã«ããŸããã
å®éããã®ãµã€ãã§ã¯ããã€ããã¯ã¹ã¯ã»ãšãã©ãããŸããã æ€çŽ¢ãšã³ãžã³ãã€ã³ããã¯ã¹ãäœæããããšãéèŠã§ãããè¿ éã«æ©èœããããšãéèŠã§ãã ããã«Javascriptã¯æ¬åœã«å¿ èŠãããŸããã ãããã£ãŠã圌ã®ããã®ããçš®ã®ã¹ãŒããŒãã¬ãŒã ã¯ãŒã¯ã¯ãäžè¬ã«äŒã¿ãŸããã§ããã ããã¯è§£æ±ºãã¹ãã§ã¯ãªãã¿ã¹ã¯ã§ãã
管çè ãå®éã«äœæãããæ®ããããããã¯æåã®ããŒãžã§ã³ã®Angular JSãããã¯Ruby on Railsãããã«ããã¯ãšã³ãã§ããŒãžãçæããããã«äœããã®ãã€ããã¯ã¹ãäœæããjQueryã®è£è¶³ã§ãã ãŸããã»ãšãã©ã®è£œåã¯ExtJS 4ã§èšè¿°ãããŠããŸãããããã¯ã.NetãŸãã¯QTã«æããã䌌ãéåžžã«é«ã¬ãã«ã®ãã¬ãŒã ã¯ãŒã¯ã§ãããå瀟ã®è£œåã®ã»ãšãã©ïŒçé¢ç®ããã³æ人ïŒãèšè¿°ãããŠããŸãã
ãã®ExtJSãäœã§ããããç解ããŸããã ããã¯å·šå€§ãªå·šåã§ãããã³ãŒãã®æ©é¢è»ã§ããããšãå€æããŸããã ã¡ã€ã³ããŒãžã§ã¯ããã®ãã¬ãŒã ã¯ãŒã¯ã®395ã¯ã©ã¹ã説æãããŠããŸãã
åã¯ã©ã¹ã«ã¯éåžžã«æ·±ãç¶æ¿ããªãŒããããŸãã ãã®ç¹ã§ãQTã.Netãããã³ãã®ä»ã®MVCãã¬ãŒã ã¯ãŒã¯ãã©ã®ããã«æ§ç¯ãããWindowsãŸãã¯ãã¹ã¯ãããçšã®Linuxã®ã©ããã§æ©èœããããšããéåžžã«ãªããããŠããŸãã ãã®çµæãå€ãã®å Žåããã£ããŒã¹ããã³ãŒãã¯ãçŸåšå¿ èŠãªã³ãŒãããã3ã¬ãã«é«ãããšãããããŸãã ãããç解ããã®ã¯æ¬åœã«é£ããã§ãã
Ext.panelã¯ã©ã¹ïŒ
ãããã¯ãããããã®ã¡ãœããã«ãããŸããã ããŸããŸãªããããã£ãšåãæ°ã®ã€ãã³ãããŸã ãããŸãã éçºè ããããã®ã¡ãœããããã¹ãŠèŠããŠããªãããšã¯æããã§ãã ãããã£ãŠãç§ãã¡ã¯åžžã«ããã¥ã¡ã³ããæäœããŠãã³ã³ããŒãã³ãã®ãµã€ãºã®ããã«ãæãåçŽãªãã®ãäœæããæ¹æ³ãç解ããå¿ èŠããããŸã...ãã§ã«3ã€ã®ç°ãªãã¡ãœããããããããããç¬èªã®æ¹æ³ã§3ã€ã®ç°ãªããµã€ãºãè¿ããŸãã
çµå±ãç§ã¯ãšãŠãæ²ããã£ãã§ãã æåã¯äœãç解ããŠããªãã£ãã®ã§ãå šäœãèŠãŠã次ã®è³ªåãèªåããŸããããäž»ãããªãããããã¹ãŠæžããã®ã§ããïŒã
ãã©ãã°ã·ããã¢ããªã±ãŒã·ã§ã³ã®ã€ã³ããã¯ã¹ããŒãžã¯ãã·ãŒãA0ã«å°å·ããããã©ã³ã6ã§51ã·ãŒããå ããŠããŸããã
æ¡å€§ããäŸã次ã«ç€ºããŸãã
ããã¯DOMããªãŒã§ããã32,000ã®ããŒãããããŸããã ããã¯ããã¬ãŒã ã¯ãŒã¯ã«ãã£ãŠçæãããåãªãã€ã³ããã¯ã¹ããŒãžã§ãã ãŸã ãã¿ã³ã1ã€ãæŒããŠããŸããã ããŒãžãããŒããããã¹ãŠãã¬ã³ããªã³ã°ããŸããã ããã§å¥åŠãªããšãèµ·ãã£ãŠããããšã¯æããã§ããæããã«ããã«ã¯ãŽãããããŸãã
圌ãã¯ããã®ãã¬ãŒã ã¯ãŒã¯ã§UIãã©ã®ããã«è¡ãããããèŠãããã«ç»ããŸããã ãŠãŒã¶ãŒãUIã³ã³ããŒãã³ãã®ã©ã€ãã©ãªãããã«åãåããCSSã«ãã£ãŠç Žæ£ãããããšãå€æããŸããã CSSãäžã«è¿œå ããŠãããã«ã¹ã¿ã ã¹ãã³ãååŸããå¿ èŠããããŸãã ããã«ãªãã£ãå€ãã®ã³ã³ããŒãã³ãã¯ããŒãããå®è£ ããå¿ èŠããããŸããã ãã®çµæãå€ãã®å Žåãã©ãã§ãã§ã¯ãªããéåžžã«é »ç¹ã«ãç§ã¯ãã®ãããªäœãã«åºããããŸããã ããã¯javascriptã¯ã©ã¹ã§ãããäžæ¹ã§UIã³ã³ããŒãã³ãã§ãããäžæ¹ã§ã3ã€ã®ç°ãªããšã³ãã£ãã£ãæ··åšããŠããããšãããèŠãããŸã-javascriptã³ãŒããhtmlã³ãŒããããã³ãããã¯ããŒã«ã«ãã³ãã¬ãŒããšã³ãžã³ãxindexãxcountã®éåžžã«å¥åŠãªãã£ã¬ã¯ãã£ãã§ããŸãã¯ããã®äžæ¬åŒ§ã§å²ãŸããæååã®å€ã®æåå...
ãã¡ãããããããã¹ãŠç解ããããšã¯éåžžã«é£ãããç¶æããããšã¯éåžžã«å°é£ã§ãããŸããã³ã³ããŒãã³ããçžäºã«ç¶æ¿ããããšãå€ãã®å Žåããã®ãã³ãã¬ãŒãã®æçãåãåã£ãŠæçã«åå²ã§ããããšãããããŸããã ã€ãŸã ããŒãã«ããããã»ã«ãã³ãã¬ãŒãããããããããŒãã³ãã¬ãŒãããããã³ã³ããŒãã³ãã¯äºãã«2ã3åç¶æ¿ãããŸãã 1ã€ã§ã¯ãäœããå€åãããã¹ãŠãå£ããŸãã ãŸãã¯ããã¬ãŒã ã¯ãŒã¯ã®æ°ããããŒãžã§ã³ãå ¬éããããã®äžã«äœæãããã³ã³ããŒãã³ããæ©èœããªããªããŸãã
ãããŠããããã¬ã€ã¢ãŠãã®ãããªãžã§ãŒã¯ãæã£ãŠããå¯äžã®ãã¬ãŒã ã¯ãŒã¯ã§ããããšãããããŸããã 圌ãã¯ããããã®ã¿ã°ãäœãããã©ã®ããã«ããªããã©ãããæ¥ãã®ãã確èªããããã«ç»ããŸããã ãŠã£ã³ããŠã®ãµã€ãºãå€æŽãããšãäžéšã®ã³ã³ããŒãã³ãã®ãµã€ãºãå€æŽãããšããã¬ãŒã ã¯ãŒã¯ã¯ãã¹ã¯ããããšåæ§ã«ããããã¯èªäœã®ãµã€ãºãèšç®ããCSSã«ã€ã³ã©ã€ã³ã§æ¿å ¥ããããšãå€æããŸããã å·Šãå³ãå¹ ãé«ããå ¥åããŸãã ããã ãã§ãªããããã¹ããååŸããŠãã®ãµã€ãºãæšå®ããç®ã«èŠããªãdivã«è©°ã蟌ã¿ããã®divãç¹å®ã®å¹ ã§ã©ã®ãµã€ãºã«ãªã£ããã調ã¹ãéåžžã«ããªãããŒãªã¢ã«ãŽãªãºã ããããŸãã ãããŠåœŒã¯ãããã¹ãã®ãµã€ãºããã®ããã¹ãããã®ãããã¯ã«ã©ãã ããããããæšå®ããæ©èœãæš¡å£ãããããã®ãããã¯ãèšç®ããŸãã ãããŠããã®ã¢ã«ãŽãªãºã ãããªãŒã®ãããªãã®ãã€ãŸã 圌ã¯ããã©ãŠã¶ã®ããã«ãå¹²æžããªãã³ã³ããŒãã³ãã«ã€ãŸããããããå¢ããå§ãã芪ã³ã³ããŒãã³ããåã«ãŠã³ãããããã6ã7ãã¹ãè¡ããŸãã ãã®çµæããã©ãŠã¶ã®é©åãªããŒãžã移åãå§ãããã®ãã¬ãŒã ã¯ãŒã¯ã®ãµã€ãºå€æŽã«é¢ããéå³ãã¯ã£ãããšããããŸãã ããããäžæ¹ã§ããã¹ãŠã®ãã©ãŠã¶ã§ãŸã£ããåãããã«æ©èœãããšããå©ç¹ãããããã®è³ªåãæ倧éã«éããŠããããããã©ãŠã¶éã®äºææ§ã®åé¡ãå¿é ããå¿ èŠã¯ãããŸããã
ãã®éçšã§ãã³ã³ããŒãã³ãã¯éåžžã«å³ã«è¿ãããšãå€æããŸããã ãããŠãããããã¹ãŠã®ã³ã³ããŒãã³ãã¯ããããã3ã5ã¬ãã«ããŸãã¯7ã8ã¬ãã«ã®ç¶æ¿ãæã€javascriptã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ã§ãã ãããã®ããããã«ã€ããŠããã®ããžãã¯ã¬ã€ã¢ãŠãã«ãã£ãŠãµã€ãºãæšå®ãããèšç®ããã³èšå®ãããŸãã 次ã«ã芪ããµã€ãºãèšç®ãããã®çµæãå šäœãéåžžã«é¢çœãå°ããªãã®ãçæããŸã-ãããã®ã³ã³ããŒãã³ãã®divã«çŽæ¥æ¿å ¥ãããã¿ã°ã«çŽæ¥æ¿å ¥ãããã€ã³ã©ã€ã³csssã ãããã£ãŠãéåžžã«å€§ããªDOMããªãŒã§ããããšãããããŸãã
ãã®ã¬ã€ã¢ãŠããã©ã®ããã«æ©èœããããç解ããããšããŠãç§ã¯ãã®ãããªéåžžã«å¥åŠãªå Žæã«åºäŒããŸããã
ãã®ç¬éãç§ã¯éåžžã«æ°åãæªããªãããããã©ã®ããã«èµ·ããã®ã決ããŠç解ã§ããªãããšã«æ°ä»ããŸããã
ããã©ãŒãã³ã¹ã«é¢ãããã®ã§ããããšãä»ã§ãèŠããŠããŸããïŒ
å
šäœãæ¢ã«å§çž®ãããç¶æ
ã§çŽ2 MBãå æããŠããããããã¢ãã€ã«ã§ã®åäœã¯ã©ãã§ããïŒããªã©ã®ãã¹ããé©ãã»ã©ã®è² è·ã«ãªãããšã¯ãããŸããã ããããããã«ãããããããããã¯ç§ãã¡ã«ãšã£ãŠããã»ã©å€§ããªåé¡ã§ã¯ãããŸããããªããªããã»ãšãã©ã®ã¯ã©ã€ã¢ã³ãã¯äŒæ¥ã§ãããäœããèšå®ããå¿
èŠããããšãã管çããã«ã«è¡ãããã§ãã 補åã®è³Œå
¥åŸæåã®é±ããŸãã¯å°çã®ãããããããªãã¡ ããã¯ã¢ãããååŸããå¿
èŠããããŸãã ãããŠãã¯ãœç·ã®å°çãæã£ãŠãã人ã¯ã管çããã«ãæçµçã«ããŒãããããŸã§16ç§åŸ
ã€æºåãã§ããŠããŸãã ããã«ãããã§ã¯ããªã现ããã£ãã«ã«ã€ããŠèª¬æããŠããŸãã
ãã¬ãŒã ã¯ãŒã¯ã䜿çšãããšãæ確ã§éåžžã«è€éã§ãããã«ãããªããŸãã ã¢ããªã±ãŒã·ã§ã³èªäœã¯ã©ãã§ããïŒ ç§ãã¡ã¯ã¢ããªã±ãŒã·ã§ã³ã³ãŒãã«ä¹ã蟌ã¿ãŸããã
ã³ãŒãã«ã¯ã³ã¡ã³ããã»ãšãã©ãªãããšãããããŸãã ããã€ãã®é£ããå Žæã¯èª¬æãããŠããŸããã ãã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ã¯å¯çµåãããŠããŸãã 1ã€ã®ã¯ã©ã¹ã§ã¯ãªãã2.5åè¡ã®é·ãã¯ã©ã¹ã®ä»£ããã«ãéåžž1000è¡ã®3ã€ãŸãã¯4ã€ã®ã¯ã©ã¹ãåŠçããŸãããããã¯äºãã«éåžžã«å³å¯ã«èªèããŠãããããéä¿¡ããã€ãã³ããèªèº«ã«è»¢éããå
éšã®ç¶æ
ãå€æŽããŸãã ãŸããã¢ãã«ãšããžãã¹ããžãã¯ã®éãããã³ããžãã¹ããžãã¯ãšãã¥ãŒã®éã®å¢çã«ã¯éåžžã«å€§ããªåé¡ããããŸãã ãç¹å®ã®æ©èœããã«ãå®è£
ããéæ³ã®ããã«ãã®ãããªãã®ãšåŒã°ãããã¥ãŒã¯ã©ã¹ããããåæã«èªåèªèº«ãæç»ããåã³ã³ããŒãã³ããæç»ããŸããããã«ã次ã«ãå
éšã®ããã«ãããã³éç¥ãéä¿¡ããããšãã§ããŸããããã¥ãŒã¯ã©ã¹ãããµãŒããŒã«ç»ãããšããããããŸãã
ãããã£ãŠãïŒéåžžã«æ¡ä»¶ä»ãã§ïŒãã®ãããªmvcããããŸããããM + CVã§ããããšãå€æããŸããã ã€ãŸã ã³ã³ãããŒã«ãšãã¥ãŒã®å¢çã¯éåžžã«äžæ確ã§ãã ã¢ãã«ã«ã¯ããžãã¹ããžãã¯ããããã³ã³ãããŒã©ãŒã«ã¯ããžãã¹ããžãã¯ãããããã¥ãŒã«ã¯ããžãã¹ããžãã¯ãUIããžãã¯ããããã¢ããªã±ãŒã·ã§ã³ã®ç¶æ
ã3çš®é¡ãã¹ãŠã®ã¯ã©ã¹ã«åºãã£ãŠããããšãããããŸããã ãããã£ãŠãããšãã°ããã®ããŒã¿ãã©ãããæ¥ãã®ãã誰ãä¿¡é Œã§ãããã€ã³ãã§ããããã®ããŒã¿ãã©ãããæ¥ãã®ãããããŠçŸæç¹ã§ãã®ããŒã¿ã®æãä¿¡é Œã§ããã³ããŒã誰ãä¿ç®¡ããŠããã®ããç解ããããšã¯å°é£ã§ãããªããªããããã¯ã¢ããªã±ãŒã·ã§ã³ã®ããã€ãã®éšåã«ããããã§ãã
ãŸããExt JSãã¬ãŒã ã¯ãŒã¯èªäœããã¹ãŠã®ãŠãŒã¶ãŒããããªãã·ã¥/ãµãã¹ã¯ã©ã€ãã§æ§ç¯ãããã¢ãŒããã¯ãã£ã«åããããããšãå€æããŸãããããã¯ãååãšããŠããã¹ãŠã®UIã³ã³ããŒãã³ãããã®ã¡ã«ããºã ã«é¢é£ä»ããããŠãããããã°ã©ããŒããã¬ãŒã ã¯ãŒã¯ãæäŸãããã®ãç¥ããã«éžæããããã§ãã ãŸãããããªãã·ã¥/ãµãã¹ã¯ã©ã€ããæ£ãããã¿ãŒã³ã§ããã100ããŒãžã®ã¢ããªã±ãŒã·ã§ã³ãèŠããšããããç解ããããšããŠããããšãããããŸãããããããã®ããã«ã§ãã®ãã¿ã³ãã¯ãªãã¯ãããšã©ã®ãããªåœ±é¿ããããŸããããããŠåœŒå¥³ã¯äœãåŒããŸããïŒã
ãããŠãæåã«ãã€ãã³ãã¯æé»çã«èŠªã¯ã©ã¹ã«åé¡ããããã®çµæãããžãã¹ããžãã¯ãæã€ããã€ãã®ã¯ã©ã¹ã«åé¡ãããã»ã«ã³ããªã€ãã³ããçæãããããã«å€ãã®ã€ãã³ããçæãããããšãããããŸããã ãã®åŸããã¬ãŒã ã¯ãŒã¯ã«ãã£ãŠã€ãã³ãã®äžéšãç¡èŠãããã¢ãã«ãå€æŽããããšããã®ã¢ãã«ã¯ãèªåã®ããŒã¿ãå€æŽãããããšããã€ãã³ããçæããŸãã ããã«5ã€ã®ã¯ã©ã¹ã衚瀺ããããã®å€æŽã«ãµãã¹ã¯ã©ã€ããããŸãããããã®ã¯ã©ã¹ã¯ããã®ã¢ãã«ã®ç¶æ
ã«å¿ããŠç¶æ
ãå€æŽããŸãã
ãã®çµæã3æéåŸã«ãããã調åã®ãšããç»åãæ§ç¯ãããã¹ãŠã®ã€ãã³ããéåžžã«é¡äŒŒããååãæã¡ãã©ãã§ãonclickãããããšãç解ããŸãã ç解ããå¿
èŠããããŸããããã¯ãæŒãããã®ãã¿ã³ããã®onclickããŸãã¯æŒããé£ã®ãã¿ã³ããã®onclickã§ãã ãã¬ãŒã ã¯ãŒã¯ã¯ãä»»æã®ã³ã³ããŒãã³ãã®ãµãã¹ã¯ãªãã·ã§ã³ãçŠæ¢ããªãããã§ãã ã€ãŸã 誰ãã®ã¹ãŒããŒã³ã³ãããŒã©ãŒããç¹å®ã®ããã«ã®ãã¿ã³ã«ã¢ã¯ã»ã¹ããŠãonclickã§ãµãã¹ã¯ã©ã€ãã§ããŸãã ãããŠãããã¯åŒçšç¬Šã§ãªã³ã¯ãªãã¯ãããŸãã ãããã®ã³ã³ããŒãã³ãã«ã¯ç¬èªã®éžææ§ããªãããããã®ãããªããšãè°è«ããã®ã¯éåžžã«å°é£ã§ãã ã€ãŸã XPathã«äŒŒãComponentQueryãšåŒã°ããç¬èªã®ã¡ã«ããºã ãããããç¹å®ã®ååã§ç¹å®ã®ããã«ã«ãã¹ããããŠãããã¹ãŠã®ãã¿ã³ãèŠã€ããããšããRegExã¯ãšãªãäœæã§ããŸãã ãããã£ãŠãäœãããªãã¡ã¯ã¿ãªã³ã°ããããšãããšãäžè¬çã«ãç¹å®ã®ã€ãã³ãã«åå¿ããå Žæããã¹ãŠèŠã€ããããšã¯éåžžã«å°é£ã§ãã å€ãã®å Žåãããã«ãããã¢ããªã±ãŒã·ã§ã³ãããªãŒãºãããšãã«ã€ãã³ããµã€ã¯ã«ãçºçããŸãããããã¯ãåã€ãã³ããåžžã«è¡šç€ºãããåŠçãéå§ããããã§ãããã®ãµã€ã¯ã«ã¯ç¡éã§ãã ããã®ã€ãã³ãããã§ã«ç§ã«å±ããŠããå Žåãç§ã¯ãããåŠçããŸãããã®ããã«ããªãããŒãæžããŸã§ããã以äžåŠçããŸããã ã€ãŸã è€éãªã¢ãŒããã¯ãã£ã«ã€ããŠã§ãã
ãã¹ãŠé 調ã§ãã
ãããŠä»ã倧ããªè³ªåããããŸãã ãã¥ãŒããžãã¯éãç°ãªãã¯ã©ã¹éã§ã®æ©èœã®åºãããšãèšèªãæè¡ããã®ä»ã®éã®è²¬ä»»ç¯å²ã®éåžžã«è²§åŒ±ãªå¢çã®éã®å¯æ¥ãªé¢ä¿ããã倧èŠæš¡ãªã¢ããªã±ãŒã·ã§ã³ã®ã³ãŒãã§ã¯ãéåžžããã§ã¯ãããŸãããïŒ
ãããŠãããèµ·ãã£ãã ãããŠãå®éã«ã¯ããªããããèµ·ãã£ãã®ãã¯æããã§ã¯ãããŸããã ç§ã®æèŠã§ã¯ãããè¯ããããããªãããã§ãã ããããèŠããã«ãArrayãªããžã§ã¯ãããã§ãã¯ããæ®ãã¯ãããã©ã®ããã«è¡ããããã§ãã ãããŠããã®æ°žé ã®ç©èªã¯ããã¹ãã®äœæãéå§ãããšãã¢ããªã±ãŒã·ã§ã³ã«ã€ããŠå€ãã®ããšãåŠã¶ãšããããšã§ããå®éã1ã€ã®é¢æ°ãåŒã³åºãããã«15åã®ãªããžã§ã¯ããããã¯ããã®ã¯éåžžã«hemoãªã®ã§ãããã»ã©å€ãã®æ¥ç¶ãè¡ãå¿
èŠã¯ãããŸããã ãããŠããã®ç¹ã§ã圌ãã¯ãã¹ãããããããªããã«åããŸããã
調æ»çµæã¯äœã§ããïŒ ãã¡ããããã®ãããªçµè«ã¯...
ããããæ¬åœã«ãæ¬åœã®çµè«ã¯äœã§ããïŒ
éçºè
ãç¹ã«Javaã§å士è«æãæè·ããããšããªãéçºè
ã«ãšã£ãŠããã¬ãŒã ã¯ãŒã¯ãç解ããã®ã¯éåžžã«é£ããããšã 第äºã«ãåºãŠããã³ãŒãã¯éåžžã«çŽããããã§ãã å€ãã®æ¥ç¶ãããããã¹ãŠã®ã¯ã©ã¹ããäºããç¥ã£ãŠããã衚瀺ãããã€ãã³ãã¯èª°ã«ãå¶åŸ¡ãããŸãããããã«ãããã¢ããªã±ãŒã·ã§ã³ã®ç¶æ
å€æŽãè±ç«ã®ãããªççºã«ã€ãªãããŸãã , - ⊠, . , , , JS-, html, CSS . ? ⊠? 40-60 . « », UI JS- JS-. ã€ãŸã , , , , .
, â ? , , . . publish/subscribe, mv, , mvc. dependency injection , , âŠ
, , , , , â , , , , , . , , , , , - , .
: , -, API, â . , -, - , JS- - , , , .. .
, , , . - . , . UI .
( ) â , « , ». , , , , , . ã€ãŸã .
, , - - , - , , - .
, . , ? .
, , PHP, JS , .
ãããŠããããã®æ°åã®ãã¬ãŒã ã¯ãŒã¯ã¯ãããããã2滎ã®æ°Žãšåæ§ã«ãç¹ã«ãã©ãã¯ã¹ãã¬ãŒã ã¯ãŒã¯ã§äºãã«é¡äŒŒããŠããããšããããããŸã-ããã¯çŽæ¥ãããªãã®ååãJSãã€ã³ããšèããŠãã ãããã ãããŠãGoogle Web Toolkitãé·ãéæ»ãã ãã®å°çãããç§ãã¡ã¯ã©ããããããéžæããªããã°ãªããŸããã ã©ãããïŒ ãã¡ãããäœããèããä»ã®äººãã€ã³ã¿ãŒãããäžã§äœããéžæããæ¹æ³ã確èªããçµæãçãããã«ã©ããã«ç»ãå¿
èŠããããŸããã
ãã®çµæãçµæãæ¶å»ããããšã¯ã§ããŸããã§ãããçµæã¯ãã¹ãŠéåžžã«ç°ãªããããæ£çŽãªè©äŸ¡ãè¡ãå¿
èŠããããŸãã ãããã£ãŠãåœå±ã«å¯ŸããŠã¯ãäŒæ¥ãããããçš®é¡ã®ãµã€ããã©ã®ãããªãã¬ãŒã ã¯ãŒã¯ã䜿çšããŠããããçŸå®çãã€å
¬å¹³ã«è©äŸ¡ããè©Šã¿ãè¡ãããŸããã
ããããã¹ã©ã€ããåãåã£ãã®ã¯äŒæ¥ããµã€ãã«ã€ããŠã§ãããããã¯æ£çŽãªæ°åã®ãŸãŸã§ãã ããã¯ãGithubãããŸããŸãªãã¯ãããžãŒã«ç»å ŽããŠããäžè¬çã«èšè¿°ãããã³ãŒãã®è¡æ°ã§ãã ãã©ã¹ãŸãã¯ãã€ãã¹ã
ãã®ã¹ã©ã€ãã¯ã2015幎ã«æµ·å€ã§è¡ãããäž»èŠãªã«ã³ãã¡ã¬ã³ã¹ã§ãã©ã®ãã¯ãããžãŒãã©ã®ããã«å ±åããããã瀺ããŠããŸãã
ãããŠãã©ãã§ãçµµã¯ç°ãªããŸãã
ãã®åçã§ã¯ãGoogleã®åŸåã人æ°ãæ€çŽ¢ããŠããŸãã ãããã®ããã€ãããããŸã...ããã§ãããèŠããšãReact jsãšAngular jsãé€ããã¹ãŠã®ãã¯ãããžãŒãå®éã«æžå°ããŠããããšãããããŸãã
DojoãYahoo ui dipããããŠæããExt jsã®å€ããã¬ãŒã ã¯ãŒã¯ãæ¡çšãããšããã¹ãŠãè¡°éããŸãã ãã®ç¹ã§ãReact jsãšAngular jsãšæŠã人ã¯ããŸãããããã¯ããããå¯äžã®åé¡ã ããã§ãã
ãã®ãããªèª¿æ»ã§ã¯ã2.5å人ã®éçºè
ã調æ»ãããããããã1ã€ã®ãã¯ãããžãŒãéžæããŸããã
ããã¯ãã¯ã©ãŠãIDEãäœæããã³è²©å£²ããã¢ã¡ãªã«ã®äŒç€Ÿã§ãã çµæã¯ããŸã£ããç°ãªãåçã§ããã ã€ãŸã 補åããµããŒãããéçºè
ã¯ãŸã 匷åã§ããããšãã°ãäžè¬çã«ã¯æ代é
ãã®Backboneã§ãããããã«ããããããããŸã å®æäžã®ãããžã§ã¯ããæ°å€ããããŸãã
ãããŠããããã·ã¢åžå Žã§ãã ç§ãã¡ã¯å®å®ã§åããŠããªãããšã¯æããã§ãããäŒç€Ÿã§è£œåãäœãå¿
èŠããããå€ãã®è£œåãšèšç»ãããã誰ããéãå¿
èŠãããããã誰ãéãããšãã§ããããè©äŸ¡ããããšããŸããã ããã§ãäžè¬çã«ãåçã¯ç°ãªããŸãã ExtJSã®ããŒãžã§ã³ã®1ã€ïŒããªãé·ãããïŒãšBackboneã®ããŒãžã§ã³ã®ããã€ãïŒ2008幎ã«çãŸããããïŒã§ãäœããã®åœ¢ã§èª°ãã察åŠããŠããããšãå€æããŸããã ã€ãŸã ããã¯ããã®ãã¬ãŒã ã¯ãŒã¯ã§ãã®äººããªã¢ã«ã¿ã€ã ã§äœããè¡ãæºåãã§ããŠããããšãä¿èšŒãããã®ã§ã¯ãããŸããããããã«ãããããããReact jsãšAngular jsã®æé·ããŠããæè¡ã®äžã§ãBackboneãšExtJSãçªç¶çŸããããããããããããã®å€ãããããŸãã Reactã®ç¥èãè¶
ããããã¯ããŒã³ãžã§ã ããã¯ãã·ã¢åžå Žã®ãã°ãããåçã§ãã
ãã®çµæãããããã¹ãŠã®ç 究ãå¯èœãªéã暪æããèå³ã®ãããã®ãæ®ããŸããã 圌ãã¯ããã«Dojoãè¿œå ããæåã«åãæ¿ãããExtJS 6ãè¿œå ããŸããã Dojoã¯ãParallelsã§äœ¿çšãããŠãããParallelsãšå¯æ¥ã«çµ±åãããŠããããã®äžã«äœããæžãããŠããããã§ãã
ããã§ã¯ã5ã€ã®ã¹ã©ã€ãã倧èã«åœ«ãããŠããŸãã ããã«ãã話ã¯éåžžã«éå±ãªã®ã§ãç§ãã¡å
šå¡ã«åããªãã£ãçç±ã«ã€ããŠã¯èªããŸããã ç§ã¯ããã§æ¢ãŸããŸããã èªåã®ããã«å匷ããããã«ç»ã£ãããèªåã®ããã«äœããã®çµµãæãã§ãããã ç®æšã«åºã¥ããŠè©äŸ¡ããŸããã ã¿ã¹ã¯ã®1ã€ã¯ãæ¢åã®ã³ãŒãã®äžéšã«ãã¯ãããžãŒãå€ããå°ãªããåã蟌ãããšã§ããã ã¢ããªã·ãã¯ãªãã¬ãŒã ã¯ãŒã¯ã§ã¯ãªããåŸã
ã«å°å
¥ã§ããããã€ãã®ãã¯ããã¯ãšã©ã€ãã©ãªã®ã»ãããå¿
èŠã§ãã ãã®ç¹ã§ãKnockoutã¯ãã¬ãŒã ã¯ãŒã¯ã§ã¯ãªããUIã©ã€ãã©ãªã§ããDojoã¯åãªããã³ã¢ã¹ã§ãããExtJS 6ã¯æ°ããã¢ãŒããã¯ãã£ãå°å
¥ããŠããŸãããå®éã«ã¯ExtJS 4ãšå€§å·®ãªãããšãããããŸããã äœããã®çš®é¡ã®ãµããŒããç»å Žããã¢ãã€ã«ããã€ã¹ã§ã®åäœãæ¹åãããŸããããã³ã³ã»ããã¯å€æŽãããŠããŸããã ããã®ã¢ãŒããã¯ãã£ã¯å°ãè¯ããªããŸããããç§ãã¡ãæšå®ããããã«ãExtJS 6ã§æ£çŽã«ã¢ãŒããã¯ãã£ãæžãæããã®ãšã»ãŒåãã§ããä»ã®ãã¬ãŒã ã¯ãŒã¯ã§ãããæ¹é ããããšãææ¡ããã®ãšåãã§ã-ã³ã¹ãã¯ã»ãŒåãã§ãã ãã®çµæããã¹ãŠåãUIã¬ã€ã€ãŒããã¹ãŠåããããªãã·ã¥/ãµãã¹ã¯ã©ã€ãã®ããã«æåŠãããŸããã
å®éãçã®åè£è
ã¯2人ããããŸããã§ããã
æåã®-AngularJS-æãããªçç±ã§ãäŒç€Ÿã®ããã€ãã®éšéãšäžéšã®å€éšã¢ããã€ã¶ãŒã«ãã£ãŠãŸã éåžžã«ç©æ¥µçã«æ¯æãããŠããŸããã ãããã圌ã«ã¯éåžžã«èå³æ·±ããžã¬ã³ããçããŸããã äžæ¹ã§ãããã¯æ¬åœã«éåžžã«è¯ã解決çã«èŠããŸããããäžæ¹ã§ãHabrãšãäžè¬çã«ã¯è±èªã®ã€ã³ã¿ãŒãããã§å€ãã®èšäºãèŠãŸããããšãŠãã¯ãŒã«ã§ãããç§ãã¡ã¯æ··ä¹±ããŠããŸãã
ãã®åé¡ã«é¢ããç§ãã¡ã®èŠè§£ã¯ãç§ãã¡ã2ã€ã®ãããžã§ã¯ããæã£ãŠããããŒãžã§ã³1ãæ¡çšãããœãŒã¹ã³ãŒãã座ã£ãŠåžããšããã®ãã¬ãŒã ã¯ãŒã¯ã¯åå¥ã®éšåã«åå²ããéåžžã«åªããã¢ãžã¥ãŒã«æ§ãæã¡ããããããç¬èªã®å°ããªæ©èœãäœããŸã-ããã¯éåžžã«äŸ¿å©ã§åªããŠããŸãã ããããåäžã®ã¹ã¿ã€ã«ã®ãã¡ã€ã«ã¬ã€ã¢ãŠãã¯ãªããåäžã®ã¹ã¿ã€ã«ã®å€æ°ã®åœåãåäžã®ã¹ã¿ã€ã«ã®ã³ãŒããã©ãŒããããã€ãŸã ããã¯ã©ãããããããã¬ãŒã ã¯ãŒã¯ã§ããŒãã«å°éããããã®ã§ããããããŒãã€ã³ãã¯å€±æããŸãã ãããŠãæéã®çµéãšãšãã«ããã®ã¬ã€ã¢ãŠãã¹ã¿ã€ã«ã¯å€ãããŸãã ãŸããã³ãŒãã«ã¯ãè¯ãæå³ã§å¥ã®ã¯ã©ã¹ã«ããå¿
èŠãããå Žæããã°ãã°ããããšãèªåããä»ãå ããŸãããäœããã®çç±ã§ããããã¯é¢æ°ãæã€ãªããžã§ã¯ãã®åœ¢ã§ããã«æŒã蟌ãŸããŸãã ãããã°ãé£ãããããŸããŸãªããªãããŒãªãããžãã¯ããããã€ãã®æ°ãããã¯ãããžãŒãšã®çµ±åã¯éåžžã«å°é£ã§ããããã¯ãæšæºãå®å
šã«ç¬èªã®ãã®ã§ããããã§ãããã®ããžãã¹ãçµã¿ç«ãŠãæ¹æ³ãæ確ã§ã¯ãããŸãããããã®åé¡ã¯è§£æ±ºã§ããŸãã ããããææªãªã®ã¯ãåœå±ã«è²©å£²ã§ããªãã£ãããšã§ããã¿ããªããã¿ããªãæ°ããããŒãžã§ã³ãäœã£ãŠããã®ã«ãã³ãŒãã«äºææ§ããªãããšèšã£ãããã§ãã 次ã«äœããã¹ããã¯äžæã§ãã
ããããŸããã圌ãã¯ããŒãžã§ã³2ãèŠèŽããŸãããããŒãžã§ã³2ã¯ãäžè¬çã«èŠãç®ã¯çŽ æŽããããå¿
èŠãªãã®ããã®ãããªããã¯ãšã³ãæåã®ã¢ãããŒãããã¹ãŠãæ£ã«é
眮ãããŠãããéåžžã«åªããTypeScriptæ§æãå¿
èŠã§ãã ããããããã¯ããŸããŸãããäžè¬ã«ããªãªãŒã¹ã®å¯èœæ§ã¯ãããŸããã ç§ã¯ãæãéèŠãªããšãšããŠããã®ã¹ãŒããŒã¡ã¬ã°ãŒã°ã«ç€Ÿãç解ããŠããªããããã¯é·ãéPythonã§åããŠããŸãã... pythonãããŒãžã§ã³2ãã3ã«åãæ¿ããæ¹æ³ã®äŸã¯ããããè¡ãæ¹æ³ã®åãªãæç§æžã®äŸã§ãã å€ãããŒãžã§ã³ã®æ§æãç¶æããå¿
èŠããããããã¯ã¯ãŒãäºæã§ãªããã°ãªããŸããã ãããŠãããã§ããã€ãã®å°çã®ãããªå°çã¯ç°¡åã§ãã äºææ§ããªããªããŸãã ãç§ãã¡ã¯ä»ãäœãæ°ããããšãããŠããŸãã ãã¡ããã¢ã«ãã¡çã§ããããã¥ã¡ã³ãã¯ãããŸããã éå§æã¯äžæ確ã§ãããæãéèŠãªããšã¯ã3ã€ã®èšèªãã¹ãŠã§ç°ãªãæ§æã䜿çšããŠããããšã§ãã ãŸããç
æ°ã«ãªããæ°ã«ããªãã§ãã ããïŒ
ããã¯è§£æ±ºçã§ããïŒ ç³ãèš³ãããŸããããããã¯ããã³ããšã³ãéçºãšã³ãžã³ã§ããã誰ãã倧奜ããªæãã¯ãŒã«ãªãã¬ãŒã ã¯ãŒã¯ã§ããïŒ ãããŠã4人ãçŸåšAngularJSã§æžããŠãã管çè
ã¯ã©ãããã°ããã§ããïŒ æ¥ãŠãèšã£ãŠãã ããïŒãã¿ããªãããªãã¯ç¥ã£ãŠãããç§ãã¡ã¯ãã 座ã£ãŠãã¹ãŠãæžãçŽãã ç§ãã¡ã«ã¯äœãè¯ããªãããšã¯ãããŸãããæ°ããããŒãžã§ã³ã«ç§»è¡ããã ãã§ããã -ããªãåãã®ïŒã-ããŸãã圌ãã¯å€ããã®ãæšãŠãããã ãããŠããã¡ããã圌ãã¯ç§ã«å°ããŸãïŒãèããŠãã ãããããããPythonã®ãããªãã®ããããŸããäŸãã°ã2ãã3ã§ãã ã€ãŸã äœããã®çš®é¡ã®ããŒãµãŒãèšå®ããŠã¿ãŸããããã³ãŒããåãã©ãŒãããããäœããã®åœ¢ã§ã¢ã»ã³ãã«ãéå§ããŸãã ãããããããã ããã«ãããã ãã§ãªãããããããã§ããã¹ãŠãå€ããŸãã ææ¥ã¯å¥ã®æ§æã«ãªããŸããã ãããŠãããã¯èª°ã«ã売ãããšãäžå¯èœã§ãã åç· åœ¹äŒã¯ç§ãèŠãŠãææ¥ã®ããã«ç§ã解éããŸããããããã¹ãŠã§ãã ã€ãŸã AngularJSãã©ããããã¯äžæã§ãã
ããã«èª¿æ»ãéå§ãã2çªç®ã®è§£æ±ºçããããŸãã-ããã¯FacebookãäœæããReact JSã§ãã é©ããããšã«ãããã¯ãã¬ãŒã ã¯ãŒã¯ã§ã¯ãªããåãªãUIã©ã€ãã©ãªã§ããããšãå€æããŸããã éåžžã«æ確ãªç解å¯èœãªæ§é ãæã¡ãããã¯åäžã®ããŒã¿ãããŒã§ãããããŒã¿ã®ã¿ãåãåããããããæç»ããã ãã§ããããšã¯æããã§ãã åã³ã³ããŒãã³ãã¯åé¢ãããŠãããåã³ã³ããŒãã³ãã¯ãå
¥åãšããŠåãåããã®ãæçµçã«æç»ãããã®ãå
éšç¶æ
ãšããŠä¿åãããã®ã®å®£èšãæã£ãŠããŸãã ããããäžè¬çã«ãã©ããããæ¥ç¶ãããããã©ã®ããã«æ©èœããããåŠã³ãç¥ãå¿
èŠãããããçš®ã®éæ³ã®ãã£ã«ã¿ãŒããã®ä»ã®ãŽã...ãã®ç¹ã§ããã¹ãŠãäºæž¬å¯èœã§éåžžã«ã¯ãŒã«ã§ãã ããã©ãŒãã³ã¹ã調æŽããããã®éåžžã«ç°¡åãªæ©äŒãããããšãæ°ã«å
¥ã£ãŠããŸãããããã©ã®ããã«æ©èœãããããããã©ã®ããã«äœ¿çšããããæ確ã§ãããããã«ã€ããŠéåžžã«è€éãªãã®ã¯ãããŸããã å¿
èŠã®ãªããµãŒããŒã¬ã³ããªã³ã°ããããŸãããããã¯çŽ æŽãããããšã§ãã
Facebookãç©æ¥µçã«æšé²ããŠããFluxã¢ãŒããã¯ãã£ã¯ããããŸã§ãã£ãšé²ãã§ããŸãã ç§ãã¡ã¯ãã¹ãŠãèŠãŠããããç§ãã¡ã¯ããã§ãã£ãããã«ããŸããŸãã ã£ãã äžæ¹ã§ããã®äžæ¹åã®ããŒã¿ãããŒãããã³åæåŠçã¯ãã¢ããªã±ãŒã·ã§ã³ã®ç¹å®ã®ç¶æ
ãæ確ã«ç解ãããã¹ããŒããã·ã³ã®ãããªãã®ã§ãã ããããã¢ããªã±ãŒã·ã§ã³ãç¬ç«ãããããã¯ã«åå²ããæ¹æ³ãšãAngular JSã®ããã«ãããããã€ãã®åå¥ã®ãšã³ãã£ãã£ã«åå²ããæ¹æ³ã¯ããŸãæ確ã§ã¯ãããŸããã ã©ããããã¹ãã¢ããŒã¿ãæ ŒçŽãããã©ãŒã ã«ã¯æããã«ã¢ã³ããã¿ãŒã³ããããåæã«ããžãã¹ããžãã¯ãå®è£
ãããã®ããŒã¿ãå€æŽããããã®ããžãã¯ãå®è£
ããŠããããã§ãã ã€ãŸã ã¢ãã«ã§ãããšåæã«ã³ã³ãããŒã©ãŒã§ããããŸãã ãŠããŒã¯ãªååã®ã€ãã³ããæã€åäžã®ã€ãã³ããã¹ãšããŠã®åäžã®ãã£ã¹ãããã£ãšããã¢ã€ãã¢ã¯ãã³ãŒãå
ã§äœããå€æŽãããç®æããã°ããèŠã€ããè¿
éãªãªãã¡ã¯ã¿ãªã³ã°ãå®è¡ããã³ã³ããŒãã³ããçžäºã«åé¢ããŠåäœãããšããç¹ã§éåžžã«åªããŠããŸãã ãããããã€ããã¯ã¹ãã©ã®ããã«æäŸãããããããšãã°ãäºãã«ç¬ç«ããŠåäœãããšåæã«åãã€ãã³ããçæãã1ã€ã®ç»é¢ã§2ã€ã®ãŠã£ã³ããŠãéãæ¹æ³ãªã©ã¯å®å
šã«ç解äžèœã§ã...
æŠããŠãFacebookã¯ã³ãŒãã«åŒµãåºããŠããŸããã§ãããããã«ã¯ãããŸãããããã¯ãã¬ãŒã ã¯ãŒã¯ã§ã¯ãªããäžçš®ã®ã¢ãŒããã¯ãã£ã®ã¢ã€ãã¢ã§ãã ãŸããã€ãã³ããã¹ãšåŒã°ãã80幎代ã«çºæãããŸããã
ããã£ã ãã®ãŽããå®è£
ãããµãŒãããŒãã£ã®ãã¬ãŒã ã¯ãŒã¯ãèŠãŠã¿ãŸãããã ç§ã¯5ã€ã®äœåãã¬ãã¥ãŒããŸãããããããã¯ãã¹ãŠ2滎ã®ããã§ãããAngularJSããããã®ç¹ã§ã¯ããã«æªããExt JSãããã¯ããã«æªãã§ãã ã¯ããã¢ãŒããã¯ãã£ãã©ã®ããã«æ©èœãããã確èªããæ¹ãè¯ãã§ãããã¹ãã¢ã®åçãªäœæãã¢ã³ããŒããããã³ã¹ãã¢éã®UIã³ã³ããŒãã³ãã®äœããã®ãªã³ã¯ã«ãããã¢ããªã±ãŒã·ã§ã³ã®äžéšãçžäºã«åé¢ããŠåäœãã 2ã€ã®ã³ã³ããŒãã³ãã¯ãåããã¥ãŒãš2ã€ã®ã³ã³ãããŒã©ãŒã䜿çšããŠåãããã«äœæããããããã®ã€ãã³ãã§äºãã«æŠãããšã¯ãããŸããã§ããã ãããã£ãŠããã®ç¹ã§ãWebã¢ããªã±ãŒã·ã§ã³ã®éçºã§ã¯ããã¹ãŠãéåžžã«å¥åŠã§ãã å€ãã®å Žåããããè¡ãæ¹æ³ã¯æ確ã§ã¯ãããŸããã ãããããããã®ãã¬ãŒã ã¯ãŒã¯ã§ã¯ãéå»5幎éã®javascriptã®éçºããååãnpm-modulesãã©ã€ãã©ãªæ©èœã®ã¬ã³ããªã³ã°ã®åœ¢åŒãES6ãµããŒãã®åœ¢åŒã§èŠãããšãã§ããŸã-ããã¯è¯ãããšã§ãã ãã ãããã¯æ°ã«ãããã€ããžã¯ã¯ãããŸãããäžè¬çã«ã圌ãã¯ãã¹ãã€ã³ãã©ã¹ãã©ã¯ãã£ãæããããã¹ããæžãæ¹æ³ã¯æ確ã§ã¯ãããŸããã ç¹ã«ãã®æ°ããã¹ãŒããŒéå±€ã§ã¯ããã¹ãã®æžãæ¹ãäžæ確ã§ãã ãããŠãåœéåã¯ãããŸããã
éäžã§ãã¿ã€ãã¹ã¯ãªããã«ééããŸããã ãã®ç¹ã§ãããã¯äžè¬ã«ç匟ã§ãã
æãçŽ æŽãããããš-èªåã§ããã€ã¯ããäœããããšæãããŸããŸãªéçºè
ããäžå¿
èŠãªåµé æ§ãåãé€ãããš-ããã§å®ç§ã«ã§ãããšæããŸããã Typescriptã¯ãã©ã³ã¹ã³ã³ãã€ã©ã§ãã åãèšå®ããã ãã§ãåãæ§æã§javascriptã®ãããªã³ãŒããèšè¿°ããŸãã ã€ãŸã åå€æ°ã«ã¯åããããè€éã«ãªãå Žåããããåæã«è€æ°ã®åãæã€ããšãã§ãããã®çµæããããã®åãåé€ããããããã®åãåçŽã«åé€ããããŸã£ããåãæ§æãæã€javascriptãã¡ã€ã«ãäœæãããŸãã ECMAScript 2006èŠæ Œã«æºæ ãã䟿å©ãªæ§æã·ã¥ã¬ãŒãããã€ããããŸãã ECMAScript 6ãã5ã®åãªãã³ã³ãã€ã©ã
ããšãã°ãå¥çŽå
šäœãäœæã§ãããšããã€ãŸããã®ãããªè€éãªããŒã¿åããããŸãã ãã¹ããããæ§é ãæã€ãªããžã§ã¯ããããããã®ãããªunningãªãã¹ãããããªããžã§ã¯ããAPIããæ¥ãŠããããšããŸãã¯ããšãã°ãã£ãŒã«ããç¹°ãè¿ãããŠããããšãäºåã«ç¥ã£ãŠããã¢ããªã±ãŒã·ã§ã³ã®ããŸããŸãªéšåããããŸãã ãããã¢ããªã±ãŒã·ã§ã³ã®å¥ã
ã®éšåéã®æ¥çå€ã®äžçš®ãšããŠäœ¿çšããŸãã 誰ããäœããã®ããžãã¹ã€ã³ã¿ãŒãã§ã€ã¹ã«çŠç¹ãåœãŠãŠãã®ããžãã¹ããžãã¯ãäœæããŸãã ãŸããã³ã³ãã€ã©ã¯ããããã®ãã£ãŒã«ããžã®ã¢ã¯ã»ã¹ãæ£ããæŽçããŠããå Žåããã£ãŒã«ãã®æ£ããåãæå³ããŠããå Žåãã³ã³ãã€ã«ã§ãããã©ããããã«ããããšãã«ããã«ãã§ãã¯ããŸãã
次ã«ãã€ã³ã¿ãŒãã§ãŒã¹ããããŸãã å°æ¥ãèŠæ®ããŠ-ç§ãã¡ãæžãããã¬ãŒã ã¯ãŒã¯ã¯ã€ã³ã¿ãŒãã§ãŒã¹ã«å€§ããåºã¥ããŠããŸãã ç§ãã¡ã¯ãåºäœã®ååã«å°ãããããå°ããªè²¬ä»»é åã«åå²ããããŸããŸãªã¯ã©ã¹ãå°ããªã€ã³ã¿ãŒãã§ãŒã¹ã«äŸåãããŸãã ã¢ããªã±ãŒã·ã§ã³ã®ãã«ãããªã³ã°ã倧ãããªã£ãŠããããšãããããŸãã
Pythonã®å Žåãšåæ§ã«ãäžè¬çãªãµããŒãããããŸãã Pythonã®ããã«ãã³ã¬ãŒã¿ããããC ++ã®äžçã§ã¯æ
£äŸãšãªã£ãŠãããžã§ããªãã¯ããããç©æ¥µçã«äœ¿çšããŠããŸãã ãŸããè€ååããããŸãã ãŸãã«ãåé¿ã§ããªãå Žåã¯ããã®å€æ°ã«æååãŸãã¯æ°å€ã®ãããããå«ãŸãããšèšãããšãã§ããŸãã 圌ãããã§ããŸãåäœããŸãã
ãã®çµæããã®ç 究ã®åŸã質åã¯ããã«å€ããªããŸããã ã©ã®ã¢ãŒããã¯ãã£ãéžæããŸããïŒ ã©ã®ãœãªã¥ãŒã·ã§ã³ãæ£ããã§ããïŒ ECMAScript 6ã®åœ¢åŒã®javascriptã®éçºã«é
ããã«ã€ããŠããæ¹æ³ã¯ïŒ UIã³ã³ããŒãã³ãã®ã©ã€ãã©ãªã¯ã©ãã§å
¥æã§ããŸããïŒ
ãã®ç¹ã§ãExt JSã¯ææãä¿æããã®ã«éåžžã«ç©æ¥µçã§ãã ç¬èªã®ã¢ã»ã³ããªãåœéåã®ã¡ã«ããºã ãæ確ãªã¢ãŒããã¯ãã£ãªã©ãåããŠããŸãã ã€ãŸã ãã®åŸèµ·ãã£ãããšã¯å¥åŠã§ããããšãå€æãããã代æ¿æ段ã¯ãªãã ãŸãã圌女ã¯ããã§ããã圌女ã¯èªåã§ãããªããã°ãªããŸããã ãã®çµæãTypescriptãã¬ãŒã ã¯ãŒã¯ãå¿
èŠã§ããããã®æç¹ã§èª°ããTypescriptãã¬ãŒã ã¯ãŒã¯ãæãã§ããŸããã ãªã-誰ãæãã§ããŸããã
ããŠãäœããã¹ããïŒ èªåã§ã¿ã¹ã¯ãæžããŸãããã JSãšã³ã³ãŒããŒã¯ã³ãŒããèšè¿°ããå¿
èŠããããŸãã ã¬ã€ã¢ãŠãèšèšè
ã¯ãçµçããŠèšèšè
ãšããåãããå¿
èŠããããŸãã æããã«ããã¶ã€ããŒãç解ã§ããããã«UIã¬ã€ã€ãŒãã§ããã ãã·ã³ãã«ã«ããå¿
èŠããããããã°ã©ããŒãã³ã³ããŒãã³ããã²ã©ãç¶æ¿ããã«3ã¬ãã«ãŸãã¯4ã¬ãã«ã§CSSã¹ã¿ã€ã«ãã²ã©ãç¶æ¿ããã«ç解ã§ããããã«ããå¿
èŠããããŸãã æ確ã§ããããããã¢ãŒããã¯ãã£ãããã¯ãšã³ãéçºè
ãç解ã§ããã³ãŒããäœæããå¿
èŠãããã責任ã®é åãåé¢ããå¿
èŠããããŸã-åå¥ã®ã¬ã€ã¢ãŠããåå¥ã®ã³ãŒããåå¥ã®ã³ã³ãããŒã©ãŒãåå¥ã®ããŒã¿ã¹ãã¬ãŒãžãã¢ããªã±ãŒã·ã§ã³ç¶æ
ã1çš®é¡ã®ã¯ã©ã¹ã¿ã€ãã«è©°ã蟌ã¿ãã¢ãã«ãšåŒã³ãŸã ãããŠãæãéèŠãªããšã¯ãããå€ãã®å¢çãèŠåãããã³æšæºïŒããŒãã³ã°ãã³ãŒãã®ãã©ãŒãããããã¡ã€ã«ã¬ã€ã¢ãŠããªã©ã§ãã ãããŠåæã«Typescriptã§ã ãããŠåæã«ãå
šäœãæ¢åã®ã³ãŒãã«åã蟌ãŸããå¿
èŠãããããããã®å
šäœãã¢ããªã·ãã¯ãã¬ãŒã ã¯ãŒã¯ã§ã¯ãããŸããã
æçµçã«ãEste.jsãšãããã¬ãŒã ã¯ãŒã¯ã䜿çšããŸããã 圌ã¯ããªãã«äœãèªããŸãã;圌ã¯æãé©åœçã§é©æ°çã§ããã 圌ãäœããªããªããŸã§ã圌ãã¯ã¹ã ãŒãºã«ã³ããŒããŸããã
æåŸã«ãããã€ãã®åé¡ããããŸããã
æåã®åé¡ã storeã¯æµåçãªã¢ã³ããã¿ãŒã³ã®äžçš®ã§ããããšãããããŸãã å®éã«ã¯ãè¯ãããšã¯äœããããŸããã ãã®çµæãããŒã¿ãä¿åããŠå€æŽã§ããã¯ã©ã¹ã«æ»ããã³ã³ãããŒã©ãŒã®ããžãã¹ããžãã¯ãåå¥ã«åå²ããŸããã ããã¯ãç¶æ
ãæã€ãªããžã§ã¯ããå¥ã
ã«ææã¡ãããšãã«ãã©ãã¯ã¹éçºãè¡ãããå Žæãšã»ãŒåãã§ãã ãã®ãªããžã§ã¯ãã«ã¯ãåã«ã¹ãã¢ãšåŒã°ããç¶æ
ããããŸãã
ãããªæãã§ããã
次ã®ãããªçµæã«ãªããŸããã
ã€ãŸã AngularJSãšã»ãŒåããã¢ãžã¥ãŒã«ãšåãã¡ã«ããºã ãæã€åé¢ãããã¯ã åã¢ãžã¥ãŒã«ã«ã¯ãè€æ°ã®ã³ã³ãããŒã©ãŒã®1ã€ãšéä¿¡ãã1ã€ä»¥äžã®ã¹ãã¢ããããŸãã ãããŠæçµçã«ããã®å
šäœããã¥ãŒãšã¯å¥ã«æ©èœããŸãã Viewã¯ã¹ãã¢ããŒã¿ã®ã¿ãèªã¿åããåäžã®ãã£ã¹ãããã£ãŒãã³ã³ãããŒã©ãŒéã§åæ£ããç¹å®ã®ã¢ã¯ã·ã§ã³ãçæããŸãïŒå®éã«ã¯ãåäžã®ãããã¯ã§ã¯ãªããååé¢ãããã¯ãç¬èªã«æã€ããšãã§ããŸãïŒãã³ã³ãããŒã©ãŒã¯ããããã€ãã³ãã«ãµãã¹ã¯ã©ã€ãããå¿çãããã©ããã決å®ããŸããã®ã€ãã³ããã©ããã ãã®çµæãç§ãã¡ã®ã¢ããªã±ãŒã·ã§ã³ã¯ãäºãã«åã蟌ãŸããã¢ããªã±ãŒã·ã§ã³ã®ã»ãããšããŠæ©èœããããããããã©ãã¯ã¹ã®å
åŽã«ãããŸãã ããã¯ããã¥ãŒãåçŽã«ãã¹ããããã³ã³ãããŒã©ãŒãåé¢ãããŠããéå±€åMVCã§ãã
2çªç®ã®åé¡ã¯ãFacebookã次ã®ãããªãã³ãã¬ãŒãã®å®è¡ãææ¡ããŠããããšã§ãã
ãã¡ãããç§ãã¡ã¯é·ãéèŠããã§ããŸããããããã¯ãŸã£ããéžæè¢ã§ã¯ãªãããšã«æ°ä»ããèªåã§è¶³ãæã¡ãŸããã UIã³ã³ããŒãã³ãã®æ¬è³ªããããçš®ã®ãã³ãã¬ãŒããåãããããã¬ã³ããªã³ã°ããããšã§ããå Žåãå€ãã®JSã³ãŒãããã¬ãŒã¹ãæ¬åŒ§ãããžãã¯ãããã³ãã¹ãŠãäžç·ã«UIã³ã³ããŒãã³ãã«æ··åšãããå¿
èŠãããçç±ã¯ãŸã£ããããããŸããããã©ãŠã¶ã§ã wix-react-templatesã®ãããªãããžã§ã¯ããèŠãŠãéåžžã«ãã䌌ãç¬èªã®ãããžã§ã¯ããäœæããŸããã ããããããã«ã¯ã³ãŒãããããŸããã elseãå€æ°ããã以å€ã®å Žåãç¹°ãè¿ããæäŸãããããã¯ã®ã¿ããããŸãã ã€ãŸã ã³ã³ããŒãã³ãã®ã¿ã¹ã¯ã¯ããã®å€æ°ã«è¡šç€ºãããå
容ãäºåã«ãã®å€æ°ã«è©°ã蟌ãããšã§ãã ãŸããã³ã³ããŒãã³ãã®ã¿ã¹ã¯ã¯ãã©ã®ãããã¯ãã©ã®ããŒã¿ã§å埩ãããã瀺ãããšã§ãã ãã³ãã¬ãŒãã¯æ¬¡ã®ããã«ãªããŸãã
ããã§ã¯ããããã®ãã³ãã¬ãŒãçšã«ç¬èªã®ããŒãµãŒãäœæããŸãããããã«ãããDOMããªãŒãäœæãããJSXã«ãã£ãŠçæããããã³ãã¬ãŒããšéåžžã«ãã䌌ããã³ãã¬ãŒããçæãããŸãã
çŸåšããã®ã±ãŒã¹ã¯ãã§ã«èªåçã«çæãããŠãããReactã¯ãã®ã±ãŒã¹ã§åäœããŸãã
UIã³ã³ããŒãã³ãã®æ¬è³ªã¯ãããã€ãã®å°éå
·ã宣èšããããã€ãã®ç¶æ
ã宣èšããæãç°¡åãªæ¹æ³ã§ãããã®å°éå
·ããããã¯ãšå€æ°ã«è©°ã蟌ãããšã§ãã 圌ãã¯ç¹å®ã®ããªãŒãæ§ç¯ãããããã¬ã³ããªã³ã°ããŸãã
翻蚳ã®ããã«ããããã®ãã³ãã¬ãŒãã®ããã¹ããåã¿åãããŠãã¡ã€ã«ãçæããå°ããªãã®ãäœæããŸããã ãã®ãã¡ã€ã«ããã³ã§ãã·ã¢èªã«ç¿»èš³ããŸãã äœããã®çš®é¡ã®ã¬ã€ã¢ãŠããããã«è¿œå ã§ããŸãã æåŸã®è¡ã«ã¹ãã³ãè¿œå ãããŠããããšã«æ³šæããŠãã ããã ç§ãã¡ã¯èšèã®å€å
åã®ããã«ãã®ããžãã¹ãç¯ããŠããŸãã
, , , span .
, Facebook , , . .
?
, , , java. dependency injection, , â React lodash. â , , MVC â MVC. React. web-packâŠ
â Ext JS 6, React. , , , , . , - .
â , , , - , , , , json rest, , API .
:
, , , , flux + react 2- 5- . , UI , ExtJS, , , , , .
, . , , , 60 , 15 â , - , , , -, â .
. react', - 4 .
, 10 , , 2 . 4 2 - UI , .
, , , , UI . , « » « , ». , , , , . , UI Ext JS, , - , - - , , , - . , , , , .
, : ; , , â . , , . ã€ãŸã react' , , , , , .
é£çµ¡å
» XEK
» s@averin.ru
» facebook
» twitter
» Acronis
â HighLoad++ . 2016 â HighLoad++ , 7 8 .
- HighLoad.Guide â , , , . 30 . !