ãææ³ããVue.jså ¥é åºç¤ããå®è·µã¢ããªã±ã¼ã·ã§ã³éçºã¾ã§ãã§ãã£ããVue.jsã«å ¥éãJavaScrptã
JSããã³ãã¨ã³ããã¬ã¼ã ã¯ã¼ã¯ Vue.js ã®æ¬æ ¼å ¥éæ¸
ããã¼â製è¬ã®ç®è¬Vã»âã¼ãã®ãã¼ã¯â¦â¦ãããªãã£ãVue.jsã®Vã®ãã´ããã¤ã£ã¨ç©ããè¼ãæ¬æ ¼å
¥éæ¬ã480ãã¼ã¸ã¨ãã大ããªã¥ã¼ã ã®ãã£ã¤ãããéª¨å¤ªãªæ¬ã§ãã
ãèè
ã®ä¸å¿ã¨ãªã£ãå·å£åä¹ãã(@kazu_pon)ã¯ãOSSã¨ãã¦ã®Vue.jsèªä½ã®éçºã®ã³ã¢ãã¼ã ã§ã³ã³ããªãã¥ã¼ããã¦ãã第ä¸äººè
ãåããã®åsp.53ã§åºã¦ãã¾ã£ãããã¯ç³»Podcastããããªãã©ã¸ãªãã®åæã®é ã®sp.9a/sp.9bããåããPodcastã®ãsoussuneãepisode28ã§ãã²ã¹ãåºæ¼ããã¦ãã¾ããä»ã®ã¡ã³ãã¼ãããããããé¡ã¶ããVue.jsãèªç¤¾ãããã¯ãã®KARTEã§æ´»ç¨ãã¦ãããã¨ã§ç¥ãããPLAIDã®æ¹ããããã¾ããããã£ããããªãã©ã¸ãªMeetup#2ã§ãæ¨æ¶ã§ããããããã(@c5meru)ã®åãããã¾ããã
ãã¨ããããã«ãæ¥æ¬ã®Vueå¢ãéçµããä»äºã¬ãã«ã®æ¬æ ¼éçºåãã®æ¬ã§ãã

Vue.jså ¥é åºç¤ããå®è·µã¢ããªã±ã¼ã·ã§ã³éçºã¾ã§
- ä½è :å·å£ åä¹,åå¤ åä»,éç° é½å¹³,æå³¶ æä¹,çå±± çä¹
- çºå£²æ¥: 2018/09/22
- ã¡ãã£ã¢: åè¡æ¬ï¼ã½ããã«ãã¼ï¼
- JSããã³ãã¨ã³ããã¬ã¼ã ã¯ã¼ã¯ Vue.js ã®æ¬æ ¼å ¥éæ¸
- 1. ããã°ã¬ãã·ããã¬ã¼ã ã¯ã¼ã¯Vue.js
- 2. Vue.jsã®åºæ¬
- 3. ã³ã³ãã¼ãã³ãã®åºç¤
- 4. Vue Routerãæ´»ç¨ããã¢ããªã±ã¼ã·ã§ã³éçº
- 5. Vue.jsã®é«åº¦ãªæ©è½
- 6. åä¸ãã¡ã¤ã«ã³ã³ãã¼ãã³ãã«ããéçº
- 7. Vuexã«ãããã¼ã¿ããã¼ã®è¨è¨ã»ç¶æ 管ç
- 8. ä¸è¦æ¨¡ã»å¤§è¦æ¨¡åãã®ã¢ããªã±ã¼ã·ã§ã³éçºâ éçºç°å¢ã®ã»ããã¢ãã
- 9. ä¸è¦æ¨¡ã»å¤§è¦æ¨¡åãã®ã¢ããªã±ã¼ã·ã§ã³éçºâ¡ è¨è¨
- 10. ä¸è¦æ¨¡ã»å¤§è¦æ¨¡åãã®ã¢ããªã±ã¼ã·ã§ã³éçºâ¢ å®è£
- Appendix
- ã¾ã¨ãï¼Vue.jsã®ä»äºã¬ãã«ã®æ¬æ ¼å ¥éï¼å®è·µã®æ¸
- ä»é²ï¼åæ¥æ¸ç±ã«ããVue.jsã®å¦ç¿é åºãèãã¦ã¿ã
- çãæéã§Vue.jsã®æ¦è¦ãç¥ããã
- ããã°ã©ãã³ã°èªä½ãJavaScriptèªä½ã«æ £ãã¦ããªã人ãå¦ã³ãã
- JavaScriptèªä½ã¯ããç¨åº¦åãããä»äºã¬ãã«ã§å¦ã³ãã
- ä»ã®JSãã¬ã¼ã ã¯ã¼ã¯çµé¨ããã£ããè ã«è¦ãã®ããæ¹ã§ãä»äºã¬ãã«ã§ããã«æ¬æ ¼çã«å¦ã³ãã
- Vue.jsãçè§£ããå¾ãNuxt.jsãããã«å¦ã¶
- ããã¦æè¿ã®ã話
ä¸å¿ããã®ã¨ã³ããªã®äººã®ããã¯ã°ã©ã¦ã³ãã¨ããã³ãã¨ã³ãå(ç¬)
ããã¼ä¸»è»¸ã¯ããã«ãµã¼ãã¼ãµã¤ã(âããã¯ã¨ã³ã)ã¨ã³ã¸ãã¢ã§ããPerlã§BBSãåãã¦ããæä»£ããã®å¾Javaã®Servletãä¸é¸ãã¦Webã®æä»£ãå§ã¾ã£ãæä»£ããä»äºã§éçºããã¦ããã¤ã³ã¿ã¼ãããè人ä¼ä¹ãªä¸ä»£ã§ããGoogle MapãAjaxãjQueryç»å ´ãè¡æãä¸ãã2000å¹´å¾åããã®å¾ã®JavaScriptã®è¦é£ããã®å¾©æ¨©ã®æä»£ãè¦ãã¦ãã¾ãã
ããªãã§ããåã®å±ãã¦ããæ¯è¼çSIerå¯ããã¨ã³ã¿ã¼ãã©ã¤ãºå¯ããæ¥åã·ã¹ãã å¯ããB2BãB2Eã®éçºã§ã¯ãã¢ããªã±ã¼ã·ã§ã³ã®ä¾¡å¤ãã¦ã¼ã¶ã¼ã»ã¨ã¯ã¹ããªã¨ã³ã¹ã¨ãããã¤ããããµã¼ãã¼ãµã¤ãã®ç²¾å¯ãªãã¸ãã¯ã®ä¸ãè¤æ°äººéçºã¨æ©è½æ¡å¼µã«èãããæ´ç¶ã¨ããã¢ã¼ããã¯ãã£ããµã¼ãã¼å´ã§ãã£ã¡ãå¼¾ãå
ç¢ãªã»ãã¥ãªãã£ã綺éºã«è¨è¨ããããã¼ã¿ãã¼ã¹ã®ä¸ã«ãããã¨ãå¤ãã§ãã
ãã¾ã2000年代ã¯JavaScriptãã¾ã çºå±éä¸ã ã£ããã¨ããããéçºã®ä¸ã§ã¯ã©ã¤ã¢ã³ããµã¤ãã¨JSãå ããæ¯çãä½ããã¨ãå¤ããã¡ã¤ã³ãã£ãã·ã¥ã¯ãµã¼ãã¼ãµã¤ããä»ãåããã®å¯èã§ã¡ãã£ã¨JSçãªã¹ã¿ã¤ã«ãå¨å²ã§ã¯ä¸»ã§ããããã©ã¦ã¶ã«ããæåã®éããã¬ã¬ã·ã¼IEåé¡å¨ããããã¾ããããã®ããã¾ãJSã使ããªãã¨ããæµãããªãã¨ãªï½ã2010年代ãç¶ãã¦ãæãããã¾ãããæ¬æ¸ã®1ç« ã«ããã®ãããã®æ´å²ã®è¨è¿°ãããã¾ãã
ã2010年代ã«JavaScriptã®å¢ããã©ãã©ãå¢ãã¦ããã®ãè¥å¹²é¢ããä½ç½®ããè¦ã¦ã¯ããã®ã§ãããæ æ¯çè¡°ãæ¿ãããã¦æ··æ²ã¨ãã¦ãã¼ãã«ã®é«ããæããããä»ã¾ã§ãJSã¯ãªãã¨ãªãã§ä½¿ã£ã¦ããã®ã§èªåãè¥å¹²è¦ææèããã£ããã§ãæ¬é ãã¦ããã¨ãããããã¾ãããããã³ãã¨ã³ãåãããããã³ã§ããã¾ãã
ã2018å¹´ã«æ©ä¼ã«æµã¾ããã®ã§ä¸æ©å
¥éãES6ã®ã¢ãã³JSã復ç¿ããªããã¦ããã³ãã¨ã³ãã®åºç¤ãå¦ç¿ãã¯ã©ã¤ã¢ã³ããJSï¼ãµã¼ãã¼ãµã¤ããPHPã®Laravelã®æ§æã§JSã®æ¯çãé常ã«å¤§ããWebã¢ããªã±ã¼ã·ã§ã³ã«ãããã³ãã¨ã³ãæè¡ã®åºæ¬ãå°å
¥ãã¦ç«ã¦ç´ãã¦éçºãé²ããæ¡ä»¶ãããã¾ããã
ããã®ä¸ã§ãã«ãªãã¥ã¼ã¢ã«ããªã¼ã«SPAåã¾ã§ã¯è¡ããªãã£ãã®ã§ãããç¹ã«è¤éãªç»é¢ãjQueryã§DOMè¦ç´ ãç´æ¥æä½ãã¾ãã£ã¦ã°ã¬ã¤ããªãã¨ã«ãªã£ã¦ããç»é¢(ã¾ããå¯ãä¸ãã)ã«å·å¿µã®ãªãã¡ã¯ã¿ãªã³ã°ã宿½ãã¡ã¤ã³æ©è½ãVueã³ã³ãã¼ãã³ãåãã¦åãé¢ãã表示ã¨ãã¼ã¿ã¨ãã¸ãã¯ãåé¢ãããã®å¾ã®ãããã°ãæ¹é ãæ©è½æ¡å¼µã«èãããJSã³ã¼ãã«æ¹è¯ããã¨ãã宿¡ä»¶ã§ã®å®ç¸¾ãä¸ãããã¨ãã§ãã¾ããããã®æ¡ä»¶ã®ããã«ã¾ã 忥æ¬ãæãåã®é ãããVue.jsæ
å ±ã調ã¹ã¾ãã£ã¦ãã¾ããã
ã以ä¸ãåç« ãã¨ã«æ¯ãè¿ãã¨ææ³ãªã©ãã

