ãã¥ã¼é·ç§» API
ãã¥ã¼é·ç§» API ã¯ãç°ãªãã¦ã§ããµã¤ãã®ãã¥ã¼éã®ã¢ãã¡ã¼ã·ã§ã³é·ç§»ãç°¡åã«ä½æããããã®ä»çµã¿ãæä¾ãã¾ããããã«ã¯ãåä¸ãã¼ã¸ã¢ããªã±ã¼ã·ã§ã³ (SPA) ã«ããã DOM ç¶æ å¤åã®ã¢ãã¡ã¼ã·ã§ã³ãããã³è¤æ°ãã¼ã¸ã¢ããªã±ã¼ã·ã§ã³ (MPA) ã«ãããææ¸å ã®ç§»åæã®ã¢ãã¡ã¼ã·ã§ã³ãå«ã¿ã¾ãã
æ¦å¿µã¨ä½¿ãæ¹
ãã¥ã¼é·ç§»ã¯ãã¦ã¼ã¶ã¼ãã¢ããªã±ã¼ã·ã§ã³ã®ç¶æ ã¾ãã¯ãã¥ã¼ã®éãç§»åããéã«ãã¦ã¼ã¶ã¼ã®èªç¥çè² è·ã縮å°ããã³ã³ããã¹ãã«ã¨ã©ã¾ããã¨ãæ¯æ´ããèªã¿è¾¼ã¿å¾ ã¡ã®ç¥è¦æéãç縮ããããã®æåãªè¨è¨ã®é¸æè¢ã§ãã
ããããã¦ã§ãä¸ã§ãã¥ã¼é·ç§»ã使ããã®ã¯ã徿¥ã¯å°é£ãªãã¨ã§ããã
- åä¸ãã¼ã¸ã¢ã㪠(SPA) ã§ç¶æ
å¤åã®é·ç§»ãè¡ãã«ã¯ãããªãã® CSS 㨠JavaScript ãæ¸ããªããã°ãªããªãå¾åãããã¾ãã
- å¤ãã³ã³ãã³ãã¨æ°ããã³ã³ãã³ãã®èªã¿è¾¼ã¿ã¨ä½ç½®æ±ºããå¦çãã¾ãã
- å¤ãç¶æ ã¨æ°ããç¶æ ãã¢ãã¡ã¼ã·ã§ã³åãã¦ãé·ç§»ã使ãã¾ãã
- å¤ãã³ã³ãã³ããã¦ã¼ã¶ã¼ãæä½ãã¦åé¡ãèµ·ãããã¨ã鲿¢ãã¾ãã
- é·ç§»ãå®äºããããå¤ãã³ã³ãã³ããé¤å»ãã¾ãã ã¢ã¯ã»ã·ããªãã£ã«é¢ããåé¡ãä¾ãã°ãèªã¿è¾¼ã¿ä½ç½®ã®åªå¤±ããã©ã¼ã«ã¹ã®æ··ä¹±ãã©ã¤ããªã¼ã¸ã§ã³ã«é¢ããæ£ãããªãã¢ãã¦ã³ã¹ãªã©ã¨ãã£ãåé¡ããæ°ããã³ã³ãã³ãã¨å¤ãã³ã³ãã³ãã®ä¸¡æ¹ãåæã« DOM ã«åå¨ããããã¨ã«ãã£ã¦å¼ãèµ·ããããå¯è½æ§ãããã¾ãã
- ææ¸éã®ãã¥ã¼é·ç§»ï¼ã¤ã¾ããMPA ã®ç°ãªããã¼ã¸éã®ç§»åï¼ã¯ä¸å¯è½ã§ããã
ãã¥ã¼é·ç§» API ã¯ãè¦æ±ããã DOM ã®å¤æ´ã¨é·ç§»ã¢ãã¡ã¼ã·ã§ã³ãããç°¡åã«å¦çããæ¹æ³ãæä¾ãã¾ãã
ãã©ã¦ã¶ã¼ã®æ¢å®ã§ã¯ããã¥ã¼é·ç§»ã使ããã¢ãã¡ã¼ã·ã§ã³ã¯ãã°ããå®è¡ããã¾ããã¾ããSPA 㨠MPA ã®ãã¥ã¼é·ç§»ã®ä¸¡æ¹ã§ãé·ç§»ã¢ãã¡ã¼ã·ã§ã³ãã«ã¹ã¿ãã¤ãºãããããã¥ã¼é·ç§»èªä½ãæä½ãããï¼ä¾ãã°ãã¢ãã¡ã¼ã·ã§ã³ãã¹ãããããç¶æ³ãæå®ãããï¼ã§ããæ©è½ãããã¾ãã
詳ããã¯ãã¥ã¼é·ç§» API ã®ä½¿ç¨ãåç §ãã¦ãã ããã
ã¤ã³ã¿ã¼ãã§ã¤ã¹
ViewTransition-
ãã¥ã¼é·ç§»ã表ãã¾ããé·ç§»ãç°ãªãç¶æ ï¼ã¢ãã¡ã¼ã·ã§ã³ãå®è¡ããæºåãã§ãã¦ãããã¢ãã¡ã¼ã·ã§ã³ãå®äºãããªã©ï¼ã«éããããé·ç§»ãå®å ¨ã«ã¹ããããããããæ©è½ãæä¾ãã¾ãã
ä»ã®ã¤ã³ã¿ã¼ãã§ã¤ã¹ã®æ¡å¼µ
Document.startViewTransition()-
æ°ããå䏿æ¸å (SPA) ãã¥ã¼é·ç§»ãéå§ããããã表ã
ViewTransitionãªãã¸ã§ã¯ããè¿ãã¾ãã PageRevealEvent-
pagerevealã¤ãã³ãç¨ã®ã¤ãã³ããªãã¸ã§ã¯ããææ¸éã®ç§»åä¸ã«ãç§»åå ã®ææ¸å ã®ãã¥ã¼é·ç§»ãèµ·åãããå ´åãé¢é£ã®ãã¥ã¼é·ç§»ãæä½ãããã¨ãã§ãã¾ãï¼é¢é£ããViewTransitionãªãã¸ã§ã¯ãã«ã¢ã¯ã»ã¹ã§ãã¾ãï¼ã PageSwapEvent-
pageswapã¤ãã³ãã®ã¤ãã³ããªãã¸ã§ã¯ããææ¸éã®ç§»åä¸ãç§»åã«ãã£ã¦ãã¥ã¼é·ç§»ãèµ·åãããå ´åãç§»åå ã®ææ¸ããé¢é£ãããã¥ã¼é·ç§»ãæä½ãããã¨ãã§ãã¾ãï¼é¢é£ããViewTransitionãªãã¸ã§ã¯ãã«ã¢ã¯ã»ã¹ã§ãã¾ãï¼ã ã¾ããç§»åã®ç¨®é¡ããç§»åå ã¨ç§»åå ã®ææ¸ã®å±¥æ´é ç®ã«é¢ããæ å ±ã¸ã®ã¢ã¯ã»ã¹ãæä¾ãã¾ãã Windowã®pagerevealã¤ãã³ã-
ææ¸ãæåã«ã¬ã³ããªã³ã°ãããã¨ãããããã¯ã¼ã¯ããæ°ããææ¸ãèªã¿è¾¼ãã å ´åãã¾ãã¯ææ¸ï¼ããã¯/ãã©ã¯ã¼ããã£ãã·ã¥ (bfcache)ã¾ãã¯äºåã¬ã³ããªã³ã°ï¼ãã¢ã¯ãã£ãã«ããå ´åã«çºè¡ããã¾ãã
Windowã®pageswapã¤ãã³ã-
ããã²ã¼ã·ã§ã³ã«ããææ¸ãã¢ã³ãã¼ãããããã¨ããã¨ãã«çºè¡ããã¾ãã
HTML ã¸ã®è¿½å
<link rel="expect">-
ã¦ã¼ã¶ã¼ããã¼ã¸ãæåã«è¡¨ç¤ºããéã«ãé¢é£ææ¸å ã®æãéè¦ãªã³ã³ãã³ããèå¥ãã¾ãã éè¦ãªã³ã³ãã³ããè§£éãããã¾ã§ææ¸ã®ã¬ã³ããªã³ã°ããããã¯ããããã¹ã¦ã®å¯¾å¿ãã©ã¦ã¶ã¼ã§ä¸è²«ãããã¡ã¼ã¹ããã¤ã³ãï¼æåã®æç»ï¼ãä¿è¨¼ããããã®çµæããã¥ã¼ã®é·ç§»ãä¿è¨¼ããã¾ãã
CSS ã®è¿½å
>ã¢ããã«ã¼ã«
@view-transition-
ææ¸éã®ç§»åã®å ´åã
@view-transitionã使ç¨ãã¦ãç§»åå ã¨ç§»åå ã®ææ¸ã§ãã¥ã¼é·ç§»ãè¡ãããã«ãã¾ãã
ããããã£
view-transition-name-
鏿ãããè¦ç´ ã«å¥ãªèå¥åãæä¾ããã«ã¼ãã®ãã¥ã¼é·ç§»ã¨ã¯å¥ã®ãã¥ã¼é·ç§»ã«åå ããã¾ãã
noneã®å¤ãæå®ãããå ´åã¯ãã¥ã¼é·ç§»ã«åå ããã¾ããã
æ¬ä¼¼è¦ç´
::view-transition-
ãã¥ã¼é·ç§»ãªã¼ãã¼ã¬ã¤ã®ã«ã¼ãã§ããã¹ã¦ã®ãã¥ã¼é·ç§»ãæ ¼ç´ããä»ã®ãã¹ã¦ã®ãã¼ã¸ã³ã³ãã³ãã®ä¸ã«é ç½®ããã¾ãã
::view-transition-group()-
åä¸ã®ãã¥ã¼é·ç§»ã®ã«ã¼ãã§ãã
::view-transition-image-pair()-
ãã¥ã¼é·ç§»ã®æ°æ§ãã¥ã¼ï¼é·ç§»åã¨é·ç§»å¾ï¼ã®ã³ã³ããã¼ã§ãã
::view-transition-old()-
ãã¥ã¼é·ç§»ç§»è¡åã®éæ¢ã¹ã¯ãªã¼ã³ã·ã§ããã§ãã
::view-transition-new()-
ãã¥ã¼é·ç§»å¾ã®æ°ãããã¥ã¼ã®ã©ã¤ã表ç¾ã§ãã
ä¾
- Basic View Transitions SPA demo: åºæ¬çãªç»åã®ã£ã©ãªã¼ã®ãã¢ã§ãå¤ãç»åã¨æ°ããç»åãå¤ããã£ãã·ã§ã³ã¨æ°ãããã£ãã·ã§ã³ã®éã«å¥åã®é·ç§»ãããã¾ãã
- Basic View Transitions MPA demo: 2 ãã¼ã¸ã®ãµã¤ãã®ä¾ã§ã2 ã¤ã®ãã¼ã¸éãç§»åããéã«ç¬èªã®ãã¹ã¯ã¤ãã¢ãããé·ç§»ãæå®ããããææ¸é (MPA) ã®ãã¥ã¼é·ç§»ã®ä½¿ç¨ä¾ã示ãã¾ãã
- HTTP 203 playlist: ãã¥ã¼é·ç§» API ã«ããã¹ã ã¼ãºã§ã·ã³ãã«ãªé·ç§»ã§ã¯ããã®å¤ãã説æããã¦ãã¾ãããã¾ãã¾ãªå¤ãã®ãã¥ã¼é·ç§»æ©è½ãåãããããæ´ç·´ãããåç»ãã¬ã¼ã¤ã¼ã®ãã¢ã¢ããªã§ãã
- List of Chrome DevRel team members: åºæ¬çãªãã¼ã ãããã£ã¼ã«ãã¼ã¸ã®ã¢ããªã§ã
pagerevealããã³pageswapã¤ãã³ãã使ç¨ãã¦ã"from" 㨠"to" ã® URL ã«åºã¥ãã¦ãææ¸éãã¥ã¼é·ç§»ã®æµåºã»æµå ¥ã¢ãã¡ã¼ã·ã§ã³ãã«ã¹ã¿ãã¤ãºããæ¹æ³ã示ãã¦ãã¾ãã
仿§æ¸
| 仿§æ¸ |
|---|
| CSS View Transitions Module Level 2 > |
| CSS View Transitions Module Level 1 > |
ãã©ã¦ã¶ã¼ã®äºææ§
>api.Document.startViewTransition
css.at-rules.view-transition
é¢é£æ å ±
- View Transition API ã«ããã¹ã ã¼ãºãªé·ç§» (developer.chrome.com, 2024)
- View Transition API: Creating Smooth Page Transitions (stackdiary.com, 2023)
- View Transitions API: Single Page Apps Without a Framework (www.debugbear.com, 2024)