Micro Frontends Unmasked Opportunities, Challenges, Alternatives
Vue is built to handle most typical use cases efficiently without requiring a lot of manual tweaking. But sometimes, youâll hit situations that need a bit more fine-tuning. In this article, weâll go over the key things to keep an eye on for optimizing performance in a Vue app. Page Load Performance vs. Update Performanceâ When talking about optimizing performance in Vue apps, there are two main as
ã¯ããã« ãã®è¨äºã¯ãevery Tech Blog Advent Calendar 2024(å¤) ã®1æ¥ç®ã®è¨äºã§ãã DELISH KITCHENéçºé¨ã®ç¾½é¦¬(@NaokiHaba)ã§ãã ãã®è¨äºã§ã¯ãDELISH KITCHEN ãã©ã· ã§ä½¿ç¨ãã¦ãã Vuex ã® Pinia ã¸ã®ç§»è¡ã«ã¤ãã¦ç´¹ä»ãã¾ãã chirashi.delishkitchen.tv æ¬è¨äºã§ã¯ããããã®ç¥èããããã¨ãåæã«èª¬æãé²ãã¾ãã Vue.jsã®åºæ¬çãªç¥è Nuxt.jsã®åºæ¬çãªç¥è Vuexã®åºæ¬çãªç¥è Piniaã¨ã¯ Piniaï¼ãã¼ãã£ï¼ã¯ãVue.jsç¨ã®æ°ããç¶æ 管çã©ã¤ãã©ãªã§ããVuexã®æ¬¡ã®ã¤ãã¬ã¼ã·ã§ã³ã¨ãã¦éçºãå§ã¾ããVuex 5ã«çµã¿è¾¼ããã¨ãæ³å®ãã¦ããã¢ã¤ãã¢ãå¤ãåãå ¥ãã¦ãã¾ãã pinia.vuejs.org Piniaã¯ãVuexã¨æ¯è¼ãã¦ä»¥ä¸ã®ãããª
What is Vapor Mode? ð§ Vapor Mode is a new and alternative compilation strategy inspired by Solid.js. It aims to enhance your apps' performance by compiling your code into a more efficient JavaScript output. When used at the app level, you can drop the Virtual DOM completely, thus reducing your app's bundle size. â Benefits More performant Uses less memory Requires less runtime support code. Solid
ã¯ããã« æ ªå¼ä¼ç¤¾ã¹ãã¼ã¹ãªã¼ ããã³ãã¨ã³ãã¨ã³ã¸ãã¢ã®å®®åã¨ç³ãã¾ãã ãµã ãã¯3Dãã¥ã¼ã¢ããã®ç·¨éç»é¢ã®DOMé¨åãReactãVueã§æ¸ãã¤ã¤ããã¾ã«ããã³ãã¨ã³ãéçºç°å¢æ§ç¯ããããã¨ãã¦ä»ãã¼ã ã¸åºããã°ã£ãããã¦çãã¦ãã¾ãã ä»åã¯ãã®ç°å¢æ§ç¯ã«é¢ããã¨ãããVue 2 ãã 3 ã¸ç§»è¡ãããã¨ããããã¡ã°ã大å¤ãªã®ã Vuetify 2 ãã 3 ã¸ã®ç§»è¡ã ã£ã話ãæ¸ãã¾ãã ã¬ã¬ã·ã¼ãçããã¤ã¤ã¢ããã°ã¬ã¼ãããè¦å´è©±ã¨ãã¦ãããã«åºããã°å¹¸ãã§ãã çµç·¯ã¨èæ¯ Vue 2 ã®EOLã¾ã§1å¹´ãåã£ã¦ ã¹ãã¼ã¹ãªã¼ã¯ãµã¼ãã¹ã¤ã³ãã6年以ä¸çµã¤ãã¨ããããæè¡ã¹ã¿ãã¯ã¯ããã¸ã§ã¯ãã«ãã£ã¦æ°ãããã®ãããã°ãä»ã¨ãªã£ã¦ã¯å¤ããã®ãããã¾ãã ãªãªã¼ã¹ããæ¥ãæµ ãããã©ãå¤æ3Dãã¬ã¤ã¤ã¼ã¯2023å¹´6ææç¹ã§ã¨ã³ãã¦ã¼ã¶ã¼åãã®é¨åãReact 18ã§ãäºæ¥è åãã®é¨å
[6/8 12æé 追è¨] Vueã¯æ»ãã§ãªãã殺ãã¤ããããªããç§ã¯Vueã大好ãã ã誤解ããªãã§ã»ãã Vue3ã§Options APIã¯æ¶ãã¦ãªããä»å¾æ¶ãã¦ããæ¹åã®APIã§ããªããæ«æãã人ããã£ã¡ã¤ãã£ã¦åææ¦ãã¦ã»ãã [6/8 11æé 追è¨] ã俺ã¯Composition API使ãã¦ããï¼ãã便å©ãããï¼ä½ããã£ã¦ããã ããã¤ã¯ï¼ã ããªãã¯ããããã§ãVueãæ«æãã人ã®è©±ãèãã«ãComposition APIããã¢ã¿ãªãã¨ã§ããï¼ãã®é°å²æ°ã®åã«ãã¾ã馴æããæ£ã£ã¦ãã£ãã¨ãã話ã§ãComposition APIèªä½ã¯å¥½ãã§ã Vue3ã®è¡°éãæããã®ã¯<script setup>ãããããªãCompositionAPIã¨ããèå¯ ã»ã¨ãã©èæã§ãããæ ¹æ ã®ãªãå¦è¨ã ã¨æã£ã¦ããã£ã¦æ§ããªãã®ã ããVue3ã®ãªãªã¼ã¹ä»¥éVueãæµè¡ããé¢ãã¤ã¤ããããã®åå ã¯<scr
Vue CLIãå©ç¨ãããã¨ã§vue.jsã®éçºç°å¢ãç°¡åã«æ§ç¯ãããã¨ãã§ãã¾ããVue CLIã§ç°¡åã«ç°å¢æ§ç¯ãã¢ããªã±ã¼ã·ã§ã³ã®éçºãè¡ããã¨ãã§ãã¾ããè£å´ã§ä½ãè¡ããã¦ããã®ãããããªã人ãå¤ãã®ã§ã¯ãªãã§ãããããVue CLIãå©ç¨ãããã¨ãªãã§Webpackãã¤ã³ã¹ãã¼ã«ãè¡ãSingle File Component(åä¸ãã¡ã¤ã«ã³ã³ãã¼ãã³ã)ã使ã£ã¦Vueã®ã¢ããªã±ã¼ã·ã§ã³ãæ§ç¯ã§ããç°å¢ãä½æãã¦ã¿ããã¨ãã人åãã«æ¬ææ¸ãä½æãã¦ãã¾ããæ¬ææ¸ã§ã¯webpackã®ã¤ã³ã¹ãã¼ã«ããSFCã使ããã¾ã§ã®æé ãStep By Stepã§ä¸å¯§ã«èª¬æãã¦ãã¾ãã®ã§ä¸éãèªã¿çµããã¨Vueã§éçºãè¡ãããã«webpackã§å¿ é ãªè¨å®ãç解ãããã¨ãã§ãã¾ãã Vueã®éçºç°å¢ã®æ§ç¯ã«é¢ããç¥èãæ·±ã¾ãã¾ãã Single File Componentã¨ã¯ Vueã®Single
ã¯ããã« ããã«ã¡ã¯ãECåºç¤æ¬é¨ã»MAé¨ã»MAåºç¤ãã¼ã ã§ãã¼ã±ãã£ã³ã°ãªã¼ãã¡ã¼ã·ã§ã³ã®ã·ã¹ãã ãéçºãã¦ããé·æ¾¤ï¼@snagasawa_ï¼ã§ãããã®è¨äºã§ã¯ãCypressã«ããE2Eãã¹ããVue.jsããã¸ã§ã¯ãã¸å°å ¥ããåãçµã¿ã«ã¤ãã¦ãå®éã®ç»é¢ã交ãã¦ãç´¹ä»ãã¾ãããã®E2Eãã¹ãã«ãã£ã¦ãè¤éãªå ¥åãã©ã¼ã ãèªåã§ãã¹ãã§ããããã«ãªããä¿®æ£å¾ã®ãã°ãæ¤ç¥ãããããªãã¾ãããE2Eãã¹ãã®å°å ¥ãæ¤è¨ããã¦ããæ¹ã®åèã«ãªãã°å¹¸ãã§ãã Vue.jsããã¸ã§ã¯ãã®æè¡ã¹ã¿ã㯠ä»åCypressãå°å ¥ããããã¸ã§ã¯ãã®ä¸»ãªæè¡ã¹ã¿ãã¯ã¯ä»¥ä¸ã®éãã§ãã Vue.js TypeScript Vuetify Open API å°å ¥èæ¯ E2Eãã¹ãå°å ¥ã®çç±ã¯ãè¤éãªå ¥åãã©ã¼ã ãåä½ä¿è¨¼ããããã§ãã æã ã®ãã¼ã ã§ã¯ãLine Friendship Managerï¼ä»¥ä¸ãL
ååã®ãããã ååã®è¨äºã§ã¯ãReactã«æå©ãªãã³ããã¼ã¯ã§UIã©ã¤ãã©ãªã«ç«¶ã£ã¦ãããã¾ããã ãããããã³ããã¼ã¯ã«å¯¾ãã¦ã¯ããå®åã§ã¯ããã¿ãããªåå¿ãä¸å®æ°åºã¦ããã®ãèªç¶ã®æçã§ãã æ¸ããããã©ã³ãã³ã° ããã§ãã·ãªã¼ãºã®ã¾ã¨ãã¨ãã¦ãããå®åã«è¿ãææ¨ã¨ãã¦ãæ¸ãããããã§ç«¶ã£ã¦ããããã¨æãã¾ãããã ããä»åã¯çè ã®ç¬æã¨åè¦ã«ããã©ã³ãã³ã°ã¨ãªãã¾ãããã£ãã6ã¤ã®ã©ã¤ãã©ãªã§åãã¢ããªã±ã¼ã·ã§ã³ãæ¸ããã®ã§ãææ³ãè¨äºã«ãã¦æ®ãã¦ããããã¨ããæå³ã§ããçè ã¨åããReactè³ã®æ¹ã«ã¨ã£ã¦ã¯åèã«ãªãããããã¾ããã ãªããåã®è¨äºãèªãã æ¹ã¯ãåããã®éããä»åæ¸ããã¢ããªã±ã¼ã·ã§ã³ã¯ã³ã³ãã¼ãã³ããä½åãã®ãã®ã§ãããReact以å¤ã®ç¥èã¯å ¬å¼ããã¥ã¡ã³ããä¸éãèªãã ç¨åº¦ã§ãããããã£ã¦ãä»åã®ã©ã³ãã³ã°ã¯ã³ã³ãã¼ãã³ãã®æ¸ããããã«çç®ãã¦ãã¾ãã大è¦æ¨¡éçº
ã¯ãããï¼ã¡ã ããã¼ã¿ã¬ãªã¼ã¹ãã£ã³ããã³ã¼ãï¼ ä»åã®è¨äºã¯çè ã«çãããæè¡ç´¹ä»ã§ã¯ãªããåã®å人çãªæè¦ãæ¸ãã¾ããããã¾ã§ããèªèª¬ã§ãã Reactèªä½ã¯ç»æçã§ãããã°ã©ãã³ã°çã«è²¢ç®ããããã¸ã§ã¯ãã ã¨æã£ã¦ãã¾ãããå®å ¨ã«å¦å®ãããããã§ã¯ããã¾ããã Reactã«å¯¾ããéåæï¼è½çãã¦ã¯å¤§ããè²ã£ã種 çè ã¯Reactãã¨ã¦ã好ãã§ãããJavaScriptã好ãã«ãªã£ããã£ãããReactã§ãããä½ããä½ã¾ã§ãReactã§æ¸ãç´ãã¦ãCustom Hooksãä½ã£ã¦ãrefãåé¨åã«æ¸¡ããããããªããªæºå«ãã¦ãã¾ããã Vueãä»äºã®é¢ä¿ã§ç¿å¾ããããå¾ãªããªã£ãã®ã§ãããVueã¯æé«ã«å¤§å«ãã§ããããããªãReactã§æ¸ãç´ãã¦ããã ï¼ã¨æã£ãããã Reactã«ã¤ãã¦ç¤¾å ã§ãå°å ¥ãæ¨é²ããããReactå ¥éã®åå¼·ä¼ãéãããããã¦ãã¾ãã ãããããããªçè ã¯ãæè¿ã«
æ¬è¨äºã¯ããã¾ã§å·çæç¹(2022/3/27)ã§ã®ä¸æè¦ã§ããã¾ãã®ã§ãä»å¾æéãæè¡çãªå¤åã«ããåèã«ãªããªãé¨åãåºã¦ããããããã¾ããã Reactã¯ããããVueã¯ãããã¨æ§ã ãªæ å ±ãä¸ã®ä¸ã«ã¯æº¢ãã¦ãããã®ã®ããããããå ´åã«ã¯ãã¨ããåææ¡ä»¶ã«ãã¾ãè¨åããã¦ããªãæ å ±ãå¤ããããªæ°ãããã®ã§èªåãªãã®è¦ç¹ã§èãã¦ã¿ããã¨æãã¾ããã ã¾ããSvelteãAngularçä»ã®ãã¬ã¼ã ã¯ã¼ã¯ãããã¾ããããã¡ãã¯å人çã«ã¯ããããããªãã®ã§ãããã¾ã§Reactã¨Vueã«ã¤ãã¦ã ãè¨åãã¦ããã¾ãã ç§ã®ããã³ãã¨ã³ãçµé¨ã¨æ°æã¡ã®å¤å 2018å¹´ãããã«Reactãåå¼·ãå§ããã â Reactã£ã¦é£ããâ¦ã 2019å¹´ãããã«Vueãå¦ã³å§ããã â Vueã£ã¦ç°¡åï¼Reactããããããããã¦ããããï¼ 2020å¹´ãããã«Nuxtã®æ¡ä»¶ã«åç»ããã â Webããã³ãã¨ã³ã
ã¯ããã« æè¿ãWebã®è¨äºãè¦ã¦ãã¨Reactã Vue.jsã°ãããä¸ãã£ã¦ãã¦JSPãERBã®è©±ããã¦ã人ã¯èª°ããã¾ãããjQueryã®è¨äºããã¡ããè¦ãªãã ã¤ã¾ããWebã ãè¦ãéãã§ã¯ã»ã¨ãã©ã®äººãSPAã使ã£ã¦ãããã«è¦ãã¾ãã ç§ã¯Webçéã«ã¯å± ããã®ã®ã©ã¡ããã¨ããã¨ããã¯ã¨ã³ãå¯ãããã£ã¨ããã¨ããããWebã¨ãé¢ä¿ãªãé åãè¦ãäºãå¤ãã®ã§ãã¡ãã£ã¨ãã£ããã¢ãããå ¼ãã¦ããã¤ãã®å人ãããã¯ãã«Vue.jsãæ¡ç¨ãã¦ã¿ã¾ããã jQueryãããã§é ãæ¢ã¾ã£ã¦ãã®ã§ããµã¼ããµã¤ãããã¤ã¯ããµã¼ãã¹ã§APIåãé²ãã§ãã®ã§ããã³ããããã«åã£ãæè¡ãé¸ã°ãªãã¨ã§ãããã ã¨ããããã§ãä»åã¯ãã®ä¸ã§å¾ãç¥è¦ã¨ããããå¾æ¥åã®ãµã¼ããµã¤ãã§ã®Webéçºããã¦ãã人ã®è¦ç¹ã§Vue.jsããã£ããã¢ããããæµãã§æ¸ãã¦ããããã¨æãã¾ãã ã¾ãæçµçãªçµè«ã¯æ£ç´ãããããã
2021å¹´ã®Vue.jsã¯æ°ããVue 3ã®ã³ã¢ãå®å®ããéçºç°å¢ããã©ã¤ãã©ãªãã³ã¼ãã®æ¸ãæ¹ã¾ã§ãæ°ããçºè¡¨ã®å¤ãä¸å¹´ã§ãããICSã§ã¯ãã§ã«è¤æ°ã®ããã¸ã§ã¯ãã§Vue 3ãViteçã®æ°ãããã¬ã¼ã ã¯ã¼ã¯ã»ãã¼ã«ã使ç¨ãã¦ãã¾ãããã¾ã ã¾ã æ§åè¦ã¨ããæ¹ãå¤ãã§ãããã å¤åã®å¤§ããVue 3ã®å¨è¾ºã§ããã2021å¹´11æã®VueConf Toronto 2021ï¼ã»ãã·ã§ã³åç»ï¼ã§ãããã次ã®å®çªã¨è¨ããæ§æãã¢ãã¦ã³ã¹ããã¾ããããã®è¨äºã§ã¯ãViteã»cteate-vueã»<script setup>ã»Piniaã¨ãã£ãæ°ããæ¨è¦æ§æãç´¹ä»ããVue 2æ代ããä½ãè¯ããªãã®ããæ¯è¼ãã¾ãã æ°ããæ§æã¯ä½ãè¯ããªãï¼ãã¡ãªãããç¢ºèª æ°ããæ§æã§ã¯ããã¸ã§ã¯ããä½æããéã®ã³ãã³ãã©ã¤ã³ãã¼ã«ããVS Codeã®æ©è½æ¡å¼µãã³ã¼ãã®æ¸ãæ¹ã¾ã§ããã¾ãã¾ãªé¨åãå¤ãã£ã¦ãã¾ããå
Vue.jsã使ã£ãéçºã§ããæ©ã¾ãããã®ãã³ã³ãã¼ãã³ãã®è¥å¤§åã§ããè¤éãªã¢ããªã±ã¼ã·ã§ã³ã«ãªãã¨ã1ã¤ã®ã³ã³ãã¼ãã³ãã<script>ãããã¯ã ãã§æ°ç¾è¡â¦ãªãã¦ãã¨ãããããããªãã§ããããå¾æ¥ãVue 2ã¾ã§ã®æ¨æºçãªæ¸ãæ¹ã§ã¯ãUIã¨ãã¦ã®ã³ã³ãã¼ãã³ãã®ç´°ååã¯ã§ãã¦ããã¸ãã¯ã®åå²ãæ´çã«ã¯éçãããã¾ãããããããVue 3ã®Composition APIãæ´»ç¨ããã¨ãã¯ããã«æè»ãªæ´çã»åå²ãå¯è½ã§ãã ãComposition APIã¯é£ãããã ããã¾ã 使ã£ã¦ããªããã¨ããæ¹ããããã¯ãå°å ¥ã¯ãã¦ãããã©ã¤ãã¤ãã¡ãªãããããããªããã¨ããæ¹ã¯ããã®æ©ä¼ã«ãã²Composition APIãæ´»ç¨ããã³ã³ãã¼ãã³ãã®æ´çè¡ã試ãã¦ã¿ã¦ã¯ãããã§ããããï¼ ãªããVueã®ã³ã³ãã¼ãã³ãã¯è¥å¤§åããã®ãï¼ ç°¡åãªä¾ãè¦ã¦ã¿ã¾ããããä¸ã®ãµã³ãã«ã¯ãããã ãªã¢ããã°æè¨ã®ã³
使ã£ã¦ããããVueã¸ã®æ¨ã¿ãã¤ãã¤ãã¨ï¼éææ´æ°ï¼ ã³ã³ãã¼ãã³ãã®ãã¼ã«ã«ã¹ã³ã¼ãã§ã³ã³ãã¼ãã³ããå®ç¾©ãããã¨ããã¨JSXãå¿ è¦ JSXãå«ã§Reactã使ããªããªãSvelteããããSvelteã¯ã¼ããªã¼ãã¼ãããã§Vueããéã React+JSXã¨éã£ã¦ããã¼ã¯ã¢ãããJavaScriptã®å¼ã¨ãã¦æ±ããªãããã§ãTypeScriptã¨ã®ç¸æ§ãæªã å¾è¿°ããããã³ã³ãã¼ãã³ãã®ããããã£ã®åãã¸ã§ããªãã¯ã«ã§ããªãã¨ãããªã©ã¯ãããã®ä¾ã«ããã Vueã®æ°ããæ©è½ãåºã¦ãæ°ããæ§æãå¿ è¦ã¨ãããã³ã«IDEã®ãã©ã°ã¤ã³ã®å¯¾å¿ãå¿ è¦ã«ãªã JSXãæ§ææ¡å¼µã ããJSé¢æ°å¼ã³åºãã®ã·ã³ã¿ãã¯ã¹ã·ã¥ã¬ã¼ã§ãããªãã®ã§ãé¢æ°ã¨åãã ãã®è¡¨ç¾åï¼æ±ç¨æ§ï¼ãæã¡ãReactã®APIæ¡å¼µã®ããã«ãã¡ãã¡JSXã¾ã§æ¡å¼µããå¿ è¦ã¯ãªã JSXç¡ãã ã¨ããã¼ã¯ã¢ããå ã§ã¢ã¯ã»ã¹ãããã³ã³ãã¼ãã³ã
ä½ã£ããã® è¨äºã¿ã¤ãã«ã®éããVue.jsã§åæç»ãèµ°ã£ãã³ã³ãã¼ãã³ãã®è¼ªéããã©ãã·ã¥ãã¦ãã¤ã©ã¤ããã¦ãããChromeæ¡å¼µ + npmããã±ã¼ã¸ãä½ãã¾ããã GitHub: yuichkun/vue-devtool-flash-updates èæ¯ Vueã®éçºãããä¸ã§ãVue.js devtools ã使ã£ã¦ãã人ã¯å¤ãã¨æãã¾ãã React Developer Tools ã§ã¯ä»¥åããåæç»ãããã³ã³ãã¼ãã³ããå ããã¦ãããæ©è½ããããããã©ã¼ãã³ã¹åé¡ã®è§£æ¶ãªã©ã«å½¹ç«ã£ã¦ããã®ã§ãããã©ãããVue devtoolsã«ã¯ããããªãããããã¨ãissueãªã©ããå¯ãã¾ããã ä»åä½ã£ããã©ã°ã¤ã³ã®å°å ¥æ¹æ³ã®ã¤ã¡ã¼ã¸ã¯Redux Devtoolsã¨ä¼¼ããããªæãã§ã å°ç¨Chromeæ¡å¼µã®ã¤ã³ã¹ãã¼ã« æå¹ã«ãããããã¸ã§ã¯ãã§npmããã±ã¼ã¸ã®è¿½å ã»ãã©ã°ã¤ã³ã®å°å ¥è¨
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}