1. ããã°ã¬ãã·ããã¬ã¼ã ã¯ã¼ã¯Vue.js
ã2013å¹´ã«èªçãç¶ãã¦ããVue.jsã®å¤é·ã¨æ¦è¦ã®ç« ãWebèªä½ã®æ´å²ã90年代ãã解説ãã¦ãããå人çã«ã¯æãããã¨ããã§ãããã®2010å¹´ä»£ã«æ¥çã«å
¥ã£ãè¥ãæ¹ã«ã¯ç¸ããªãããããã¾ããããããããéå»ã®çµç·¯ãç¥ãã¨ãªãä»ã®æè¡ãããã®ããåããä¸é¢ãããã¾ãããã®æ´å²ã®ä¸ã§ããã³ãã¨ã³ããçºå±ãã¦ããã¨ããã®ãç¥ã£ã¦ããã¨å½¹ç«ã¤ã¨æãã¾ãã
ãããã¦Vue.jsã®ç¹å¾´ã¨ãã¦å¦ç¿ã³ã¹ãã®ä½ããã³ã³ãã¼ãã³ãæåã§ãããã¨ããã¼ã¿ãã¤ã³ãã£ã³ã°ã段éçã«æ©è½ãå¢ããã¦ãããããã°ã¬ãã·ãã»ãã¬ã¼ã ã¯ã¼ã¯ã®è¨è¨ææ³ãªã©ã
ãä»®æ³DOMã®å
é¨çãªè©±ããå§ãã®ä¸æ©ã¨ãã¦ç´æã®Hello Worldã表示ããVueã¤ã³ã¹ã¿ã³ã¹ããªã³ã©ã¤ã³ã§ãã©ã¦ã¶ä¸ã§åä½ã確èªã§ããJSFiddleã®è©±ãVueé¢é£ã³ãã¥ããã£ã®è©±ãªã©ã
ãæ¬æ¸å«ããæè¿ã®ããã³ãã¨ã³ããJavaScriptã®æ¬ã¯ã ãããä¸çªæåã«æ´å²ã解説ãã¦ãã£ã¦è¦ªåã ãèªãã§ãã¦ãé¢ç½ãã§ãããèªåçã«ã¯ãã®1ç« ã¯ã¹ã©ã¹ã©èªãã§çè§£ã§ãã¦ããããã£ã±ããã®1å¹´ã§ã ãã¶çè§£ãé²ãã ãªã¨å®å¿ãã¾ããã
2. Vue.jsã®åºæ¬
ãåºæ¬ã®ç« ãæåã«UIæ§ç¯ã®èãæ¹ã¨ãã¦ãjQueryã¨ã®å¯¾æ¯ã®è©±ãè¿°ã¹ããã¦ãã¾ãã
- jQuery: DOMããªã¼ããã®ã¾ã¾UIãæã¡ãã¤ãã³ããã¨ã«DOMããªã¼ãç´æ¥å¤æ´ãã¦ããã
- Vue.js: UIã®ç¶æ ãDOMããªã¼ã¨å¥ã®JavaScriptãªãã¸ã§ã¯ãã§æã¡ããããä¸å¿ã«èãããUIã¯ãã®JSãªãã¸ã§ã¯ãã§è¡¨ç¾ããUIã¨DOMããªã¼ãVue.jsããããã³ã°ããã¤ãã³ãã§JSãªãã¸ã§ã¯ããéãã¦ç¶æ ã夿´ãã¦ããããããVue.jsã®ã³ã¼ãã£ã³ã°ã¹ã¿ã¤ã«ã§ããã
ãæ¬è³ªã¯ããçãæ¸ããAPIã®éåã§ãããªãjQueryã¯è¨è¨ã®èãæ¹ããªãã®ã§ãªãã§ãé©å½ã«å®è£
ã§ãã¦ãã¾ãããVue.jsã¯ãã®ææ³ãããã®ã§è¦æ¨¡ã大ãããªã£ã¦ããã¡ãã¨ããè¨è¨ãä¿ã£ãã¾ã¾éçºãã¦ããããâ¦ã¨ããææ³ã§ãããæåã«ãã®è©±ãããã®ã¯ããã§ããã
ãããã³ãã¨ã³ãç³»ã®æ¬ã ã¨ãµã³ãã«ã³ã¼ããã ãããç´æã®ToDoã¢ããªã®ãã¨ãå¤ãã§ãããæ¬æ¸ã¯éçãªã©ãè²·ããææ¿å
·ã®è³¼å
¥ãã©ã¼ã ç»é¢ãä¾ã«åºæ¬é¨åã解説ãã¦ããã¾ãã
ãç´æã®Vueã¤ã³ã¹ã¿ã³ã¹ããã¦ã³ãæé ãDataããããã£ã®å®ç¾©ãMustacheè¨æ³ã«ãããã³ãã¬ã¼ãããã£ã«ã¿ãç®åºããããã£ãå種ãã£ã¬ã¯ãã£ããªã©ä¸éãã
ãæã ç»å ´ããã³ã©ã ããã¢ã¼ããã¯ãã£ãã¿ã¼ã³ã®MVVMãã¿ã¼ã³ã«è§¦ãã¦ããããæ¢åã¢ããªã±ã¼ã·ã§ã³ã¸ã®çµã¿è¾¼ã¿æ¹ããªã¹ãã®ã¬ã³ããªã³ã°ã¯é åæä½ã¡ã½ãããåå®ç¾©ãã¦ãã話ãç®åºããããã£ã®ãã£ãã·ã¥ã®ä»çµã¿ãªã©ãªã©ã使°ã«éè¦ãªãå½¹ç«ã¡æ å ±ãå¤ãã§ãã
3. ã³ã³ãã¼ãã³ãã®åºç¤
ãå®åã¬ãã«ã®éçºã ã¨å¿
é ã«ãªãVueã³ã³ãã¼ãã³ãã«ã¤ãã¦ã®æ¦å¿µã¨å®è£
æé ã®ç« ã
ãã³ã©ã ã§W3Cæå±ã®Web Componentsã¨ã®é¢é£ã®è©±ãããéè¦ã§ããã¾ã注éã§ããã³ã³ãã¼ãã³ããã¨ããè¨èã¯æèã«ãã£ã¦æå³ãéããã¨ãä½ãæ¸ããããããã£ã±ãããã¸ãæ··ä¹±ããã¡ãªãã ãªã¨æãã¾ãã
ãæåã¯ç°¡åãªãã«ã¼ãä¸è¦§è¡¨ç¤ºã®tableã¿ã°ã®ã³ã³ãã¼ãã³ããä¾ã«åãã親åé¢ä¿ããã¼ã«ã«ã³ã³ãã¼ãã³ããªã©ã解説ãã¦ããã¾ãã
ãé¢ç½ãã®ã¯å®ã¯ä½éãããããã³ãã¬ã¼ãæ§ç¯æé ã§æç»é¢æ°ã¨ããã®ããããã§ãããã³ã³ãã¼ãã³ãå
ã«renderãªãã·ã§ã³ã§createElement颿°ã®å®è¡çµæãè¿ãæç»ã ãããã®ã§ããããã®ã¸ãã¾ã§è¡ãã¨åããJSãã¬ã¼ã ã¯ã¼ã¯ã§ããReactããã¯ãªæãããã¦ãã¾ãã
ãããprops down, events upã®è¨èã§è¡¨ããããã³ã³ãã¼ãã³ãééä¿¡ãã³ã©ã ã§ã親åã®ããã¨ãã¯$parent, $childrenã使ã£ã¦ç´æ¥åç
§ãã§ãããã©ãè¨è¨ã®æ··ä¹±ãæãããè¯ããªãã¨ã¯ã£ããæ¸ãã¦ããã¾ãããã¯ããã¬ã¼ã ã¯ã¼ã¯å´ã®æä¾ãããã¹ããã©ã¯ãã£ã¹ã«å¾ã£ãæ¹ãããã®ã§ããã
ãããã¦ãVue.jsã§ã¯ç»é¢ã®ä¸ã§ã©ã®åä½ã§Vueã³ã³ãã¼ãã³ãåããããèªç±ãªã®ã§æ©ãã®ã§ãããã³ã³ãã¼ãã³ãè¨è¨ã§ã®å岿éãæ¸ãã¦ãã£ã¦ãããæç¨ã§ããã»ããã³ã©ã ã§ã¯ã³ã³ãã¼ãã³ãåä½ã®ã³ã¼ãã§ã®åä½ãã¹ãæ¹æ³ã¨ãã¦ãã¹ãã©ã³ãã¼ã®Karmaããã¹ãã£ã³ã°ãã¬ã¼ã ã¯ã¼ã¯ã«mochaã使ã£ãæåã®ãã¹ãä¾ãã
4. Vue Routerãæ´»ç¨ããã¢ããªã±ã¼ã·ã§ã³éçº
ãVue.jså ¬å¼ãæä¾ãã¦ããURLã«ã¼ãã£ã³ã°ã®ã©ã¤ãã©ãªãVue Routerã使ã£ã¦SPAç¨ã®URLã«ã¼ãã£ã³ã°ãå®ç¾ãã¦ããç« ãæåã«è¨è¨ã¨ãã¦ã¾ãå ¨ä½ãèãã¦ããã³ã¼ãã£ã³ã°ããã¿ã¼ã³ãããã³ã°...ã¨ä½æ¥ã¯é²ãã§ããã¾ããå¾ã ã«ãµã³ãã«ã³ã¼ããé·ããªããæ¬ç« ã§ã¯ã¦ã¼ã¶ç»é²ãã©ã¼ã ã¨ãã°ã¤ã³ã»ãã°ã¢ã¦ãã®å¦çãåºã¦ãã¾ãããã¹ãããã«ã¼ãã£ã³ã°ãã¨ã¤ãªã¢ã¹ãªã©é«åº¦ãªä½¿ãæ¹ã解説ããã¦ãã¾ãã
ããªãç« æ«ã³ã©ã ã§ãå ¬å¼ã«ã«ã¼ãã£ã³ã°ã¯Vue Routerãç¶æ 管çã¯Vuexã使ããã¨ãæ¨å¥¨ãã ãå¿ ã使ãã°è¯ãã¨ãã訳ã§ã¯ãªãã¨ãããã¨ã§å°å ¥æéãè¿°ã¹ããã¦ãã¾ãããããã£ãéè¦ãªã®ã§ç´¹ä»ãã¾ãã¨ã
- 両æ¹ã¨ã使ããªãï¼
URLã«ã¼ãã£ã³ã°ããµã¼ãã¼ãµã¤ãã§ãè¤éãªã³ã³ãã¼ãã³ãæ§æããªããç»é¢ãã·ã³ãã«ãªã¢ããªã±ã¼ã·ã§ã³ã徿¥ã®ãµã¼ãã¼ãµã¤ãã¡ã¤ã³ã®ECãµã¤ãããã£ã³ãã¼ã³ãµã¤ããªã©ã®1æçµµã®ã©ã³ãã£ã³ã°ãã¼ã¸ã - Vue Routerã®ã¿ã使ãï¼
ã·ã³ãã«ãªSPAãã¼ã¹ã®ç®¡çç»é¢ã軽快ãªãã¼ã¸é·ç§»ãæä¾ããã²ã¼ã ãªã©ã(æç¢ºã«è¨è¿°ããã¦ã¯ããªãããæããã³ã³ãã¼ãã³ãã®æ°ãå°ãªããã¨ãæ³å®ãã¦ãããã) - Vuexã®ã¿ä½¿ãï¼
1ãã¼ã¸å ã§è¤æ°ã®ã³ã³ãã¼ãã³ããéä¿¡ãã¦ãã¼ã¿ã飿ºããã¢ããªã - Vue Routerã¨Vuexã両æ¹ä½¿ãï¼
è¤æ°ãã¼ã¸ãã¤è¤éãªã³ã³ãã¼ãã³ãæ§æã®å¤§è¦æ¨¡SPAãã¡ã¼ã«ãã«ã¬ã³ãã¼ã¢ããªãªã©ã
ãåã宿¡ä»¶ã§Vue.jsã使ã£ãã±ã¼ã¹ã§ã¯å¨è¾ºæ
å ±ããããã調ã¹ãçµæããã®è¦ä»¶ã ã¨ã·ã³ãã«ã«ä¸¡æ¹ä½¿ããªããæ£è§£ã ããã¨ããçµè«ã«èªç¶ã¨éãã¦ããããã®ã§ãããæ¬æ¸ãèªãã§æ¹ãã¦ãã®æã®ã¯æ£ãã鏿ã ã£ãã®ãªã¨æãè¿ãã¾ããã
ããã®ã¸ãã¯ã¢ããªã±ã¼ã·ã§ã³å
¨ä½ã®è¨è¨æã«è¿·ããããªã®ã§ä½æ°ã«è¶
éè¦æ
å ±ã§ããããããè¨è¨è¦³ç¹ã®è¨è¿°ãå¤ãã®ã¯ã¨ã¦ããããããã§ãã
ãæè¿ã¯ã¦ãã§è©±é¡ã«ãªã£ãQiitaã®è¨äºã§ããVuexã¯ããã¿ã«å ¥ããªãã»ããè¯ãã¨ããè«ãããã¾ããã確ãã«ã«ãã»ã«åããã巨大ãªã°ãã¼ãã«å¤æ°ã¿ãããªãã®ã ã¨ããã®ã¯ããã¾ããã
5. Vue.jsã®é«åº¦ãªæ©è½
ããªãã·ã§ã³çã«æ§ã
ãªæ©è½ãããé«åº¦ãªæ©è½ãè¿°ã¹ã¦ããç« ãã·ã¥ãã¨ã¢ãã¡ã¼ã·ã§ã³ã§åããã¦ãããã©ã³ã¸ã·ã§ã³ãåãã®ã¤ãã³ãã®åå¾ã«JavaScriptã®å¦çãããã¯ãããæ¹æ³ãã³ã³ãã¼ãã³ãå
ã®ã³ã³ãã³ããå¤å´ããåãä»ããã¹ãããã®æ©è½ãªã©ã
ãå®ã¯V-ã§å§ã¾ããã£ã¬ã¯ãã£ãã¯èªä½ã§ããã¨ã®ãã¨ã§ã«ã¹ã¿ã ãã£ã¬ã¯ãã£ãã®æ¹æ³ãã³ã©ã ã§ã³ã³ãã¼ãã³ãã¨ããã¯ã¹ã¤ã³ã¨ã®éãã解説ããã¦ãã¦éè¦ã§ãã
ãjQueryç³»ã«ãç´æ¥DOMæä½ããã¦ãã¾ãã©ã¤ãã©ãªã¯å¤ãã§ãããããããVue.jsç¨ã«ã«ã¹ã¿ã ãã£ã¬ã¯ãã£ãã®å½¢ã§ã©ããã¼ãã¦ãããã©ããã¼(Wrapper)ã©ã¤ãã©ãªãæä¾ãã¦ãããã¨ãå¤ãã®ã§ãããã使ãã¨è¯ãã¨ããã®ã¯ã¸ãã¨æãã¾ããã
ä½ããä¸ã«å
ã¿è¾¼ãã§ã©ãããããã®ãä½ã£ã¦ãã¡ããä½¿ãææ³ãGoFãã¶ã¤ã³ãã¿ã¼ã³ã ã¨Adapterãã¿ã¼ã³ã«è¿ããã¤ã§ããããµã¼ãã¼ãµã¤ãã®éçºã§ãããããã®ã¯ãããããã§ãããæ½è±¡åº¦ãä¸ãã£ã¦ããã¨ãã®è¾ºã¯åããªãã ãªãã¨æãã¾ããã
ãæ®æ®µã¯ãã³ãã¬ã¼ããã³ã³ãã¤ã©ãèªåçã«æç»é¢æ°ã«å¤æãã¦ããã¦ããã¨ãããæç»é¢æ°ã¯å®ã¯ç´æ¥ã³ã¼ãã£ã³ã°ã§ããã¨ããé«åº¦ãªè©±ãè¼ã£ã¦ãã¾ãããã å¿
è¦ãªã±ã¼ã¹ã¯ããªãéãããã¨ã®ãã¨ã§ãã¹ããããã¦ãè¯ãã®ã§ãããããã®ä¸èº«ã®è©±ã¯Reactã®ä¸çã«è¿ã¥ãã¦ããæãããã¾ãã
ãã»ãããªãã¸ã§ã¯ãæåã®ç¶æ¿ã¨ä¼¼ã¦ãããã©ã¡ãã£ã¨éãããã¯ã¹ã¤ã³ã¯ãååã®ã¤ãããã¨ãã¦ãåè©ï¼ableããæ¨å¥¨ã¨ããã¾ããCountableã¨ãSerializableã¨ãSortableã¨ãã§ããããã®ã¸ããä»ã®è¨èªã«ãããã¤ã³ã¿ã¼ãã§ã¼ã¹ã®å½åè¦ç´ã¨åãã§é¢ç½ãã§ãã
6. åä¸ãã¡ã¤ã«ã³ã³ãã¼ãã³ãã«ããéçº
ãä¸è¦æ¨¡ä»¥ä¸ã®éçºã§ã¯ã»ã¼å¿
é ã«ãªãã.vueãã¡ã¤ã«ã®ä¸ã«HTMLã¨CSSã¨JSãã¸ãã¯ãæ¸ãã¦ã²ã¨ã¤ã®Vueã³ã³ãã¼ãã³ãã«ããSingle File Componentsã®ç« ã
ãSFCãæ£å¼ç¥ç§°ã§ããVue Componentsã¨å¼ã¶ãã¨ãããããã§ããåããJSãã¬ã¼ã ã¯ã¼ã¯ã®Reactã®ä¸çã ã¨Stateless Functional Components(ç¶æ
ãæããªã颿°ã³ã³ãã¼ãã³ã)ãç¥ãã¦SFCã ããã§ãããããã§ããã
ãããã¾ã§æ¥ãã¨JSã®ãã«ããå¿
é ã«ãªãã®ã§ã»ã¼å¿
è¦ã¨ãããã¨ã§ãæé ã§Node.jsãã¤ã³ã¹ãã¼ã«ããã»ããã¢ããã«Vue CLIãä½¿ãæ¹å¼ã§ä¾ãé²ãã§ããã¾ãã
.vueãã¡ã¤ã«ãå®è£
ããéã®è²å¤ããã·ã³ã¿ãã¯ã¹ãã¤ã©ã¤ããã§ããã¨ãã£ã¿ã¨ãã¦ã¯Visual Studio CodeãWeb Stormãç´¹ä»ããã¦ãã¾ãã
ããã«ãã®æ¦å¿µã®å³ã®ä¸ã§ã¯browserifyãªã©ã®ã©ã¤ãã©ãªãååãåºã¦ãã¾ãããåä¸ãã¡ã¤ã«ã³ã³ãã¼ãã³ããæä¾ãããã¹ã¦ã®æ©è½ãå©ç¨ã§ããã®ã¯ããã³ãã«ãã¼ã«ã®webpackãããã¦webpackã§ãã«ãããéã«å¿
è¦ãªã©ã¤ãã©ãªã®Vue Loaderã ãã ã¨ã¯ã£ããæ¸ãã¦ããã¾ããéå»ã«ã¯ããããçµç·¯ãããã¾ããããããwebpack+Vue Loaderåºå®ã¨èãã¦ãããã§ããã
ãåä¸ãã¡ã¤ã«ã³ã³ãã¼ãã³ãã®å®è£
ã§HTMLãããçç¥ãã¦æ¸ãããRailsã§ããè¦ãHamlãPugè¨æ³ã§æ¸ãããæ¹ãCSSããªããã»ããµã®SassãLessã§æ¸ãããæ¹ãJSã®ä»£ããã«TypeScriptã§æ¸ãããæ¹ãVue CLIã使ãã¨ãã¾ãè¨å®ãã¦ããã話ã詳ããè¼ã£ã¦ãã¾ãã
ãã¾ããSFCã¨ãã£ãã<template>, <script>, <style>ã®3ãããã¯ã¯ããåºå®ã®ç´æãªã®ãã¨æã£ã¦ãããå®ã¯ã«ã¹ã¿ã ãããã¯ã¨ãã¦èªä½ãã§ããã¨ã®ãã¨ã§ããããã¯è¦ç´ ãèªä½ããé«åº¦ãªè©±ãã³ã©ã ã«ä¹ã£ã¦ãã¾ãã
7. Vuexã«ãããã¼ã¿ããã¼ã®è¨è¨ã»ç¶æ 管ç
ãå
¬å¼ãæä¾ãã¦ããç¶æ
管çã©ã¤ãã©ãªã®Vuexã®å®è£
æ¹æ³ãããã¦ããéè¦ã«ãªã£ã¦ããè¨è¨ã®ç« ã
ãç¶æ
ãå«ãã¢ããªã±ã¼ã·ã§ã³ãæã¤ãã¼ã¿ã®æµããããã¼ã¿ããã¼ãã¨å®ç¾©ãããã®è¨è¨ãéè¦ã ã¨å±éãã¦ããã¾ãããã®ã¸ãã調ã¹ã¦ããã¨ããåºã¦ãããFacebookæå±ã®Fluxã¢ã¼ããã¯ãã£ã®å³ãåºã¦ãã¾ãã
ãè¤éãªãã¼ã¿ã®ä¾ã¨ãã¦ToDoãªã¹ããåºã¦ããã®ã§ãããVue.jsã®æ¬ãè²·ãã®ã¯2ã¤ãã®ã¿ã¹ã¯ã§1ã¤ãã®ã¿ã¹ã¯ã¯ãçä¹³ãè²·ããã«ãªã£ã¦ãã¦ããªããèèToDoã¢ããªã®Remember The Milkãæãåºãã¾ããããã®åã¿ã¹ã¯ã«ãã£ã¤ããã©ãã«ãæååã§ãªãIDã§æã¦ã°ãä¿®æ£æã«å ¨æ´æ°ããªãã¦æ¸ããâ¦ã¨ãRDBã§è¨ã£ããå¤é¨ãã¼ã§æã¤ãããªè©±ãä¾ã«é²ãã§ããã¾ãã
ããã¼ã¿ããã¼ã®é »åºãã¿ã¼ã³ã¨ãã¦ãä¿¡é ¼ã§ããå¯ä¸ã®æ
å ±æºããç¶æ
ã®åå¾ã»æ´æ°ã®ã«ãã»ã«åããåæ¹åãã¼ã¿ããã¼ãã®3ã¤ãéè¦ããããVueã§å®è£
ããã©ã¤ãã©ãªãVuexãã¢ã¯ã·ã§ã³âãã¥ã¼ãã¼ã·ã§ã³âã¹ãã¼ãâã²ãã¿ã¼ã®4ã¤ã®æµããã¾ã¨ãã¦ãã¢ã¸ã¥ã¼ã«ãã¨ããåä½ã§å¼ã¶ã®ã¯åãã¦ç¥ãã¾ããã
ãå®éã®ä¾ã¨ãã¦ãããã»ã©ã®çä¹³ãè²·ã£ããããã¿ã¹ã¯ç®¡çã¢ããªããµã³ãã«ã³ã¼ãã¨ãã¦è§£èª¬ãã¦ãã¾ããVuexå´ã«ã¯ã¿ã¹ã¯ã²ã¨ã¤ã²ã¨ã¤ã«id,name, doneãæã£ããªãã¸ã§ã¯ãã®é
åã¨ãã¦æãããå½¢ã§ããããã®æ¹å¼ã使ãã¨ã¿ã¹ã¯ã®èªã¿æ¸ãVuexã¹ãã¢å
ã«éä¸ããã¢ããªå´ã®ã³ã¼ãã¯å¼ã³åºãã®ã¿ã«ãªã£ã¦è¯ãè¨è¨ã«ãªããâ¦ã¨è«ãã¦ãã¾ãã
ãé«åº¦ãªè©±ã¨ãã¦ã¯ãVuexã¹ãã¢ã¨ã³ã³ãã¼ãã³ãã®ç¹ãããæå°éã«ççµåã«ããææ³ã¨ãã¦ãReactã§æå±ããã¦ãã表示ã³ã³ãã¼ãã³ã(è¦ãç®ã ãã®ã³ã³ãã¼ãã³ã)ã¨ã³ã³ããã¼ã³ã³ãã¼ãã³ã(Vuexã®ã¹ãã¢ã«ã¢ã¯ã»ã¹ã§ããã³ã³ãã¼ãã³ã)ã®2ã¤ã«åããèãæ¹ã¯Vueã«ãé©ç¨ã§ãããã¨ãã話ã解説ããã¦ãã¾ãã
ãã¯ãå®è£
ãããæ½è±¡åº¦ã䏿®µä¸ãã£ã¦è¨è¨ã®è©±ã«ãªãã¨ããããã風ã«å¥ã®ãã¬ã¼ã ã¯ã¼ã¯ã§ã®èãæ¹ãé©ç¨ã§ããã®ã ãªã¨æ¹ãã¦æãã¾ãã
ãã¾ãæå¾ã«ã¯URLããVue Routerãèªã¿åã£ã¦æã£ã¦ããå¤ãVuexã«æ¸¡ãããâ¦ãªã©ã®æã«ä½¿ããvue-router-syncã¨ããã©ã¤ãã©ãªãç´¹ä»ããã¦ãã¾ãã
8. ä¸è¦æ¨¡ã»å¤§è¦æ¨¡åãã®ã¢ããªã±ã¼ã·ã§ã³éçºâ éçºç°å¢ã®ã»ããã¢ãã
ãä»äºã§ä½¿ã£ã¦ãã人ã«ã¯å¾
æã®ãæ¬æ ¼çãªéçºã解説ãã¦ããç« ããã®ã¸ããããã£ã¨é£ãããªã£ã¦ããã¾ããTwitterãããã°ãè¦ã¦ããã¨ãåå¦è
ã®äººã¯ãã®ãããã®ç« ã§æ«æããã¨ããã®ãå²ã¨è¦ããã¾ããã
ãã¾ãVueã³ã³ãã¼ãã³ããåä¸ãã¡ã¤ã«ã³ã³ãã¼ãã³ãããã¾ã使ãã ãã§ãVue.jså°å
¥ã®ä¾¡å¤ã¯ããã¾ãããããã¼ãã«ã®é«ããæããããã®8ã10ç« ã¯å¾åãã«ãã¦ãååããã£ã¡ãçè§£ãã使¦ã§ããããã¨æãã¾ãã
ãæåã«ããã³ãã¨ã³ã(ã¯ã©ã¤ã¢ã³ããµã¤ã)ã¨ããã¯ã¨ã³ã(ãµã¼ãã¼ãµã¤ã)åãããä¸è¬çãªWebã¢ããªã±ã¼ã·ã§ã³ãã¬ã¼ã ã¯ã¼ã¯ãã ãããæã£ã¦ããæ©è½è¦ç´ ãä¸è¦§ã§èª¬æã
Vue.jsã¯ããã°ã¬ãã·ãã»ãã¬ã¼ã ã¯ã¼ã¯ã®ææ³ãããã®ã§ãé«åº¦ãªè¦ç´ ã¯ä½¿ã£ã¦ã使ããªãã¦ããããå¾ããå¥ã©ã¤ãã©ãªã§å
¥ãã¦æ¡å¼µãã¦ãããâ¦ã¨ãã話ãè¿°ã¹ã¦ãã¾ããããã§å¯¾æ¯ã¨ãã¦æåããå
¨é¨ä¹ãã®ãã«ã¹ã¿ãã¯ãªãã¬ã¼ã ã¯ã¼ã¯ãåå¨ãããã¨ãæ¸ãã¦ãããæ¬æ¸ã§ã¯æè¨ã¯ããã¦ãã¾ãããAngularã®ãã¨ãæãã¦ãã¾ããã
ãæ³¨éã§è¦æ¨¡ã®å®ç¾©ããã¦ããã¾ãããã®å°/ä¸/å¤§è¦æ¨¡ã£ã¦è¨èã§ã¯ãã£ãããã£ã¼ãªã³ã°ã§ä½¿ããã¡ãªã®ã§ããããã®æ¬ãªãã®å®ç¾©ããã¦ããã®ããããããã§ãã
- ä¸è¦æ¨¡ï¼éçºè 1ã2人ã§10ç»é¢åå¾ãï¼ç¶æ 管ç
- å¤§è¦æ¨¡ï¼éçºè 3人ãã§20ç»é¢ããï¼è¤éãªç»é¢é·ç§»ï¼ç¶æ 管ç
ã8ã10ç« ã§éçºãã¦ããã®ã¯ã«ã³ãã³ã¢ããªã±ã¼ã·ã§ã³ã§ããæåã«ãã°ã¤ã³ç»é¢ããã°ã¤ã³ããã¨TODO/WIP/DONEã®3ã¤ã®ã¿ã¹ã¯ãªã¹ããããããã®ä¸ã«ä¸ã¤ä¸ã¤ã®ã¿ã¹ã¯ãããã追å ãããæ´æ°ãããåé¤ãããã¨ããå
·åã
SPAã®ããããæ§æã§ãµã¼ãã¼ãµã¤ãã¯APIã¨ãã¦JSONãéä¿¡ããã ãããµã³ãã«ã³ã¼ãã§ã¯çç¥ããã¦ãã¾ããNode.jsã®Expressãã¬ã¼ã ã¯ã¼ã¯ã§ä½ããã¦ããã¨ããæ³å®ã§é²ãã§ããã¾ãã
ãéçºæ¯æ´ãã¼ã«ã¨ãã¦Vue CLIãå¿
é ã«ãªã£ã¦ãããããããæºåãããããã¹ã¦Vue CLIçµç±ã§è¡ãã¾ããæ³¨æç¹ã¨ãã¦ã¯2018å¹´8æãªãªã¼ã¹ã® Vue CLI 3.0ãã§ã¯æ°ããããã¸ã§ã¯ããä½ãæã«vue createã³ãã³ãã使ãã¾ãããæ¬æ¸ã§ã¯æ¢åããã¸ã§ã¯ããèãã¦ã¬ã¬ã·ã¼ã³ãã³ãã®vue initã使ã£ã¦ããããã§ãã
ãæ¬æ¸ã®éçºä¾ã§ã¯ä»¥ä¸ã®é ã«ã»ããã¢ãããè¡ã£ã¦ãã¾ãã
- å種ãã¼ã«ãè¨å®ãã¡ã¤ã«ããã©ã«ãæ§æãªã©ãVue CLIã使ãã¨ãã©ã«ãæ§æã¯èªåã§å®ã¾ãã
- ãã¹ãç°å¢ãVue CLIçµç±ã ã¨ä¸ç·ã«æããåä½ãã¹ãã¨ãã¦ã¯ãã¹ãã©ã³ãã¼ã¨ãã¦Karmaããã¹ãã©ã¤ãã©ãªã§Mochaãªã©ã使ãã
- E2Eãã¹ã(çµåãã¹ãã¨ãã·ã¹ãã ãã¹ã)ã§ã¯ãSeleniumã®ä¸ã§åãNightwatchã¨ããã©ã¤ãã©ãªã使ãã対å¿ãã©ã¦ã¶ã¯ç¾å¨Chromeã ãã
- ãµã¼ãã¼å´ãæªå®è£ ã®æã¯â¦ã¢ãã¯ãµã¼ãã¼ãä½ã£ãããAPIãå¼ã¶ç®æãå¼ã¶å ã§åºå®å¤ãè¿ãããã¯ããæãã¤ãããVue CLIã§ã¯éä¿¡å URLãå¥ã®URLã«èªåçã«å¤ãã¦ããããããã·æ©è½ãå ããæã£ã¦ããã
- ãµã¼ãã¼å´ãã©ã®ãã¬ã¼ã ã¯ã¼ã¯ãã«ãããwebpackãã³ãã¬ã¼ãã®è¨å®ãã¡ã¤ã«ã§èª¿æ´ã§ããããã«ãªã£ã¦ãããä¾ã«ä¸ãã£ã¦ããã®ã¯Rubyè¨èªã®RailsãPythonè¨èªã®DjangoãPHPè¨èªã®LaravelãJS/Node.jsã®Expressã
- ã³ã¼ãã£ã³ã°ç°å¢ã¯VSCodeã使ããVSCodeã¨ã¯ã¹ãã³ã·ã§ã³ã§Veturã使ã£ã¦ã·ã³ã¿ãã¯ã¹ãã¤ã©ã¤ããããã®ãæ¨å¥¨ã
- ã³ã¼ããã§ãã¯ã«ã¯eslint-plugin-vueãnpmããå ¥ããã
- ãããã°ã¯ãã©ã¦ã¶ã¨ã¯ã¹ãã³ã·ã§ã³ã®Vue DevToolsã使ããChomeã¨FireFoxã§åãã
- ç¶æ 管çã©ã¤ãã©ãªã¯å ¬å¼ã®Vuexãnpmçµç±ã§å ¥ããã
- ãµã¼ãã¨éä¿¡ããã©ã¤ãã©ãªã¯jQueryã§ãªããaxiosã使ãã
- ãã¹ãã¦ã¼ãã£ãªãã£ã¨ãã¦Vue Test Utilsãæºåã
- E2Eãã¹ãã®ã©ã¤ãã©ãªNightWatchã«æºåãããã
ãåãã¢ã¼ããã¯ãè·ã¨ãã¦ãµã¼ãã¼ãµã¤ãã¡ã¤ã³ã®éçºãããæã«ããããªé¢¨ã«æ¡ä»¶ãã¨ã«ã©ã¤ãã©ãªããã¬ã¼ã ã¯ã¼ã¯ããã¼ã«ã決ããããã»ããã¢ããæé ãExcelã®æé æ¸ã«æç¢ºã«æ¸ãã¦å±éãããããã¼ã¸ã§ã³ç®¡çã·ã¹ãã ã«äºã諸ã
ç»é²ãã¦ãè³ç«ã¦ããããéçºã¡ã³ãããã©ãã¼ãããâ¦ã¨ã ãããä¼¼ããããªãã¨ããã¦ãã¦å
±æããã®ã§ãããå¤§è¦æ¨¡éçºã«ãªãã»ã©ã ãã¶æé ãå¤ãã¦å¤§å¤ã§ãããããVue.jsã§ä¸ãå¤§è¦æ¨¡ã®æ°è¦ããã¸ã§ã¯ããå§ããæã¯ãã®æ¬ã®æ¬ç« ã®æé ããææ¬ã«ãã¦ãããããªæãã§ããã¨æãã¾ãã
ãã¾ããåã¯çµå±Vue CLIã¯å®æ¡ä»¶ã§ã¯ä½¿ããªãã£ãã®ã§ãããæåã«ç¥ã£ãæã¯ãããã¸ã§ã¯ããæ°è¦ã«ä½ãæã«ãã©ã«ãæ§æã¨ãã©ã¤ãã©ãªã¨ã諸ã
ããæãã«æºåãã¦ãããã¹ã¿ã¼ã¿ã¼ãããã¿ãããªãã¤ãã¨ããéãªçè§£ã®ä»æ¹ããã¦ãã¾ãããéçºã¡ã³ããå¢ãã¦è¦æ¨¡ã大ãããªãã°ãªãã»ã©ãVue CLIã®å¹æãå¢ãã¦ããã¾ããã
ããã¯ãããããããã¬ã¼ã ã¯ã¼ã¯ãã¨ã®ã¨ã³ã·ã¹ãã ã§æ¨æºã§æä¾ãã¦ãããã¼ã«ã使ããèªç¶ã¨ãã¹ããã©ã¯ãã£ã¹ã«æ²¿ãããã«éçºãã¦ããã®ã¯å¤§è¦æ¨¡éçºã§ã¯éè¦ãªã®ã ãªã¨æ¹ãã¦æãã¾ããã
9. ä¸è¦æ¨¡ã»å¤§è¦æ¨¡åãã®ã¢ããªã±ã¼ã·ã§ã³éçºâ¡ è¨è¨
ãè¦æ¨¡ã大ãããªã£ã¦ããã¨ã³ã¼ãæ¸ãåã«ã¨ã«ããè¨è¨ã大äºâ¦ã¨ãããã¨ã§ã以ä¸ã®3è¦ç´ ã«åãã¦è¨è¨ãé²ãã¦ããç« ã
ã³ã³ãã¼ãã³ãè¨è¨
ãã³ã³ãã¼ãã³ãã®ç²åº¦ã¯ããã³ãã¨ã³ãçéã§ããèãAtomic Designã®ææ³ã«å¾ã£ã¦æ±ºãã¦ããã¾ããAtoms, Molecules, Organisms, Templates, Pages ã®5段éã®ã©ãã«ä½ãå
¥ãã®ãç¯å²ãåããã«ããã®ã§ããããé¡ã®ã«ã³ãã³ã¢ããªã§ç»é¢è¦ç´ ã®ã©ããã©ã®æ®µéã«å
¥ãã®ãä¾ãè¼ãã¦ããã®ã§ã¤ã¡ã¼ã¸ããããã§ãã
ãã³ã³ãã¼ãã³ãåããã¨æ±ºã¾ã£ããã®ã¯ãã¹ã¦åä¸ãã¡ã¤ã«ã³ã³ãã¼ãã³ãåããååã®å
é ã«ããã§ã¯Prefixã§Kbnãã¤ãã¦ãã¾ãããã¯ãå
é ããæããæ¹ããã¡ã¤ã«ã並ãã æã«ãããããããã§ããã
ããã®ãããã©ãã§ãããã®ã§ãããSIerãã³ã¨ãã¦ã¯Kbnã¨æ¸ãããã¨Kanbanã§ãªãKubunã飿³ãã¦ãåºåãã¹ã¿ç®¡çç»é¢ã¨ãåºåã³ã¼ãåå¾é¨åã¨ãããããã®ã飿³ãã¦ãã¾ãã¾ãã(ç¬)

