Vue Fes Japan 2018 ã® 1å¹´éåä½ãã¹ããæ¸ãç¶ããç¾å ´ããéã Vue Component ã®ãã¹ã https://vuefes.jp/
説æç¨ã®å³ ä¾ã¨ãã¦ãamakan anime ã®ããããã¼ã¸ https://anime.amakan.net/ ã®æ§é ãæããªãã説æããã(ã¨ããã§ amakan anime ã¯ä»æä¸ã«å®æäºå®ã®ãµã¼ãã¹ã§å®é¨çã«å ¬éãã¦ããç¶æ ãªã®ã§ãã¾ã ã¾ã è³ããªãã¨ãããå¤ã ããã¾ãâ¦) ç»å ´ããã³ã³ãã¼ãã³ãä¸è¦§ React.Component ã¯ã©ã¹ãç¶æ¿ããã¯ã©ã¹ãã³ã³ãã¼ãã³ãã¨å¼ã¶ã主ã«ç»å ´ããã³ã³ãã¼ãã³ãã¯ä»¥ä¸ã®éãã Header Layout Router VideoPrograms Router ã³ã³ãã¼ãã³ã æä¸ä½ã®ã³ã³ãã¼ãã³ãã¨ãã¦ãRouter ã³ã³ãã¼ãã³ããåå¨ããããã®ã³ã³ãã¼ãã³ããå©ç¨ãã¦ããã¼ã¸ãã¨ã«ã©ã®ã³ã³ãã¼ãã³ãã表示ãã¹ãããåå²ããããamakan anime ã®ããããã¼ã¸ã§ã¯ VideoPrograms ã³ã³ãã¼ãã³ããæç»ããamaka
Angularã§ã³ã³ãã¼ãã³ãã¨ã¢ããªãåé¢ãã¦éçºãã¦ãã¦ããã®ã³ã³ãã¼ãã³ãã®éçºã§ä¾åé¢ä¿é転ã®åå(Dependency Inversion Principle)ã使ãã¨ããå ·åã«ã³ã³ãã¼ãã³ããå®ç¾©ã§ããã®ã§ã¯ãªããã¨æ°ã¥ãã¾ããããããããããªããæªããããããªãã®ã§ãããããæè¦ããã ãããããããã§ã åæ ã©ããªAngularéçºã®ç¾å ´ã§ãã¡ãªãããããããã§ã¯ãªãã以ä¸ã®åæãæ³å®ãã¾ãã è¦æ¨¡ãå²ãã¨å¤§ãã å ¨ä½ãæ´ããããã«è¨è¿°ãããç¨åº¦åé·ã«ãªã£ã¦ã許ããã ã³ã³ãã¼ãã³ãã¨ã¢ããªã±ã¼ã·ã§ã³ãåé¢ãã¦ãã ãã©ã«ãåä½ã¨ããã³ã³ãã¼ãã³ããå¥ã©ã¤ãã©ãªã«ãã¦ãããªã© ãã¸ãã¹ãã¸ãã¯ã¨ã³ã³ãã¼ãã³ããæ··ããã®ãé²ãããã¨ããã³ã³ãã¼ãã³ããè¤æ°ã®ãããã¯ãã§å ±æããã¨ã åç´ãªå®è£ Todoãæ±ããããªã³ã³ãã¼ãã³ããAngularã§ä½ãã¨ãã«ãä¸çªåç´ã«ä½ãã¨ã
ã¨ã³ã¸ãã¢ã® id:t930 ã§ãã freee Developers Advent Calendar 2017 19æ¥ç®ããã¾ãã React ã¯ãã®ååãèãããã«ãªã£ã¦ãã3年以ä¸ãçµéããWebã¢ããªã±ã¼ã·ã§ã³éçºã®æèã«ããã¦ã¯ãã¯ãæ¯ããæè¡ã¨è¨ããã§ããããä¼è¨freeeã§ã2015å¹´ããã« Backbone.js ãã React ã¸ã®ãªãã¬ã¼ã¹ãè¡ããç¾å¨ã§ã¯ Reactã³ã³ãã¼ãã³ãã ãã§ã900è¿ããã¡ã¤ã«ãåå¨ãã¦ãã¾ããå½ç¶ãã®ãããªè¦æ¨¡ã§ãã£ã¦ããã¨ãªãã¡ã¯ã¿ãªã³ã°ãå¿ è¦ã«ãªã£ã¦ããããã§ãæ¬è¨äºã§ã¯ãããªä¸ã§å¾ãããReactã³ã³ãã¼ãã³ãã«ããããªãã¡ã¯ã¿ãªã³ã°ã®æéã«ã¤ãã¦ç´¹ä»ãã¦ããã¾ãã1 é©åãªåä½ã«åå²ãã React ã«éã£ã話ã§ã¯ãªãã§ããã巨大ã§è¦éãã®æªãã³ã³ãã¼ãã³ãã¯ã¡ã³ããããªãã£ãåå©ç¨æ§ã®ä½ä¸ãæãã¾ãã表示é åã責åãæå³ä»ãã«
ãã¼ã ã§ã³ã³ãã¼ãã³ããæ§ç¯ãã : éçºè éã§ã³ã³ãã¼ãã³ãã®ä¸è²«æ§ãä¿ã¤ããã®ãã·ã³ãã«ãªç·´ç¿åé¡ ã³ã³ãã¼ãã³ãã¯ ç´ æ´ããã ãã®ã§ãã HTML 㨠JavaScript 㨠CSS ããåå©ç¨ããã¹ããå¯è½ãªã³ã¼ãã®ããã±ã¼ã¸ã¨ãã¦ã«ãã»ã«åã§ãã¾ãã ã³ã³ãã¼ãã³ãã«ã¾ã¤ããä¸ã¤ã®åé¡ã¨ãã¦ã ç¬æç ã«ãªããããã¨ãããã¨ãæãããã¾ããç§ããããã¯ã³ã³ãã¼ãã³ãã ãã¨åé¡ãããã®ãä»ã®äººã«ã¨ã£ã¦ã¯éããã¨ãããã¾ãããéãã¾ãç¶ãã§ãã ãã¼ã ã§ä»äºãããã¨ãã¯ã æè¦ 㨠ç¥è ãå ±æãããã¨ã大äºã§ããããã§ã¯ããã¼ã ã§ã³ã³ãã¼ãã³ããæ§ç¯ããå ´åãæè¦ãä¸è´ãã¦ãããã確èªããããã«ã¯ã©ãããã°ããã§ããããï¼ ãã®æç¨¿ã§ã¯ãç§ãã¡ãã¢ããªã±ã¼ã·ã§ã³ãã³ã³ãã¼ãã³ãã«åè§£ããã¨ãã®æèããã»ã¹ã辿ããèªåãã¡ã®èãã¨å¨å²ã®éçºè ãã¡ã®èãã®ã®ã£ãããã©ã®ããã«åãã¦
è¨ãããã㨠Webããã³ãã¨ã³ãçéã§ãã³ã³ãã¼ãã³ããã¨ããè¨èãèå»¶ãã¦ãã¦ããåå©ç¨å¯è½ã«ãªãããã«è¨è¨ãã¹ãã ãã¨ããè«èª¿ãããããå®éã«ã¯æ¬å½ã«åå©ç¨å¯è½ã§ããå¿ è¦æ§ãããã¾ã§ã極åèããªãã»ããè¯ããYAGNIã¨ãè¨ãã 以ä¸ãç¾æç¹ã§ã®èãã ãã¥ã¼ã®é層åèªä½ã¯OK ããã¯Reactã®æ©æµã¨è¨ã£ã¦ãè¯ãæ°ããã¦ãã¦ãããã¾ã§ããã¾ãæè¨ããã¦æ¥ãªãã£ãããã¥ã¼ã®é層åãã«ã¤ãã¦å ¬å¼ã§èª¬æãã¦ããç¹ãã¨ã¦ãè¯ãã¦ãéçºè å ¨å¡ããã¥ã¼ã¯ããªã¼ã«ãªã£ã¦ãããã¨ãããã¤ã³ãã§çµ±ä¸ã§ããå績ã¯å¤§ããã¨æãã åå©ç¨å¯è½ãªã³ã³ãã¼ãã³ã ãã¥ã¼ã¯ããªã¼ã§ãããã ãã©ããããã³ã³ãã¼ãã³ãã¨å¼ãã§ããã®ã§ãªãã¨ãªãDatePickerã¨ãTextEditorã¿ãããªæ±ç¨çãªãã®ãæ³åãã¦ããã¢ããªã±ã¼ã·ã§ã³ã®äºæ ãç¥ã£ã¦ãã¦ã¯ãããªããã¨ããæ°æã¡ã«ãªã£ã¦ççµåã«ä½ããããªã£ã¦ãã¾ãã
ãã®è¨äºã¯ãã¯ã³ã´ AdventCalendar 2017ã®17æ¥ç®ã®è¨äºã§ãã dwangoã¢ããã³ãã«ã¬ã³ãã¼17æ¥ç®ãæ å½ããã¦ããã ãã¾ã @ln-north ã§ãããã¶ã¤ãã¼ã¨ãã¦2016年度æ°åã¨ãã¦å ¥ç¤¾ãããããã2å¹´ã«ãªãã¾ãã ã¨ã³ã¸ãã¢ããã§åããããã«ã¬ã³ãã¼ã®ä¸ãã²ã£ããã¨ãã¶ã¤ãã¼ãåå ããã¦ããã ãã¾ããã©ãããææããã«â¦ã ã¯ããã« ããä½å¹´ãã®Webããã³ãã¨ã³ãçéã®åãã¯é常ã«å¤§ããããã¦éãããã¶ã¤ãã¼ããè¦ã¦ãæ§ã ãªãã©ãã¤ã ã·ãããèµ·ãã£ã¦ãã¾ããscssãwebpackããHTML5ãCSS3ã¾ã§â¦æ¬å½ã«å¤§å¤ã§ãããã ç¹ã«æè¿ã¯ReactãVueãªã©ã ã³ã³ãã¼ãã³ãæå ã®Webã·ã¹ãã éçºãçºå±ãéãã¦ãã¾ããWeb Componentsãªã©ãå«ããæµããè¦ã¦ãã¨ããããWebã¯ãã®ã³ã³ãã¼ãã³ãæåã«åããããã°ããé²ãã§ããã®ã ããã¨
ã¯ããã« ããã«ã¡ã¯ãã¯ã¦ãªããã°ã¨ã¨ã¢ã話ãä½ããããããª17æ°åã®ã¨ã³ã¸ãã¢Potato4dã§ãã ã²ãããªãã¨ãããã®pixiv insideã«æè¡çãªè¨äºãæ¸ãæ©ä¼ã«æµã¾ããã®ã§ãJavaScriptå¨ãã®è©±ãæ¸ãããã¨æãã¾ãã æ¦è¦ ã¢ãã³ãªJavaScriptç°å¢ã«æ £ã親ããã æ¹ã«ã¯ããã³ã³ãã¼ãã³ããã¨ããåä½ããã¼ã¹ã¨ããUIããã¸ãã¯ã®éçºãè¡ãäºã¯çãããªããã¨æãã¾ãã ããããªããããã®ãã³ã³ãã¼ãã³ããã¨ããåä½ã®å¤§ããã¨å岿æ¨ã«ã¤ãã¦ã¯ãä¸ã ã¾ã¨ã¾ã£ãè³æãåå¨ãããããããã®éçºè ãããã¬ã¼ã ã¯ã¼ã¯ã«ããããã¨ãªã£ã¦ããå°è±¡ãåãã¾ãã æ¨ä»ã®ããã³ãã¨ã³ãéçºãç¹ã«å ¨ã¦JavaScriptã§å®çµããSPAéçºã§é ã®æ©ã¾ããé¨åã¨ãã¦ã¯ãç¶æ ã®ç®¡çã«æ¬¡ãã大ããªèª²é¡ã¨ãªã£ã¦ããã®ã§ã¯ãªãã§ããããã ä»åã®è¨äºã§ã¯ããããªJavaScriptã«ããããã³ã³
ã³ã³ãã¼ãã³ãæåã®è¨è¨ã«ã¡ã³ã¿ã«ã¢ãã«ããã¡ã¤ã³ã¢ãã«ã®ãããªæ¦å¿µãå ããäºã§ãã³ã³ãã¼ãã³ãã«æå³ãæãããè¨è¨ãè©ä¾¡ãè¡ããããããæ¹æ³ãã¾ã¨ãã¾ããã *OOUX / Atomic Design / Domain-Driven Designï¼ãã¡ã¤ã³é§åè¨è¨ï¼ ãªã©ããå¾ãç¥è¦ãéç´ãã¦ãâ¦
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ãç¥ãã
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}