
æšæ¥[ Webã³ã³ããŒãã³ãã«é¢ããéåžžã«äŸ¡å€ã®ããèšäºãå ¬éãããéå»8ãæéã«åŸãçµéšãå ±æããããåŸãªãããšã«æ°ä»ããŸããã Webã³ã³ããŒãã³ãã®æäœæ¹æ³ã«ã€ããŠã¯èª¬æããŸãããããã®çç±ã説æããŸãã ãããã£ãŠããã®æè¡ã¹ã¿ãã¯ã«ã€ããŠç¥ããªã人ã¯ãäžã®ãªã³ã¯ã®èšäºãèªãå¿ èŠããããŸãã
å®éã6æã«ç§ã®CornerJSã©ã€ãã©ãªã®æåã®å®å®ããŒãžã§ã³ããªãªãŒã¹ãããŸãã ã AngularJSããã®ãã£ã¬ã¯ãã£ãã®èªåŸçãªå®è£ ãšããŠéå§ãããåŸã ã«Webã³ã³ããŒãã³ãä»æ§ã®ã«ã¹ã¿ã èŠçŽ ã®ããåçŽãªïŒäœ¿çšäžããã³å®è£ äžã®ïŒã¢ããã°ïŒäžæ£ç¢ºãã¯ããç§ã¯ç¥ã£ãŠããŸãïŒã«å€ãããŸããã
ç§ã¯å€ãã®ããã«ããã¯ãçµéšããŸããããçŸåšããã®ã©ã€ãã©ãªã¯ããã€ãã®å€§èŠæš¡ãªãããžã§ã¯ãã§å®éã®ç¶æ³ã§ã¯ããŸã䜿çšãããŠããŸããã
ç§ã®æèŠã§ã¯ãããã¯çŽ æŽãããã©ã€ãã©ãªã§ãããå®è£ ã§ã¯-éçºã®äž»ãªããŒã«ã§ãããšæ¬åœã«èããŸãããæåŸã®ãããžã§ã¯ãïŒãããªããŒã¿ã«ïŒã§ã¯ãjQueryãããéèŠã§ããããšãããããŸããã
ããããç§ã¯ããããç§ãã¡ã®ããŒã ã«çŽ¹ä»ãããããæåŠãã人ç©ãšããŠãIE9 +ãµã€ãã®Mozilla Xã¿ã°ãšIE10 +ãµã€ãã®Polymerã«åãæ¿ããŠããŸãã 幞ããªããšã«ãç§ã®èšæ¶ã§ã¯ãIE8 +ãããžã§ã¯ãã¯1ã€ãŸãã¯2ã€ãããããŸããã§ããã
ãŸãããã®æçš¿ã§ã¯ãWebã³ã³ããŒãã³ããWebã®åãªãæªæ¥ã§ã¯ãªãçç±ã説æããŸãã ãããŠããŠã§ãã®å¯äžã®æªæ¥ã
ããããã¹ãŠå§ãŸã£ãæ¹æ³
ãã®ãããªã¢ãŒããã¯ãã£ã®åææ¡ä»¶ã¯ã4幎åã«GoogleãšYandexã«ç»å ŽããŸããããåœã®è¶£ãç¶æããŠããŸã ã
ãã®ããã AngularJSã¯Googleã«ç»å ŽããŸãããããã¯ãã»ãšãã©ã®ããžãã¯ããã£ã¬ã¯ãã£ãã«äŸåããŠãããã¬ãŒã ã¯ãŒã¯ã§ãã ãªãããããããªã«éèŠãªã®ã§ããïŒ ãã£ã¬ã¯ãã£ãã¯htmlã¿ã°ã«ã¢ã¿ãããããã¢ãžã¥ãŒã«ã§ããããã®ããŒãã®éé¢ãããç°å¢ã§å®è¡ãããããã§ãã ããã§ã®è²ã¯ãGoogleãJavaã®ãããªã¢ãããŒãã«å¿ å®ã§ãããéãã€ãã£ãã®ã»ãã¿ãŒãšã²ãã¿ãŒãäžå¿ã«ãã¹ãŠãæ§ç¯ãããšããããšã§ãã äžæ¹ã§ãããã¯æ£ããã§ããããã¯ããã¥ãŒãå€æŽããããã®ãã»ãŒæ£çŽãªãã³ãŒã«ããã¯ãäœæããå¯äžã®æ¹æ³ã§ããããä»æ¹ã§ã¯ãã©ã€ãã©ãªã®äœ¿çšã«å€å°ã®äžäŸ¿ããããããŸããã ããããç§ãã¡ã¯äœã«ã€ããŠè©±ããŠããã®ãããã§ã«ãã¹ãŠã«æ £ããŠããããšèšãããšãã§ããŸãã ããããæçµçã«ã¯ãäž»ãªãã®ãçŸããŸããïŒãããžã§ã¯ããããããžã§ã¯ãã«ç°¡åã«ç§»ãããšãã§ãããèªåŸçãªããžã¥ã¢ã«ã§ãããããŸãèŠçŽ ã§ã¯ãããŸããã ã¡ãªã¿ã«ã圌ãã¯ãæ®å¿µãªãããéå»æ°ãæéãAngularJSã®é²è¡ç¶æ³ã远跡ããŠããŸããã§ãã-圌ãã¯ã ã»ãŒãã€ãã£ãã® Object.observeã«ãã§ã«ç§»åããŠãããšèšããŸãã
ãããŠãYandexã§ã¯ã BEMãç»å ŽããŸãããããã¯ãJSONãšã¬ã€ã¢ãŠããã¶ã€ããŒã䜿çšããåœç«ãã·ã¢ã®ã¢ã€ãã¢ã§ãã ã³ã¡ã³ãã®ã©ããã§ãç§ã¯åœŒãšã®é¢ä¿ã§èªåã®ç«å Žãè¡šæããŸããã äžæ¹ã§ãããã¯æ¬åœã«èµ·ãããŸãããä»æ¹ã§ã¯-ç¬ããæ¶ãªãã§èŠãããšã¯äžå¯èœã§ãã ãã ããBEMã®ãããã¯ã«é¢ããRazzhigã®é±ã¯æ¢ã«éããŠããã®ã§ãã³ã¡ã³ãã§ãã®ãããã¯ãè°è«ããå¿ èŠã¯ãããŸããã ã¹ã¿ã€ã«ãšã¹ã¯ãªããã®äž¡æ¹ãã«ãã»ã«åããã¡ã«ããºã ãç解ããäœæããïŒã¯ããã¹ã¯ãªããã®ã¿ãè§åºŠã§ã«ãã»ã«åãããïŒããšã¯ç¬åµçã§ããããã®æ¹æ³ã¯æ¬åœã«çŽ æŽãããããšã§ããããã¯2çªç®ã®ãã®ã§ãããæ¬åœã«å¿ èŠãªäººã¯é·ãéå解ããŠæ¥œããã§ããŸãã
æåŸã«...
...ç§ãã¡ãæã£ãŠãããã®ããããŸãïŒå€§ããªããŒã ã¯ãã©ã€ãã©ãªïŒhiãrequireJSãç§ã®å人çãªãæ°ã«å ¥ãã®browserifyïŒã ãã§ãªãããµã€ãã®åããŒãžã®èŠèŠçãªã³ã³ããŒãã³ããã«ãã»ã«åããŠæ¥ç¶ããå¿ èŠãããããšã«æ°ä»ããŸããã
ãªãã§ïŒ ã¯ããããã°ã©ã ã®ã¡ã€ã³ã¹ã¬ããã«å±ããŠããªãããã§ãã Webã¢ããªã±ãŒã·ã§ã³ã䜿çšããŠããå Žåãã¡ã€ã³ããŒãžã§ã®ã°ã©ãã¬ã³ããªã³ã°ã¯ã©ã®ããã«é¢é£ããå¿ èŠããããŸããïŒ æ¹æ³ãšããŠã¯ããã³ãã¬ãŒãã®å ¥åããŒã¿ãæ£ããHTMLã¿ã°ã§å®£èšããããèªäœãæ©èœãããããšãçæ³çãªãªãã·ã§ã³ã§ãã ãã€ããŒã¿ã®ã¬ã³ããªã³ã°ãéå§ããããèããããªãã®ã§ãçªç¶ãã®ããŒã¿ãåçã«æŽæ°ãããå Žåã¯ãè¿œå ããããªãã ãã§ãã
<value at=100 is=500>
ãã§ã«ãã®ã¢ãããŒãã䜿çšããŠããŸãã以äžãåç §ããŠãã ããã
<video width="320" height="240" poster="poster.jpg" controls="controls" preload="none"> <source type="video/mp4" src="myvideo.mp4" /> <source type="video/webm" src="myvideo.webm" /> <source type="video/ogg" src="myvideo.ogv" /> </video>
ãŸããWebã¢ããªã±ãŒã·ã§ã³ã®äžæ žã¯ãã³ã³ãã³ããå«ãããŒãžã®ã¬ã³ããªã³ã°ãããŒãžã®åçãªæŽæ°ããããã¯ãŒã¯ãããã¯ã°ã©ãŠã³ãããã»ã¹ããŸãã¯AIãšé³å£°èªèã®æäœïŒãããŠãªãããã§ã¯ãªãã®ãïŒãšãã£ãéåžžã«éèŠãªããšãè¡ãã¹ãã§ãã ã¯ãããããã®ã»ãšãã©ãã¹ãŠã¯ãéåžžãåå¥ã®Webã³ã³ããŒãã³ããšããŠå®è¡ã§ããŸãã
ã¢ãžã¥ã©ãŒãŠã§ã
æéãçµã€ã«ã€ããŠãWebã³ã³ããŒãã³ãïŒãŸãã¯ããã®ã¢ãããŒãã®æ¯æè ãåæããBEMã圌ãã¯æ¢ã«ç§ãå«ã£ãŠãããšæããŸãïŒã«ã©ã€ãã©ãªãç©æ¥µçã«äœ¿çšãå§ãããšãåäžã®ã¢ããªã±ãŒã·ã§ã³èªäœã¯ã»ãšãã©å¿ èŠãªããšããããšãçªç¶å®çŸããŸãã åWebããŒãžã¯ç¬ç«ãããšã³ãã£ãã£ã§ãããå€ã®äžçããéé¢ãããŠãããããèªäœãæ°åããããã¢ããªã±ãŒã·ã§ã³ã¯ããŒãžéã移åãããšãã«æ®ããšã³ãã£ãã£ã§ãããã»ãšãã©ååšããŸããã å®éã«ã¯ãããŒãžéã®é·ç§»ã¯éšåçã§ããå¯èœæ§ãããããŠãŒã¶ãŒèŠçŽ ã®äžéšã¯ããã¬ãŒã€ãŒããã£ãããªã©ãç°¡åãã€èªç¶ã«ãã®äžã«æ®ãããšãã§ããŸãã
çµæã¯éåžžã«ç°¡åã§ããWebãµã€ãã®90ã95ïŒ ã¯ãèŠèŠçãªãã¬ãŒã³ããŒã·ã§ã³ãããžãã¯ãããã³å€éšã®ã¡ãœãããšããããã£ãçµã¿åãããã¢ãžã¥ãŒã«ã§ããã¹ã¿ã³ãã¢ãã³ã³ã³ããŒãã³ãããã®ã¿æ§ç¯ã§ããŸãã ãã¡ãããä»ã®ã¢ãžã¥ãŒã«ãå«ããããšãã§ããŸãã
ãã®ã¢ãããŒãã®å®è£ ã¯ãçŸåšã§ã¯èŠèŠçãªã³ã³ããŒãã³ãã®èŠ³ç¹ããã¯ã²ã©ããã®ã§ãã ããžãã¯ã®èŠ³ç¹ãããAMD / npm / modulelessãçµã¿åãããã³ã³ããŒãã³ããäžè¬çãªé©åãªããŒã«ã»ããã§å®å šã«äœæã§ããå ŽåãèŠèŠçãªè¡šçŸã§ã¯ãã¹ãŠãããè€éã«ãªããŸããã¢ãžã¥ãŒã«å ã«ãã³ãã¬ãŒããšã³ãžã³ãçšæããã€ã³ã©ã€ã³ã¹ã¿ã€ã«ã䜿çšããããdocument.styleSheetsã«åãããå¿ èŠããããŸããŸããWebéçºè ãèªåã®ã¹ã¿ã€ã«ã§ã¢ãžã¥ãŒã«ã«è§Šããªãããšã確èªã§ããŸããã çªç¶ã圌ã«ã¯ããã¿ãŒaããã ãããã«ããªãã®ããããããã¯ãæ¿å ¥ããŸããïŒ
Helloã³ã³ããŒãã³ã
ã°ãŒã°ã«ãã¢ãžã©ãããã³ä»ã®å€ãã®çµéšã«åºã¥ããŠã圌ãã¯å ±åã§ãåé¢ãããè«çããžã¥ã¢ã«ã¢ãžã¥ãŒã«ãå®è£ ããæ©èœãäœæããå¿ èŠãããããšã«æ°ä»ããŸããã çµéšãããããã¯æ¬åœã«éåžžã«éèŠã§ããããšã圌ãã«èªãããŠããŸã
ã«ãã»ã«åCSS
ããã¯ãããã¥ã¡ã³ãã¹ã¿ã€ã«ãã¢ãžã¥ãŒã«ã®è¡šç€ºã«åœ±é¿ããªãããã«ãCSSã¹ã¿ã€ã«ãå®å šã«åé¢ããæ©èœã§ãã ãªããããéèŠãªã®ã-ãããŠããã¯æããã§ãã
ã«ã¹ã¿ã ã¡ãœãããšããããã£
ããã¯ãã¡ãœãããšå€ã®äž¡æ¹ã®å€éšã€ã³ã¿ãŒãã§ãŒã¹ãäœæããæ©èœã§ãã 幞ããªããšã«ãããã¯jsã§ã¯ç°¡åã«å®è¡ã§ããã²ãã¿ãŒãšã»ãã¿ãŒã¯æ¯èŒçé·ãé䜿çšãããŠããŸããã Object.definePropertyã«æè¬ããŸãã ã«ã¹ã¿ã èŠçŽ ã«ã¯æ°ããã€ã³ã¿ãŒãã§ã€ã¹ãå¿ èŠãªã®ã§ãããã¯éèŠã§ãã ãªãã§ãããªã¿ã°ãã©ã®ããã«å®è£ ããŸãã
ïŒHTMLVideoElement.prototype.play()
ãããã¿ããšã®ã³ãŒã«ããã¯ã®æ
å±æ§ãå€æŽããããã®ã³ã³ã¹ãã©ã¯ã¿ããã¹ãã©ã¯ã¿ãããã³ã³ãŒã«ããã¯ã æçœãªç¬éïŒ2ã€ã®ãã³ã³ã¹ãã©ã¯ã¿ãŒãã³ãŒã«ããã¯ããããŸãã æåã®èŠçŽ ã¯èŠçŽ ïŒdocument.createElementïŒ 'x-tag'ïŒïŒã®äœæãæ åœãã2çªç®ã®èŠçŽ ã¯èŠçŽ ãDOMããªãŒã«è¿œå ããŸãã ã¬ã€ã¢ãŠãã«èŠçŽ ãè¿œå ããã°ããã®å Žå-äž¡æ¹ãæ®åœ±ãããŸãã ãªããããå¿ èŠãªã®ã§ããïŒ æ¬¡ã«ãDOMããªãŒã«èŠçŽ ãè¿œå ããŠãããã€ãã®ã¢ã¯ã·ã§ã³ïŒã€ãã³ãã®ããªã¬ãŒãªã©ïŒãå®è¡ããå¿ èŠããããŸãã ããã«ãappendChildãä»ããŠå¥ã®èŠªã«æž¡ãããšã§èŠçŽ ã転éããå Žåãå«ããDOMããªãŒã«è¿œå ãããåèŠçŽ ã«å¯ŸããŠå®è¡ããå¿ èŠããããŸãã
ã³ã³ãã³ãå®è¡ã®ãªããã³ãã¬ãŒã
ãããã®éèŠæ§ã¯äžèŠãããšããŸãæçœã§ã¯ãªãããã¯ãããã¹ãŠãã¯ãŒã«ã§ãåçã¯ããŒããããŸããããšæãããŸããããŠãŒã¶ãŒèŠçŽ ã®ã³ã³ããã¹ãããã¯å€ããŠããŸãïŒDOMã«è¿œå ããããšãã«éå§ããããšãå¿ããŸãäžéšã®MVVMãã¬ãŒã ã¯ãŒã¯ã¯ããã³ãã¬ãŒããšããŠäœããç°¡åã«æ¿å ¥ããŠå¿ããããšãã§ããŸã-äœãèµ·ãããŸããããã³ãã¬ãŒãã§å®£èšãããèŠçŽ ã«ããªã¬ãŒãããããããã£ãããããšãèæ ®ããå¿ èŠããããŸãã
<x-video-with-subtitle source="{{video.source}}">
ãœãŒã¹ãšããŠ{{video.source}}ã䜿çšããŠèµ·åããŸãããããã¯ã ãã«ãé©ããŠããŸããã
ã¬ã€ã¢ãŠãã®ã«ãã»ã«å
ãããå®å šã«æãããªç¹ã§ã¯ãããŸããã å®éã«ã¯ããŸã£ããåãã¹ã¿ã€ã«ã§ããŠãŒã¶ãŒèŠçŽ ã®ã¬ã€ã¢ãŠãã«åœ±é¿ã¯ãããŸãããå®å šã«èªåŸçã§ããå¿ èŠããããç¹å¥ãªã¹ããªãŒãããžãã¯ã§ã®ã¿ãæãå·®ã䌞ã¹ããããšãã§ããŸã-æšæºã©ã€ãã©ãªããããæäœããæ¹æ³ãç¥ããªãããã«ã
ãã ããå€ãã®å ŽåãèŠçŽ ãæ§æããããã®å±æ§ã§ã¯äžååã§ãããäžéšã®å³ã§ã¯ãæãæ£ãã解決çã¯æ¬¡ã®ãããªãã®ãäœæããããšã§ã
<x-diagram type="histogram"> <value at=100 is=500> <value at=200 is=300> <value at=300 is=200> <value at=300 is=700> </x-diagram>
ãã®ããã2ã€ã®ããšãè¡ãå¿ èŠããããŸãããå®éã®ã¬ã€ã¢ãŠããã«ãã»ã«åããïŒã¿ã°ã¬ãã«ã§ïŒæãåçŽãªãã³ãã¬ãŒãæšæºåããµããŒãããããšã§ãã äž¡æ¹ãããŸãæ©èœããŸãããShadowDOMã¯ãã¹ã¿ã€ã«ãšæ§é ã¬ã€ã¢ãŠããåæã«ã«ãã»ã«åããæ¹æ³ã§ããã ãã§ãªããããã€ãã®å Žæã§ã·ã³ãã«ã§ããéåžžã«äŸ¿å©ãªãã³ãã¬ãŒããšã³ãžã³ã§ãã
ãã®èšäºã§ã¯èª¬æããŸããã§ãããããã³ãã¬ãŒãã«ã€ããŠæ確ã«ããããšããŸããå®éã«ã¯ãã·ã£ããŠDOMãã³ãã¬ãŒããšã³ãžã³ã¯ã¿ã°ã®äœ¿çšã«éå®ãããŸãã
<content>
é¡ã«ã ããã«ã¯selectå±æ§ãããã次ã®ããã«ãªããŸãã <content select=".first">
ãã®ã¿ã°ã¯ãã¿ã°ã®ã¢ã¯ã·ã§ã³ã«è©²åœãããã¹ãŠã®èŠçŽ ããã¹ãDOMã³ã³ããŒãã³ããããåãåºãããŸãã ãããã£ãŠããã®æ€çŽ¢ã§ââ2åç®ã«ã¯äœãèŠã€ãããŸããã ããã㊠<content></content><content></content>
å®éã«ã¯ãåã«ãã¹ãDOMã®ã³ã³ãã³ããæ§ææžã¿DOMã«è»¢éããŸãã2çªç®ã®ã¿ã°ã¯èŠçŽ ããããªããããäœã転éã§ããŸããã
ãŸã äœãç解ããŠããªã人ã¯ãShadow DOMã®ä»çµã¿ã瀺ããã®çŽ æŽããããã¢ãè©ŠããŠãã ããã
å€ãã®åºçç©ã§ã圌ã¯ã€ãã¬ãŒã¿ãŒããã£ã«ã¿ãŒã®ãããªè¶ 倧åœãæããªãããšããããã¯èŠçŽ ã2åæ¿å ¥ããã ãã®èœåãããæã£ãŠããªãããšã匷ãæ¹å€ãããŸããã æ®å¿µãªãããç¹ã«å¯ŸæŠçžæã«æéã浪費ãã人ã¯ããŸããã§ããããããã¯å¿ èŠã ã£ãã§ãããã å®éã®ãšãããã·ã£ããŠDOMã¯éåžžã®æå³ã§ã®ãã³ãã¬ãŒããšã³ãžã³ã§ã¯ãããŸããããã³ãã¬ãŒãããèŠçŽ ãäœæããŸããã 圌ã¯èŠçŽ ã®çŽæ¥è»¢éã«åŸäºããŠããŸãã ãã¹ãDOMã«èŠçŽ ãé 眮ãããã®å±æ§ãå€æŽããå Žåããããã¯ã·ã£ããŠDOMã§äœ¿çšå¯èœã«ãªããå€æŽãããŸãã ãããŠãŒã¶ãŒèŠçŽ ãå¥ã®ãŠãŒã¶ãŒèŠçŽ ã«é 眮ããå Žåããã¹ããããèŠçŽ ã®ã³ã³ã¹ãã©ã¯ã¿ãŒã¯äžåºŠã ãåŒã³åºãããã©ããã«ç§»åãããããšãçªç¶èªèããããšã¯ãªããã³ã³ã¹ãã©ã¯ã¿ãŒãåèµ·åããå¿ èŠããããŸãã ãããå®è£ ã®å¯äžã®åççãªãªãã·ã§ã³ã§ããã
ã«ã¹ã¿ã èŠçŽ 宣èš
ã¹ã¯ãªããã¿ã°ã¯ããã®ãããªèŠçŽ ã宣èšããã®ã«é©ããŠããŸããã§ãããå®éãã»ãšãã©ã®ã¿ã°ã¯ãŸã ã¬ã€ã¢ãŠãã§ããã ããã€ãã®å Žå-ç§ã¯å€ãã®äººã«èšã£ãŠã-ã¹ã¯ãªããã®ã±ãŒã¹ã¯ååçã«åé¿ããããšãã§ããŸãã ãããã£ãŠãæãè³¢æãªè§£æ±ºçã¯ãHTMLèªäœã®ä»æ§ãããããã«ãç¹å¥ãªãæ§æãæã€å¥ã®èŠçŽ ã§æ¡åŒµããããšã§ããã
ããããããã§å¥ã®ãœãªã¥ãŒã·ã§ã³ãå¿ èŠã«ãªããŸãïŒãããã®èŠçŽ ããã£ãã·ã¥ããæ¹æ³ã¯ïŒ ã¹ã¯ãªãããä»ããŠããããæ¥ç¶ããããšã¯ã§ããŸãããããã¯ã¹ã¯ãªããã¿ã°ã§ã¯ãªããããèŠçŽ ãæ¥ç¶ããå¥ã®æ¹æ³ã®ä»æ§ãäœæããå¿ èŠãããããšãæå³ããŸãã ãããHTMLã€ã³ããŒãã®å§ãŸãã§ãã
ãã¡ããããããã«ã€ããŠã¯ããã話ãããŸããããèå³æ·±ãã®ã§ããããã®èšäºã¯ãã§ã«ããªãå€ããªã£ãŠããŸãã
æ°ããã¿ã°ãäœæããã¢ãããŒãã®éžæã¯ããã€ãã®çç±ã§çŸããŸããããäž»ãªçç±ã®1ã€ã¯ã2ã€ã®ã³ã³ã¹ãã©ã¯ã¿ãŒãåãã¿ã°ã«ãã€ã³ãã§ããªãããšã§ãã ãã€ãŠãç§ã¯ã©ã€ã»ã³ã¹å¥çŽãã£ã¬ã¯ãã£ãã®ãããã°ã«åæ¥è²»ãããŠããŸããã ã¿ã°ã¯æ¬¡ã®ããã«ãªããŸããã
<div class="directive-agreement directive-scrollbox"> , , </div>
é·ãéãã¹ã¯ããŒã«ããã¯ã¹ããªãã£ãçç±ãç解ã§ããŸããã§ããã ããã«ããããã¬ãŒã¯äœæãããããšã瀺ãããã®åŸæ¶ããŸãã
directive-scrollboxãæåã«å®è¡ãããããšãå€æããŸããã ãããŠããã£ã¬ã¯ãã£ãåæã¯2çªç®ã§ãããinnerHTMLãå€æããŸãã
æåŸã«
Webã³ã³ããŒãã³ãã®ä»æ§ã¯éåžžã«ããèããããŠããã1ã€ã®åçŽãªã¿ã¹ã¯ãç®çãšããå¥åã®ã¢ãžã¥ãŒã«ã§æ§æãããŠããŸããèŠèŠéšåãšããžãã¯ãã«ãã»ã«åãããæ°ããHTMLã¿ã°ãäœæããæ¬åœã«äŸ¿å©ãªæ¹æ³ãæäŸããŸãã ããã«ãããæ¥ç¶ã容æã«ãªããããWebãµã€ãã®äœæãé«éåã§ããŸããå€ãã®å Žåãããã³ããšã³ãã®éçºè ãé¢äžããããšãªããã¿ã€ãã»ãã¿ãŒããããå®è¡ã§ããŸãã ããã³ããšã³ãéçºè ã®ç掻ãä¿é²ããã圌ãã®ä»äºã¯å®éã«ã¯2ã€ã®ã³ã³ããŒãã³ãã«åãããŠããŸããããžãã¯ãšå€éšã€ã³ã¿ãŒãã§ã€ã¹ã®äŸ¿å©ãªå€§èŠæš¡ãªã»ãããåããã¹ã¿ã³ãã¢ãã³ã¢ãžã¥ãŒã«ã®äœæãããã³ã³ã¢Webã¢ããªã±ãŒã·ã§ã³ã®äœæã§ãã åæã«ã2çªç®ã®ã¢ã¯ãã£ããã£ã¯ãã¯ãŒã«ã¢ãã¡ãŒã·ã§ã³ãšãã§ã¯ããã®äœæã«ãã§ã«ç²ããŠããäžçŽéçºè ã«é¢é£ããŠããã1çªç®ã®ã¢ã¯ãã£ããã£ã¯äžŠååãã¯ããã«ç°¡åã§ãã¹ããã¯ããã«ç°¡åã§ãããã¹ãã¯ãããªãé·ãéWebã®åºæ¬ã§ãã£ãBDDããåäœãã¹ãã«ç§»è¡ããŠããŸãã³ã³ããŒãã³ãããšã«åå¥ã«ãã¹ããããŸãã
HTMLã€ã³ããŒãã®ä»çµã¿ã¯ãWebã®éçºã«ãšã£ãŠç¹ã«éèŠã§ããããã¯ãå€æ°ã®Webã³ã³ããŒãã³ãã©ã€ãã©ãªãåãããªã³ã©ã€ã³ãªããžããª/ CDNã®äœæã«ã€ãªããããšãã»ãŒä¿èšŒãããŠãããç§ãã¡ãç¥ã£ãŠããããã«ãéäžãªããžããªã¯ã³ãã¥ããã£ã«ãã£ãŠäœæãããã³ãŒãã®å質ã«ãã©ã¹ã®åœ±é¿ãäžããŸãïŒè©å€ãé«å質ã®ã³ãŒãã®çºè¡ãã³ãã¥ããã£èªäœã掻çºã«éçºãããŠãããå¿ èŠãªã¢ãžã¥ãŒã«ãšã©ã€ãã©ãªã®æ€çŽ¢ãšæ¥ç¶ã容æã«ãªã£ãŠããŸãã äžå€®éäžåCDNã¯ãWebããŒãžã®èªã¿èŸŒã¿ãé«éåããããšãã§ããŸãïŒããã¯ç§ãã¡ã®æ¥ã ã®æšäºã§ããããŒãžãµã€ãºã¯ããšã³ããŠãŒã¶ãŒã§ã®ã€ã³ã¿ãŒãããã¹ã«ãŒãããã®å¢å ãããéãå¢å ããŸãïŒã
ãã®çµæãã»ãŒç¢ºå®ã«æåéã2ã3幎ã®ãã¡ã«ãã©ã€ãã©ãªã«ãã£ãŠçŸåšæäŸãããŠãããã®ã®ã»ãšãã©ã¯ã䜿çšãšãµããŒãããã䟿å©ã«ãªãããããŠãŒã¶ãŒèŠçŽ ãšããŠå®è£ ãããŸãã ã¹ã©ã€ããŒãã¬ã¹ãã³ã·ãç»åãWYSIWYGããã³Markdownãšãã£ã¿ãŒãã«ã©ãªã±å¯Ÿå¿ãããªãã«ã³ãã¹äžã®ãŽããŽãç«ãžã§ãã¬ãŒã¿ãŒãäžè¬ã«ãWebäžã®ã»ãšãã©ãã¹ãŠãUser Elementã§ã©ããã§ããŸãã
é¢çœãã®ã¯ãèŠçŽ ãèŠèŠçã§ããå¿ èŠã¯ãªããšããããšã§ãããªããã®ãããªããšãããªãã®ã§ããïŒ
var $ = document.createElement('x-library-jQuery')
Webã³ã³ããŒãã³ãã¯ãå°ãªããšãæšæºåãããã«ã¹ã¿ã ã©ã€ãã©ãªãäœæããããã®äŸ¿å©ãªã€ã³ã¿ãŒãã§ãŒã¹ãæäŸããéåžžã«äŸ¿å©ã§ãã
ä»æ¥ãã䜿çšãéå§ããŠãã ããã
ãããè©ŠããŠãããªãã¯ããã奜ãã«ãªãã§ãããã
IE9 +åãã«éçºããŠããå Žå-Mozilla X-tagsã䜿çšã§ããŸã ïŒçŸåšãOopsããããŸãã ãªããžããªã䜿çšããŠãã ããïŒ
IE10 +ã®å Žåã¯ã Polymerãæ¥ç¶ããŠæ£çŽãªã«ã¹ã¿ã èŠçŽ ã䜿çšããããpolymer.jsã®Webã³ã³ããŒãã³ãæ©èœã®ãã軜ãæ§æãšæ¡åŒµæ©èœã䜿çšããŸãã Polymerã«å€é¡ã®æè³ãè¡ããWebã³ã³ããŒãã³ãã®ãã¹ãŠã®ã³ã³ããŒãã³ãã«IE10 +ïŒããã³IE9 +ãïŒã®ããªãã£ã«ãäœæããŠãããGoogleã«å¿ããæè¬ããŸãã
ãªããã®ããã«ãã¹ãŠãè¡ãããã®ãã説æããããšæããŸããã©ã€ãã©ãªã®åããŒãžã§ã³ãXã¿ã°ã«è¿ã¥ããŠãèªåã®çµéšã§ãããçµéšããŸããããã®ãããªæ§æã¯ãããžã¥ã¢ã«ãæäœããããªã¢ã¯ãã£ããã¢ãããŒãã®å¯äžã®å¯èœãªå®è£ ã§ããããã§ãã³ã³ããŒãã³ããããã³ããã€ãã®å¥åŠã§äžèŠè€éãªãã®ã®åå ã®å®çŸã«è¿ã¥ããŠããŸãã
ããšãã
æè¿ããŠã§ããæçåããã€ã€ãããšãã話ãå¢ããŠããŸãã browserifyã¢ãžã¥ãŒã«ãšAMDã¢ãžã¥ãŒã«ãæ¥ç¶ããå¿ èŠãããå Žåãããã¯ããã€ãã®åé¡ãåŒãèµ·ãããŸãã äžéšã®ã©ã€ãã©ãªã¯TypeScriptã«é©åããŠãããäžéšã¯CoffeeScriptã«é©åããŠããŸãïŒå€§äžå€«ããããã䜿çšã§ããããšã¯ããã£ãŠããŸãããããã€ãã®å°ããªã©ã€ãã©ãªã®å°ããªãã°ãä¿®æ£ããããç¬èªã®ã¡ãœãããè¿œå ããå¿ èŠãããå Žåãå€ãã®CoffeeScriptã¯ç°¡åã«æããããŸãïŒ Dartã¯éåžžãéåžžã®JSãšå®å šã«å¯Ÿè©±ããããšã«ã¯ã»ã©é ãç¬ç«ããèšèªã§ãã Webã³ã³ããŒãã³ãã¯ãã®æçåãåé€ã§ããŸãããã¹ãŠã®ã³ã³ããŒãã³ãã¯HTMLã§ãããããçžäºã«äºææ§ããããŸãã æ°ããèŠçŽ ã§ã¿ãŸãããã Googleã¯Dartã§ã³ã³ããŒãã³ããç°¡åã«äœæã§ããicedCoffeeã䜿çšã§ããŸããFacebookã§ã¯JSXã§ã¿ããªãæãããç¶ããOdessaã§ã¯liveScriptã§ã¢ãžã¥ãŒã«ãéçºãç¶ããŸãã
ãããã¯ãã¹ãŠåãæ¹æ³ã§ããåãã§ããããããããã®ã©ã€ãã©ãªãåŒãç¶ã䜿çšã§ããŸãã
ä»æ¥ãããããã䜿çšããŠãã ãããWebãæ¹åããŠãã ãããçŽç²ãªJSã§èšè¿°ããããããªããã»ããµã§èšè¿°ãããããŸã£ããèšè¿°ããªããã«é¢ä¿ãªããéçºè ã¯ã©ã€ãã©ãªã䜿çšã§ããŸããããšãã°ãã¹ã©ã€ããŒã«ã€ããŠèããŠãã ããã JSããåæåããå¿ èŠã¯ãããŸãããå±æ§ãšå éšã³ã³ãã³ããä»ããŠèšå®ããã ãã§ååã§ãã çµå±ãjQueryã©ã€ãã©ãªã®3åã®2ã¯ããããã$ïŒïŒãMediaelementïŒconfigïŒã®ãããªãã®ã§ãããããã ãã§ãã
PSç§ã¯ãWebã³ã³ããŒãã³ãã®é±ãéãããšã宣èšããããšãææ¡ããŸã