Atomic Design ~å ç¢ã§ä½¿ããããUIãå¹çè¯ãè¨è¨ãã
- ä½è :äºè¤ ä½å ¸
- çºå£²æ¥: 2018/04/25
- ã¡ãã£ã¢: åè¡æ¬ï¼ã½ããã«ãã¼ï¼
ç¶æ ã¢ããªã³ã°ã¨ãã¼ã¿ããã¼ã®è¨è¨
ãç¶ãã¦ãã¼ã¿ã®è¨è¨ãèªè¨¼æ
å ±ãã¿ã¹ã¯æ
å ±ãã¿ã¹ã¯ãªã¹ãã®æ
å ±ããã¼ã¸å
¨ä½ã®ãã¼ãæ
å ±ããç¶æ
ã¢ããªã³ã°ãã¨ããæ¬æ¸ç¬ç¹ã®ç¨èªã§è¡¨ããå
·ä½çã«ä½ã®æ
å ±ãããã®ããã¹ã¦æããã«ããJSãªãã¸ã§ã¯ãã§å®ç¾©ãã¦Vuexã¹ãã¢ã«æãããããã«ãã¦ããã¾ãã
ãåç´ã«ååã®èªæã®è©±ãªã®ã§ãããããã§ã®ãç¶æ
ãã¯ãæ
å ±ã®ç¨®é¡ãã¨ãããã¼ã¿ã®ç¨®é¡ãã¨ãã§ããããããªï¼ã¨æãã¾ããã
ãç¶ãã¦ãã¼ã¿ããã¼ã®è¨è¨ã¨ãã¦ããã¿ã³æ¼ä¸ãªã©ã®ã¢ã¯ã·ã§ã³ãå
¨é¨æ½åºãVueã³ã³ãã¼ãã³ãâã¢ã¯ã·ã§ã³âãã¥ã¼ãã¼ã·ã§ã³âã¹ãã¼ãâVueã³ã³ãã¼ãã³ãã¸æ»ã ã®Vuexã®å³ã使ããå®éã«ä½ã渡ãã¦ããã®ããè¨è¨ãã¦ããã¾ãã
ãSIerå¯ãã®éçºã ã¨ããããè¨è¨æ
å ±ããã£ã¡ãå³è¡¨ã交ãã¦Excelãªã©ã«æ¸ããçç¾ã®ãªãç¶æ
ã§å®è£
ã«ç§»ã£ã¦ãã£ããããã®ã§ããããªãã¨ãªãWebç³»ã¨ã³ã¸ãã¢ã£ã¦Excelã使ããªããããªã¤ã¡ã¼ã¸ãããã¾ããå®éã®éçºã§ã¯ãã®ãã¼ã¿ããã¼ã®è¨è¨ã¯ã©ãããåªä½ã«æ¸ãã¦ããã®ããªã¨æãã¾ããã
ã«ã¼ãã£ã³ã°è¨è¨
ã3ã¤ãã¯ã«ã¼ãã£ã³ã°ãã¦ã¼ã¶ãã©ãããæä½ãããã¨URLãã©ã代ãããããã§ã©ã®ã³ã³ãã¼ãã³ããåãã®ããè¨è¨ããããã¦Vue Routerã®è¨å®ãã¡ã¤ã«ã«æ¸ãã¦ããã¾ãããã®ã¨ããã°ã¤ã³ãã¦ãããããã§ãã¯ãããã¨ããã«ã¼ãã¡ã¿ãã£ã¼ã«ãã¨ããæ¸ãæ¹ã§ãªãã·ã§ã³è¨å®ã§ãã¾ãã
10. ä¸è¦æ¨¡ã»å¤§è¦æ¨¡åãã®ã¢ããªã±ã¼ã·ã§ã³éçºâ¢ å®è£
ãæ¬æ ¼éçº3ç« ç®ãå®éã®ã³ã¼ããéçºã¯ãªãã¨ãã¹ãé§åéçº(TDD)æ¹å¼ãå°å ¥ã¨ãããã¨ã§ããã¹ãã³ã¼ããè¼ã£ã¦ãã¾ããã¢ããªã±ã¼ã·ã§ã³èªä½ã®ã³ã¼ãä¾ã¯ãã°ã¤ã³ãã¼ã¸ãä¸å¿ã«ä¸é¨ã®ã¿ã«ãªã£ã¦ããã®ã§ãããã¾ãæ¬ã®ããªã¥ã¼ã ãããã仿¹ãªãã¨ããã§ãããã
ãåä½ãã¹ãã³ã¼ãã¯ã¢ãã¼é¢æ°ãå¤ãç¬ç¹ã®æ¸ãæ¹ã§ãããªãã¨ãªãæµãã¯åããã®ã§ãããã¹ãç¨ã®ã©ã¤ãã©ãªãæä¾ãã颿°ç¾¤ã®èª¬æã¯ãã¾ãè¼ã£ã¦ãã¾ããã
ãææã¨ãã¦ã¯å®éã«åãããªãã¦ãåä½ãã¹ãç¨ã³ã¼ãã§ãããªãæ·±ãã¨ããã¾ã§ãã¹ããã§ãããã¾ãã¡ããã¨ããã¨ã³ã¼ãéã¯å¤ãã¦ãã£ããããã©ããããªâ¦ã¨ããµã¼ãã¼ãµã¤ãã®ãã¬ã¼ã ã¯ã¼ã¯ã§ãã¹ãç¨ã©ã¤ãã©ãªã使ã£ã¦TDDãå¾¹åºããå ´åã¨åããããªå°è±¡ãæã¡ã¾ããã
ããããã°ä½æ¥ã«ã¤ãã¦ã¯ã³ãã³ãã® npm run dev ã§éçºãµã¼ããèµ·åããã¾ããã©ã¦ã¶æ¡å¼µæ©è½ã®Vue DevToolsã§ã©ããã¼ã¿ãè¦ã¦ããã°ããããç»é¢ãã£ããã£ä»ãã§è¼ã£ã¦ãã¾ããããã¯åãããããã§ãããE2Eãã¹ãã®ãã¹ãã³ã¼ãä¾ãä¸é¨è¼ã£ã¦ãã¾ããã¨ã©ã¼ãã³ããªã³ã°ã¨ãã¦ã©ã¤ããµã¤ã¯ã«ã®ä¸ã«errorCaptured颿°ãå®ç¾©ãããã¨ãã§ãã話ã¯ã¸ã¼ã¨æãã¾ããã
ãæå¾ã¯é«åº¦ãªè©±ã¨ãã¦ããã©ã¼ãã³ã¹æ¹åã®è©±ãè¼ã£ã¦ãã¾ãã
- å²ã¨ãããã®è³æãªã©ã§ãè¦ãããã
v-ifã¨v-showãåãæ¿ããã¨ãã話 - ç®åºããããã£ãæ´»ç¨ããã¨ãã話
ãªã©ãããã¾ããã
- éã«æ¯åè¨ç®ãèµ°ãã¨ç®åºããããã£ã大å¤ãªã±ã¼ã¹ãããã®ã§ã¦ã©ããã£ã使ãã¨è¯ã
- ãã¾ãè¦ãªã颿°åã³ã³ãã¼ãã³ãã®æ´»ç¨æ¹æ³
- ãã³ãã¬ã¼ãã®äºåã³ã³ãã¤ã«
- ãã³ãã¬ã¼ãã³ã³ãã¤ã©ã®ãªãã·ã§ã³ã®è©±(詳細ã¯kazuponããã®speakerdeckã®è³æã¸)
ãªã©ãé常ã«é«åº¦ãªãã¯ããã¯ãè¼ã£ã¦ãã¾ãã
Appendix
Appendix A jQueryããã®ç§»è¡
ãããããDOMè¦ç´ ã®æä½ã®ãã¿ã¼ã³ã§ãjQueryã®æ¸å¼ã ã¨ããæ¸ãã®ãVue.jsã ã¨ãããªããã¨ãã対å¿ã®è¨è¿°ãå¦ç¿ãã¦ããã¨èªç¶ã¨åããã¾ããæ¢ãã¨Qiitaãæè¡ããã°ã§ããããããªãã¿ã§ãããä¸è¦§ã«ãªã£ã¦ããã®ããããããã§ãã
ãã¾ããç¡ç§©åºã«jQueryã使ãããã¦ã¡ã³ããã³ã¹ãé£ãããªã£ãå¤ãã·ã¹ãã ã䏿°ã«Vue.jsã«ç§»è¡â¦ãªãã¦è©±ã¯ããèãã¾ãããæ¬æ¸ã§ã¯ãç¹ã«ä¿å®ã®å¿
è¦ããªããã°ç§»è¡ã®å¿
è¦ã¯ãªãããã¨ç¾å®çãªçããåºãã¦ãã¾ããjQueryã¨Vue.jsã§ã¯è§£æ±ºããåé¡ãéãããéè¦ãªã®ã¯ä»æ§ãåé¡ãææ¡ãã¦é©åãªæè¡ã鏿ãããã¨ãã ã¨ã
ãããã¯ã»ãã¨æè¡é¸å®ãè¨è¨ã®ççã§ãããã¤ã³ã¿ã¼ãããã®æ å ±ãã»ã¨ãã©ç¡æã§æã«å ¥ãæä»£ã注ç®åº¦ãä¸ããããã«ç ½ã£ã¦ãjQueryï¼ãªã¯ã³ã³ããã¾ã jQueryã§æ¶èãã¦ãã®ï¼ãç³»ã®è©±ã¯ããç®ã«å ¥ã£ã¦æ¥ã¾ãããæãããããã¨ãªãèªåã®åã®èª²é¡ã«å¯¾å¿ãã¦ããå§¿å¢ãå¿ è¦ã«ãªãã¾ããæ¬æ ¼è§£èª¬æ¸ã§ããæ¬æ¸ãæå¿«ã«è§£çãã¦ããã®ã¯ãããããã§ãã
Appendix B éçºãã¼ã«
ãããã³ãã¨ã³ãçéã§ããè¦èãããStorybookã®è©±ãéçºä¸ã®ç»é¢ããã¬ãã¥ã¼ãããããªæãã®ãã¼ã«ã§ããããã
ãããã¦éçåä»ãè¨èªã¨ãã¦ãTypeScriptã使ã£ãå ´åã«Vue.jsã§ã©ãæ¸ããã®ä¾ãè¼ã£ã¦ãã¾ãã
主è¦ã©ã¤ãã©ãªãã ãããTypeScriptã®åå®ç¾©ã«å¯¾å¿ãã¦ããããã§ããã
ãVue.js 2.* ã«TypeScriptãå°å
¥ãã話ã¯å²ã¨ãããã§ãè¦ããã¾ããã2019å¹´ãã
ãã«åºãã®ã§ã¯ã¨è¨ããã¦ããVue.js 3.0ã§ã¯ããã«TSãµãã¼ããå¼·åããããããªã®ã§ããã°ããå¾
ã£ãã»ããè¯ãã®ããããã¾ããã
ãèè
é£ã®PLAIDéç°é½å¹³ããã®è¨äºã¨å
¬å¼ã®è¨äºã
ãã¾ããFacebookãæä¾ãã¦ããReactç¨ã®åãµãã¼ãã®Flowã¯ãVue.jsã«ã¯åãã¦ããªãã¨ããçµè«ã§æ¬æ¸ã§ã¯ã¡ãã£ã¨ããè¼ã£ã¦ãã¾ããããã®è©³ç´°ã¯æ¬ããå¤ããæ²¡ãã¿ã¨ãã¦kazuponããã®è¨äºã«è©³ãã話ãè¼ã£ã¦ãã¾ãã
Appendix C Nuxt.js
ããµã¼ããã¼ãã£è£½ã®ãã®ã¨ãã¦ãå é¨ã§Vue.jsã使ã£ãã¦ããã¼ãµã«Vue.jsã¢ããã±ã¼ã·ã§ã³ãä½ãããã¬ã¼ã ã¯ã¼ã¯Nuxt.jsã®ç´¹ä»ããããã話ã§åºã¦ããç¨èªã¯ã³ã©ã ã«ããã¨ãæè¿ã¯ä»¥ä¸ã®ä½¿ãåããããããã§ãã
- ã¦ããã¼ãµã«(Universal)ï¼ã¯ã©ã¤ã¢ã³ãã»ãµã¼ãã®äºãã«ç°ãªãç°å¢ã§ãJSãåããã¨
- ã¢ã¤ã½ã¢ã¼ãã£ãã¯(Isomorphic)ï¼ã¯ã©ã¤ã¢ã³ãã¨ãµã¼ãã§åãHTMLãã¼ã¸ãçæããæè¡
ãNuxt.jsã¯éçãµã¤ãã®ä½æã¾ã§ã詳ããè¼ã£ã¦ãã¾ãã
ã¾ã¨ãï¼Vue.jsã®ä»äºã¬ãã«ã®æ¬æ ¼å ¥éï¼å®è·µã®æ¸
ãVue.jsã®æ
å ±ã¯ãããã®ãã¡ãã¡ã«ãæ£å¨ãã¦ãããããããå¦ã¶ãã¨ã¯åºæ¥ã¾ããã1åã«ã¾ã¨ã¾ãæ´ã£ãå½¢ã§æ¬æ¸ããå¾ããã¨ãã§ãã¾ãã
ãã¾ãæ¬ã¨ã³ããªã§ãä½åº¦ã触ãã¾ããããåç« ã®ã³ã©ã ãåªç§ã§ãå°å³ã«éè¦æ
å ±ã使°ãªãæ¸ãã¦ãããã¨ãå¤ãã§ãã
ãå
容ãå¾åã«ãªãã°ãªãã»ã©ããã¦ã¼ã¹ã®ä»äºåããã¨ã©ã¼ãã³ããªã³ã°ãããã©ã¼ãã³ã¹ãé«åº¦ãªãã¯ããã¯ãªã©ãVue.jsã«é¢ããæ
å ±ãã ãããä¸éãç¶²ç¾
ããã¦ãã¾ãã
ãç¹ã«è¨è¨ã«éç¹ãç½®ãã¦ããã®ããããããã§ãããã¢ããªã±ã¼ã·ã§ã³ãå¤§è¦æ¨¡ã«ãªãã°ãªãã»ã©è¨è¨ãéè¦â¦ã¨ããã®ã¯ããã³ãã¨ã³ãã§ããµã¼ãã¼ãµã¤ãã§ãã¾ã£ããåããªã®ã ãªã¨æ¹ãã¦æãã¾ãããã¨ãããã¨ã§ãä»äºã¬ãã«ã®æ¬æ ¼éçºã§Vue.jsã使ããªãæ¬æ¸ãããã°ä¸éãã«ãã¼ã§ãããéçºç¾å ´ã«å¿
æºã®ä¸åã¨ãªãã§ãããã
ã䏿¹ãæ¬ ç¹ã¨ããã»ã©ã§ã¯ãªãã§ããâ¦â¦ã¿ã¤ãã«ã¯Vue.jsãå
¥éãã¨ããã¤ã¤éãã¨å
¥éæ¬ãªã®ã¯æåã®æ°ç« ã§çµãã£ã¦æ®ãã¯ã¬ããªæ¬æ ¼éçºæ¬ã§ããã¨ãããã¿ã¤ãã«è©æ¬ºçãªã¨ããã¯è¥å¹²ããã¾ããã¾ãããã¯æè¡æ¸ããããã§ããã(ç¬)
ãã¾ãç°¡åãªãµã³ãã«ã®åããããããå³è¡¨ã®è±å¯ããã¤ã¡ã¼ã¸ã®ãããããªã©ãªã©å«ããç·åçãªã¨ã£ã¤ããããã¯ãä¸é¨ã§ç«æ¬ã¨ãã¦ãããªãã¿ã®ãåºç¤ããå¦ã¶Vue.jsãã®æ¹ãè¥å¹²ä¸ããªã¨æãã¾ãã対象èªè
層ããã®ï¼åã§ã¯è¢«ãã¤ã¤ãè¥å¹²éãããã®ãããã§ãããããã¯ããããæ©ã«Vue.jsããã£ããå¦ã¶ãªããã¾ãã¯ç«æ¬ãåºç¤ããå¦ã¶Vue.jsãï¼æ¬æ¸ãVue.jså
¥éãã®2åã»ãããä¸å
¨ã®æ§ããã¨æãã¾ãã
ããµãã¼ããã¼ã¸ã§ã¯ã誤æ¤è¡¨ã®ã»ãã«æ¬æ¸ã®8ç« ï½ã®ãµã³ãã«ã®ã«ã³ãã³ã¢ããªã±ã¼ã·ã§ã³ã®ã³ã¼ãããã¦ã³ãã¼ãã§ãã¾ãã
ãkazuponããã¸ã®åè¡è¨å¿µã®ã¤ã³ã¿ãã¥ã¼è¨äºãåãããã³ãã¨ã³ããå¦ã³ç´ãåã¯ãã¬ã¼ã ã¯ã¼ã¯ã®æµ®ãæ²ã¿ã®æ¿ããããã£ã±ãæ¬é ã®åå ã«ãªã£ã¦ããã®ã§ããããã®ã¸ããã©ãããå®å®æã«å ¥ã£ã¦ããã¨ã®ãã¨ãJSå¨è¾ºæè¡ï¼Angular/React/Vue.jsã®ï¼ã¤ãåºæ¬ã®æ±ã«ç¥ã£ã¦ããã°å¤§ä¸å¤«ã®ããã§ãã¢ãã³JSã«åå ¥éãã人ãããããå®å¿ã§ãã
ãããã°ãmediumã«ç§»è»¢ãããkazuponãããèªèº«ã«ããç´¹ä»è¨äºã2017å¹´6æããå·çéå§ããã¨ã®ãã¨ã§è¦å´ãå²ã°ãã¾ãããã¯ããã®ã¯ã©ã¹ã®æ¬æ ¼æ¬ã«ãªãã¨çºå£²ã¾ã§ï¼å¹´ä»¥ä¸æããã®ã§ããã
ä»é²ï¼åæ¥æ¸ç±ã«ããVue.jsã®å¦ç¿é åºãèãã¦ã¿ã
ãåãVue.jsã®æ å ±ãæ¥ãã§éãå§ãã2018å¹´2æé ï½ã¯ãVue.jsã®æ©éãé«ã¾ã£ã¦ããããæ¥æ¬èªã§ã¡ããã¨èªãã忥æ¸ç±ãåºã¦ãããæ¬¡ã®æè¡æ¸å ¸ã§ãä½åãåºãã¿ããã â¦â¦ï¼ã¨ããé åãã ã£ãã®ã§ããã2019å¹´ç¾å¨ã¯ã ãã¶åºæã£ã¦ãã¾ããã

