ã¯ããã«
ãVue.jsã¯ãã·ã³ãã«ã»è»½éã»é«éã¨ããç¹å¾´ãæã¤ãã¼ã¿ãã¤ã³ãã£ã³ã°ã©ã¤ãã©ãªã¨ãã¦æè¿æ³¨ç®ãéãã¦ãã¾ããLINE社ã§ãã¢ããªå WebViewã®å®è£ æè¡ã®é¸æè¢ã®ä¸ã¤ã¨ãã¦Vue.jsãæ¡ç¨ãã¦ãã¾ãã2014å¹´11æ27æ¥ã«ãªãªã¼ã¹ãããLINEã¹ã±ã¸ã¥ã¼ã«ã¯ãVue.jsã使ã£ã¦å®è£ ãã¦ããSPAï¼Single Page Applicationï¼ã®ä»£è¡¨ä¾ã§ãã
ãæ¬ç¨¿ã¯æ¥æ¬èªè¨äºãã¾ã å°ãªãVue.jsã®åºæ¬æ©è½ã®ç´¹ä»ãç®çã¨ãããåºç¤ç·¨ãã¨ãã¦ãå ¬å¼ããã¥ã¡ã³ãã®å 容ãå ã«è§£èª¬ãã¾ãï¼å·çæç¹ã®ãã¼ã¸ã§ã³ã§ããv0.11ã®å 容ã§ãï¼ã
Vue.jsã¨ã¯
ãVue.jsã¯ãåæ¹åãã¤ã³ãã£ã³ã°ã«ããModelã¨Viewãã¤ãªãä»çµã¿ãViewModelã¬ã¤ã¤ã¼ï¼MVVMãã¿ã¼ã³ï¼ããæä¾ããJavaScriptã®ã©ã¤ãã©ãªã§ãã
ãVue.jsã®åºæ¬æ¦å¿µã¯ä»¥ä¸ã®ããã«ãªã£ã¦ãã¾ãã
- 極åã·ã³ãã«ã«ããAPIè¨è¨
- ãªã¢ã¯ãã£ããªãã¼ã¿ãã¤ã³ãã£ã³ã°
- ã³ã³ãã¼ãã³ãå容æãªä»çµã¿
- ä»ã©ã¤ãã©ãªã¸ã®ä¾åããªãæè»ãã¤è»½éï¼ç´52KBï¼
ãä»ã®ã©ã¤ãã©ãªã¨æ¯ã¹ã¦Vue.jsã¯å¾çºã§ç»å ´ããAngularJSãKnockoutJSãRactive.jsãRivets.jsã®è¯ããè¸ã¾ããä¸ã§ãæ©è½æ§ã¨ã·ã³ãã«ãã追æ±ãã¦ä½ããã¦ãã¾ãããã®ã·ã³ãã«ãªæ§è³ªããå¦ç¿ã³ã¹ããå°ãªãã®ãç¹å¾´ã§ãã
ãVue.jsã¯ã³ã³ãã¼ãã³ãåã«ãåãå ¥ãã¦ãã¾ããä¾ãã°ãWeb Componentsã®ã³ã³ã»ããã«æ²¿ã£ãä»çµã¿ã®æä¾ããWebpackãBrowserifyãªã©ã®ã¢ã¸ã¥ã¼ã«ã®ãã«ãã·ã¹ãã ã¸ã®å¯¾å¿ãç©æ¥µçã«è¡ã£ã¦ãã¾ãã
ãAngularJSã代表ã¨ãããã¼ã¿ãã¤ã³ãã£ã³ã°ãæä¾ããä»ã®JavaScriptã®ãã¬ã¼ã ã¯ã¼ã¯ã¨æ¯è¼ããã¨ãVue.jsã¯æ©è½ããµãã¼ã対象ã®å¤ãã¨ãã観ç¹ã§ã¯å£ãé¢ãããããããã¾ãããããããVue.jsã®è¨è¨ã¯ãããç¨åº¦ã·ã³ãã«ãªã¢ããªã±ã¼ã·ã§ã³ãè¿ éæ§ãæ±ãããããããã¿ã¤ãéçºãªã©ã«é©ãã¦ããããããã®ãããªå±é¢ã§ã¯éçºã®å¹çæ§ãç¹ã«é«ãããã¨ãã§ãã¾ãã
ãVue.jsã¯ã¬ã¬ã·ã¼ãã©ã¦ã¶ã®ãµãã¼ããè½ã¨ãï¼IE8以ä¸ã¯ãµãã¼ãå¤ï¼ããã¤ã³ãã£ã³ã°ã«ECMAScript 5ã®Object.definePropertyã§æä¾ãããgetter/setterãå©ç¨ãã¦ãã¤ãã³ããã¼ã¹ã®ç£è¦ã®ä»çµã¿ãå®ç¾ãã¦ãã¾ãããã®ãããä¾ãã°AngularJSãæã¤å¤æ´æ¤ç¥ã®ããã®dirty checkingãªã©ãã³ã¹ãã®ãããæ©æ§ãå¿ è¦ã¨ããé«éã¨è¨ããã¦ãã¾ããä»ã®ã©ã¤ãã©ãªã¨ã®æ©è½æ¯è¼ã«é¢ãã¦ã¯Vue.jsã®ä½è ã§ããEvan Youæ°ãFAQãã¼ã¸ã§è§£èª¬ãã¦ãã¾ãã
ãã¾ããVue.jsã¯ä»ã®MV*ç³»ã®ã©ã¤ãã©ãªã¨æ¯è¼ãã¦æãããã©ã¼ãã³ã¹ã«åªãã¦ããã¨ãããã³ããã¼ã¯ãã¹ãã®çµæãã¼ã¸ãå ¬å¼ãã¼ã¸ã«å ¬éããã¦ãã¾ãããããããä»ã©ã¤ãã©ãªã®ä½è ããè¨æ¸¬åºæºããã§ã¢ã§ã¯ãªããªã©ããã¤ãã®æè¦ããããç¾å¨ã¯ãã®ããã©ã¼ãã³ã¹ã«é¢ãããã¼ã¸ã¯åé¤ããã¦ãã¾ãã