åããã¦å¦ã¶ï¼Vue.jséçºå ¥é (NEXT ONE)
- ä½è :森 å·§å°
- çºå£²æ¥: 2019/01/15
- ã¡ãã£ã¢: åè¡æ¬ï¼ã½ããã«ãã¼ï¼
ãåããã¦å¦ã¶ï¼Vue.jséçºå
¥éãã2019å¹´1æãæ¬å±ã§æã«åã£ã¦ã¿ãã®ã§ãããã¿ã¤ãã«éãåããã¦å¦ã¶æ¬ãå
容ã¯åã大ããã¦ã«ã©ã¼ãåä¸ãã¡ã¤ã«ã³ã³ãã¼ãã³ããªã©é«åº¦ãªæ©è½ã¯è§¦ãããã¨ã«ããVueã¤ã³ã¹ã¿ã³ã¹ã®æ§ã
ãªãã£ã¬ã¯ãã£ãã試ãã¦å®éã«ããã°ã©ã ãåãã®ã確èªããªããé²ãæ¬ãPythonã®å
¥éæ¸ã§å¹¾ã¤ãè¦ããããããªãããã°ã©ãã³ã°èªä½ãåå¿è
ã®äººåãã®æ¬ã¨ä¼¼ããããªæãã§ãã
ãä»äºã¬ãã«ã®æ¬æ ¼éçºã«ã¯ä¸ååã§ãããæ®æ®µã¯HTMLãæ¸ãã¦ãã¦JavaScriptã«ãããããã£ã¬ã³ã¸ããããã¯ããã°ã©ãã³ã°èªä½ã«ãã£ã¬ã³ã¸ã¨ãã人ã«ã¯ããããã§ãã

- ä½è :æç°æ´¥è¶ä¹
- çºå£²æ¥: 2019/02/05
- ã¡ãã£ã¢: åè¡æ¬
ãVue.js & Nuxt.jsè¶
å
¥éãã2019å¹´2æãæ§ã
ãªããã°ã©ã è¨èªã®ãã¬ã¼ã ã¯ã¼ã¯ãã©ã¤ãã©ãªã®è¶
å
¥éã·ãªã¼ãºãå¹
åºãåºãã¦ããæç°æ´¥è¶ä¹ããã®æ¬ãæè¿ã ã¨Java/Scalaã®Play Frameworkã®æ¬ãPHPã®Synfonyã®æ¬ãPythonã®Djangoã®æ¬ãªã©ãåºãã¦ãã¾ãã
ããã¡ããåã¯å¤§ããã¦ã«ã©ã¼ã§åããããããä¸ã®ãåããã¦å¦ã¶ï¼Vue.jséçºå
¥éãã¨å¯¾è±¡èªè
層ã¯ã»ã¼åãåå¿è
åãã®ããã§ããæå¾ã«Nuxt.jsã®è©±ãè¼ã£ã¦ããã®ãå·®å¥åãã
ãæç°æ´¥è¶ä¹ããã®æ¬ã¯PHPã®Laravelã®å
¥éæ¸ãåèã«ãªãã¾ãããããããã¬ãã£ããªãã¨ãæ¸ãã®ãã¢ã¬ã§ããããã®æ¹ã®æ¬ã¯ãµã³ãã«ã³ã¼ããæ¬æã«èª¤æ¤ãå¤ããªãã§ãããâ¦â¦
çãæéã§Vue.jsã®æ¦è¦ãç¥ããã
ã2018å¹´3æï½4æã«åºããéç¿Vue.jsããHello!! Vue.js ææ°ããã°ã¬ãã·ããã¬ã¼ã ã¯ã¼ã¯å ¥éãããã ããã®ï¼åã®å 容ã¯å¾çºã®æ¬ã«ãã ãããå«ã¾ãã¦ãããããããä¸ãæè¡æ¸å ¸ã®å人èªãªã©ã§ãå¾ãããã®ã§ããããå¤ãã§ã¯ããã¾ãã
ããã°ã©ãã³ã°èªä½ãJavaScriptèªä½ã«æ £ãã¦ããªã人ãå¦ã³ãã
ãä¸ã§è¿°ã¹ããåããã¦å¦ã¶ï¼Vue.jséçºå ¥éãããVue.js & Nuxt.jsè¶ å ¥éãã§ã¾ãã¯å®éã«åããã®ãä½ã£ã¦æ £ãã¦ã¿ããES2015以éã®ã¢ãã³JavaScriptèªä½ãã¡ããã¨å¦ã¶ãªããJavaScriptæ¬æ ¼å ¥éããªã©ã並è¡ã

- ä½è :å±±ç° ç¥¥å¯
- çºå£²æ¥: 2016/09/30
- ã¡ãã£ã¢: 大忬
ãããã¯ãJSèªä½ã§ãããå°ãæããã®åå¿è
åãå
¥éæ¸ãæè¿ã¯ä½åãããã¾ãã
ããã¦æ
£ããå¾ã§ãç«æ¬ãæ¬æ¸ã¸é²ãã§ããæµãã
JavaScriptèªä½ã¯ããç¨åº¦åãããä»äºã¬ãã«ã§å¦ã³ãã
ã2018å¹´5æã«åºãç«æ¬ãåºç¤ããå¦ã¶Vue.jsãã§ã¾ãå§ãã¦ãå¿ç¨ï¼å®è·µç·¨çãªä½ç½®ä»ãã§æ¬¡ã«æ¬æ¸ãVue.jså ¥éãã¸ããã¼ã¯ã¢ããã¨ã³ã¸ãã¢ãããã³ãã¨ã³ãã¨ã³ã¸ãã¢ã§ããã¶ã¤ã³ãä¸»è»¸ã®æ¹ãªããã¯ã¾ãã¯ç«æ¬ããå§ããã®ããã¹ã¹ã¡ã§ããã£ï½
ä»ã®JSãã¬ã¼ã ã¯ã¼ã¯çµé¨ããã£ããè ã«è¦ãã®ããæ¹ã§ãä»äºã¬ãã«ã§ããã«æ¬æ ¼çã«å¦ã³ãã
ãç«æ¬ããã£ã¼ã³ã¨è¯éºã«ã¹ããããã¦æ¬æ¸ãVue.jså ¥éã1åã«çµãããã£ãããã£ã¤ãå¦ã¶ã

Vue.jså ¥é åºç¤ããå®è·µã¢ããªã±ã¼ã·ã§ã³éçºã¾ã§
- ä½è :å·å£ åä¹,åå¤ åä»,éç° é½å¹³,æå³¶ æä¹,çå±± çä¹
- çºå£²æ¥: 2018/09/22
- ã¡ãã£ã¢: åè¡æ¬ï¼ã½ããã«ãã¼ï¼
Vue.jsãçè§£ããå¾ãNuxt.jsãããã«å¦ã¶
ãç«æ¬ï¼æ¬æ¸ã®ã»ãããæ¬æ¸ãªã³ãªã¼ã®å¾ã«ã2018å¹´10æçºå£²ã®ãNuxt.jsãã®ãã¼ãºã¬ã¤ãâVue.js ãã¼ã¹ã®ãã¬ã¼ã ã¯ã¼ã¯ã«ããã·ã³ã°ã«ãã¼ã¸ã¢ããªã±ã¼ã·ã§ã³éçº ãã§å¦ã¶ã
ãèè
ã®è±è°·ããã¯ãããã¯ç³»Podcast ãããªãã©ã¸ãªã® sp.41a/sp.41b ã«ãåºæ¼ããã¦ãã¾ããããè¥ãã®ã«ããã...!!ã£ã¦ãªãã¾ããã

- ä½è :è±è°· æç£¨
- çºå£²æ¥: 2018/10/17
- ã¡ãã£ã¢: åè¡æ¬ï¼ã½ããã«ãã¼ï¼
ãNuxt.jsã¯ãå
é¨ã§Vue.js/主è¦ãªã©ã¤ãã©ãª/ãã¼ã«/ãµã¼ãã¼ãµã¤ãã¬ã³ããªã³ã°ã®ä»çµã¿...ãªã©ãä¸å¼å
å
ãããæ¬æ ¼çãªSPAã§ããã¦ããã¼ãµã«Vue.jsã¢ããªã±ã¼ã·ã§ã³éçºã®ããã®ãã¬ã¼ã ã¯ã¼ã¯â¦â¦ãªã®ã§ãéçºã¢ããªã±ã¼ã·ã§ã³ã®ç¹æ§ã«ãã£ã¦ã¯Vue.jsæ¬ä½ã ãã§ååãªã±ã¼ã¹ããããã¨æãã¾ãã
ãèªåçã«ãããã¾ã§ä½¿ãæ©ä¼ã¯ãªããããªãã§ãããå¾ã§åèã¨ãã¦èªããã¨æã£ã¦ãã¾ãã
ãåºç¤ããå¦ã¶Vue.jsããæ¬æ¸ãVue.jså ¥éãããNuxt.jsãã®ãã¼ãºã¬ã¤ããã®ï¼åã¯è¡¨ç´ã®è²åããä¼¼ã¦ããã®ã§ã»ããã§è²·ããããã§ãã
ã
ãã¨ãããã¨ã§Vue.jså
¥éæ¬ã®ç´¹ä»ã§ããã以åã«ä½ã£ãã¾ã¨ãã¯ãã¡ãã®è¨äºã«ããã¾ãã2018å¹´4ææç¹ã®è¨äºã§ããæ¬ãªã¹ãã¯ãã®å¾æ´æ°ããããã¦ãã¾ãã
ããã¦æè¿ã®ã話
ãæè¿ãã¯ã¦ãªããã¯ãã¼ã¯ã§ä¼¸ã³ã¦ããã¨ã³ããªã§è峿·±ãã£ãã®ããæè¿ã®ããã³ãã¨ã³ãã¨SPAãæ¦è¦³ãã以ä¸ã®è¨äºãTwitterã§ã話é¡ã«ãªã£ã¦ãã¾ããã
ãæåç·ã«ç«ã£ã¦ãã御æ¬äººã®æè¦ãããã³ã¡ã«ãæ§ã
ãªç«å ´ãä¸ç観ããã®æè¦ãéã¾ã£ã¦ãã¦é¢ç½ãã
åãä¸»ã«æºãã£ã¦ããä»äºããããã¨ãµã¼ãã¼ãµã¤ãã£ã¦å½åãªããªããªãããããããSPAã«ããå¿
è¦ããªãã±ã¼ã¹ãå¤ãããªãã¨ããã¨ãããªãã§ãããããã¯æ¬å½ã«ãã®äººã®ç«å ´ã«ãã£ã¦éãã§ãããããä»å¾ãåéãè¦å®ã£ã¦ãããã¨æãã¾ãã
