Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Chrome Dev Summit 2019振り返り

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers. →
Avatar for Junya Junya
February 19, 2020

Chrome Dev Summit 2019振り返り

Avatar for Junya

Junya

February 19, 2020

More Decks by Junya

Other Decks in Programming

Transcript

  1. ࣗݾ঺հ ## @ka2jun8 / J / ͔ʹ ### ܦྺͱॴଐ
 -

    2014೥4݄ ৽ଔ F ͔Β͸͡·ΔձࣾʢR&Dʣ
 - 2018೥4݄ த్ R ͔Β͸͡·ΔձࣾʢWeb FEʣ ### ΍ͬͯΔ͜ͱ
 - WebαʔϏεͷ৽ن্ཱͪ͛/ϑϧϦϓϨΠε
 - ࠷ۙ͸ AMP Λ࢖ͬͨ։ൃ ### ޷͖ͳ΋ͷ
 - ೫໦ࡔ46 / Dead by Daylight / HUNTER x HUNTER
  2. Protecting users on a thriving web ʹର͢Δॴײ • Same Site

    Cookie ݫ͍͠ؾ࣋ͪ͸Θ͔Δ • ϚʔέςΟϯά෦ॺ͔Β͢ΔͱɺύʔιφϥΠζ͍ͨ͠ͷ΋Θ͔Δ • Θ͔ΔΜ͚ͩͲɺɺɺ • ͔͠͠ɺ΋͏ͦ͏͍͏࣌୅͡Όͳ͍ɻ • ։ൃऀ͕ϓϥΠόγʔݒ೦Λਖ਼͘͠ཧղ͢Δɻ
 Ϛʔέ΍ଞͷ෦ୂͷਓͨͪʹཧղΛͯ͠΋Β͏ɻ • …೉͍͠ΑͶɺΘ͔Δɻ
  3. What’s new in sign-up and sign-in • SMS Ͱ 2FA͢Δͱ͖ʹɺೖྗΛαϙʔτ͢Δ

    • Yahoo!JAPAN ͩͱ re-auth Ͱ ୺຤ͷࢦ໲ೝূͱ͔Λ2FA Ͱ࢖͑ΔΑ͏ʹͳͬͯΔɻFIDO͔ɻ
  4. What’s new in sign-up and sign-in • SMS Ͱ 2FA͢Δͱ͖ʹɺೖྗΛαϙʔτ͢Δ

    • Yahoo!JAPAN ͩͱ re-auth Ͱ ୺຤ͷࢦ໲ೝূͱ͔Λ2FA Ͱ࢖͑ΔΑ͏ʹͳͬͯΔɻFIDO͔ɻ
  5. Speed tooling evolutions: 2019 and beyond • ύϑΥʔϚϯεͷϝτϦΫε͕v6ͰมΘΔɻ Largest Contentful

    Paint ͕ॏཁࢹ͞ΕΔɻ͜ Ε·ͰҎ্ʹେ͖ͳཁૉ͸࡞ͬͪΌͩΊɻ • Lighthouse CI ͷ঺հ
  6. Lighthouse CI MIDJEFWMIDJ JNBHFNBSLIPCTPOOPEFDISPNF FOWJSPONFOU "11@&/7EFW 5"3(&5EFW -)$*@50,&/YYYYYYY DPNNBOET OQNJOTUBMMH!MIDJDMJ!

    c MIDJDPMMFDUDPOpHMJHIUIPVTFSDKT MIDJVQMPBEDPOpHMJHIUIPVTFSDKT MIDJBTTFSUDPOpHMJHIUIPVTFSDKTccFDIP-)$* GBJMFE XIFO FWFOUQVTI CSBODIEFWFMPQ • LHCIͷdockerΛࣗલͰཱ ͯΔͷ͸ͪΐͬͱେม • droneͷCIλεΫ͸
 ͜Μͳײ͡ˠ • CIͰσϓϩΠޙʹLHCIΛ ୟ͘ɺͱ͍͏ύΠϓϥΠϯ ͳͷͰɺ࿈ଓͰσϓϩΠͬ ͯͷ͸Ͱ͖ͳ͘ͳͬͨɻ
  7. Adoptive Loading - Improving the user- experience for millions on

    low-end devices • ࢖ΘΕΔ୺຤ʹΑͬͯεϖοΫʹ͕ࠩ͋ΔͷͰɺεϖοΫ͕௿ ͍ํʹ߹Θͤͯ࡞Δํ͕͍͍ˠऑ͍୺຤ͳΒී௨ɺ͍͍୺຤ ͳΒ͸΍͘ͳΔ • ୺຤ͷstatus ΍ network ͷ status Ͱ adaptive ʹ ඳը͢Δ΋ ͷΛมߋ͢Δʢڧ͚Ε͹Ϧονʹ͢Δ͠ɺऑ͚Ε͹௿ը࣭ ͩͬͨΓػೳΛ࡟Δʣ • ͰɺLow ͱ high Ͱ webpack chunk ໊͚ͭͯɺ chunk ෼͚͠ ͯɺͦΕͧΕʹରͯ͠ෆཁͳίʔυ͸མͱ͞ͳ͍Α͏ʹ͢Δɻ
  8. Adoptive Loading ͷॴײ • ʮ·͔͡Αɻʯ • Ϋι࡞Δͷେมͦ͏͚ͩͲɺ·͋΍ͬͨΒͦΓΌ͍͍ͷ ͸Θ͔Δ • ϨϯμϦϯά͚ͩͰϢʔβΠϕϯτΛϒϩοΫ͠ͳ͍Α

    ͏ʹͨ͠ΓɺϑϨʔϜϨʔτΛࣗ෼Ͱ͍ͬͨ͡Γ΋Ͱ͖ ΔͷͰɺ׆͔ͤΕ͹͍͚͢͝Ͳɺ࣮ࡍͷϓϩμΫτͷݱ ৔Ͱ͜͜·ͰϦονʹରԠͰ͖Δݱ৔ͳ͔ͳ͔ͳͦ͞͏
  9. The main thread is overworked & underpaid • UIΛඳը͢ΔҎ֎ͷϩδοΫ͸Worker Λ࢖͓͏

    • Worker ʹରͯ͠ૢ࡞͢Δ໊લ͚ͭͯ switch ͢Δͱ͔େม ͔ͩΒ comlinik ͕ศར • Main thread ͸ UI thread ͩʂ • ProxxΛࢀߟʹ https://github.com/GoogleChromeLabs/proxx
  10. Next generation web styling • ໊ͷ௨Γ࣍ੈ୅CSSʹ͍ͭͯͷൃද • Prefer theme Ͱ

    ςʔϚΧϥʔΛม͑ΕΔ (Dark | light) • Margin-inline-start ͱ͔Ͱ Japanese ͩͬͨΒॎॻ͖ͱ͔Λ ࠶ݱͰ͖ΔΑ͏ʹͳΔ • Filter css Ͱը૾ʹϑΟϧλʔ͔͚ΒΕΔ etc…
  11. PWA and the installable web • PWA ͷݪଇ͸ “Don’t be.

    Annoying” • Ϣʔβʔʹརӹ͕ͳ͍ͳΒ΍Βͳ͍ɻ • ຊ౰ʹՁ஋Λ෼͔͍ͬͯΔϢʔβͷͨΊʹ࢖͏΋ͷ • OYO Ͱ OYO lite ͱͯ͠࢖ͬͯ͏·͍ͬͯ͘Δɻ • PWA͸ͱΓ͋͑ͣೖΕΕ͹͍͍ͬͯ΋ͷͰ͸ͳ͍ɻ • ͖ͪΜͱ஫ҙͯ͠࢖͑Αɺͱ͍͏આ໌ʹͳ͍ͬͯͨͷ͕Α͔ͬͨɻख์ ͠ʹೖΕͯྑ͍΋ͷͰ͸ͳ͍ɻ
  12. Bridging the native app • Share API, contacts API, ϑΝΠϧૢ࡞APIͳ

    ͲɺωΠςΟϒʹ͍ۙAPI ͕࢖͑ΔΑ͏ʹͳΔ • Project FUGU
  13. Intent to explain: demystifying the Blink shipping process • ৽͍͠ػೳΛChrome

    ʹಋೖ͠࢓༷ࡦఆʹ΋͍ͬͯ͘·Ͱͷ ࿩ɻ ·ͣ໰୊఺Λௐࠪ͠ɺͦΕʹର͢Δ prototype Λ։ൃ ͢Δɻ experimental ͳ flag Ͱػೳͷग़͠෼͚ΛՄೳʹͨ͠ ঢ়ଶͰ։ൃऀ͔ΒͷϑΟʔυόοΫΛಘͯ iteratable ʹػೳ Λվળ͢Δɻ ͦͯ͠࠷ऴతʹ ship / unship ΛܾΊΔɻ
  14. Advancing the web framework ecosystem ͷॴײ • React ͳΒ·ͩ͠΋ɺ Next.js

    + Chrome ͷ࿩ ͕݁ߏଟΊʹ͋ͬͨͷ͕஫໨͢΂͖఺ɻ • Vue ΋Ұॠग़͖͍͕ͯͯͨɺ΍͸Γੈքతʹ ͸ React Ұڧͱ͍͏ײ͕ͨ͡͠ɻ
  15. Advancing the web framework ecosystem ͷॴײ • next.js ʹରͯ͠ Google

    ͷ։ൃऀ͕ͨͪ contribution ͠ ͍ͯΔͱͷ͜ͱɻ ͜͏͍͏࿩Λฉ͘ͱɺ next.js Λ࢖͏ ͷ͕σϑΝΫτʹͳΓͦ͏ͩͳͱײ͟͡ΔΛಘͳ͍ɻ
  16. In which we make loading disappear with and friends •

    Portals, Periodic Background Sync, Web bundles ͳͲɺ ৽ͨʹࢼ༻తʹ։ൃ͞Ε͍ͯ Δ Chrome ͷػೳͨͪʹؔ͢Δ಺༰ɻ
  17. In which we make loading disappear with and friends Portals

    ͸؆୯ʹݴͬͯ͠·͑͹ iframe Ͱදࣔͨ͠ next page ΛγʔϜϨεʹը໘ ભҠՄೳʹ͢Δ΋ͷɻ URL ΋γʔϜϨεʹมߋ͞ΕΔͷͰɺ MPA Ͱ SPA ͬΆ͍ UX ΛఏڙՄೳʹͳΔɻ ͨͩ experimental ͳͷͰɺ chrome Ͱ flag Λ true ʹ͠ ͳ͍ͱར༻Ͱ͖ͳ͍ɻ
  18. In which we make loading disappear with and friends Web

    bundles ͸ɺWeb page Λ bundle ͯ͠ 1 ͭͷϑΝΠϧͱͯ͠μ΢ϯϩʔ υɺ഑৴ɺల։ՄೳʹͳΔ΋ͷɻ Web bundles ͸ɺnetwork ͕མ͍ͪͯͯ΋ bundle ͞ΕͨϑΝΠϧΛԣల։Ͱ഑৴Ͱ͖Ε͹ɺಉ͡΢ΣϒΞϓϦΛಈ͔͢͜ͱ ͕Ͱ͖Δɻ Signed exchange Λར༻Ͱ͖Ε͹ͦͷϑΝΠϧ͕ਖ਼͍͠৴པ͞Εͨ΋ ͷͰ͋Δͱ chrome ͕อূͯ͘͠ΕΔɻ
  19. How to make your content shine on Google Search •

    Google bot ʹؔ͢Δ࠷৽ঢ়گͷ࿩ɻ
  20. How to make your content shine on Google Search •

    100% JS ͷϖʔδͰ΋ indexing ͞Ε͍ͯΔ࣮੷͕͋Δɻ CSR ͷϖʔδ Ͱ΋ʢे෼ʹ଎͚Ε͹ʣͪΌΜͱΠϯσΫγϯά͞ΕΔͱ͍͏঺հɻ
  21. How to make your content shine on Google Search •

    ϨϯμϦϯά͸5ඵ͕தԝ஋ɻ 90%͸1෼Ҏ಺ʹϨϯμϦϯά͞ΕΔɻ Ұ ํɺϩʔσΟϯά͕ "done" ͷঢ়ଶ͕೉͍͠ɺͱ͍͏࿩͕͋ͬͨɻ มʹ઀ ଓɾ௨৴͕ଓ͍ͨঢ়ଶʹͳͬͯ͠·͍ͬͯΔͱ஗͍ͱ൑அ͞Ε͔Ͷͳ͍ͷͰ ஫ҙͯ͠΄͍͠ͱͷ͜ͱɻ(networkidle0ʹ͢Δ)
  22. AMP!!!! • AMP + Next.js + TypeScript + styled-components ։ൃத

    • AMP
 ɹamp-img, amp-story, amp-sidebar, … • PWA(+SW) Ὅ஫໨ • Renovate bot • Lighthouse CI • Storybook + reg-suitʢVRTʣ
  23. AMP!!!! • AMP + Next.js + TypeScript + styled-components ։ൃத

    • AMP
 ɹamp-img, amp-story, amp-sidebar, … • PWA(+SW) Ὅ஫໨ • Renovate bot • Lighthouse CI • Storybook + reg-suitʢVRTʣ ϦϦʔεؒۙʂ
  24. ·ͱΊ • Chrome Dev Summit 2019Ͱฉ͍ͨ಺༰ΛৼΓ ฦΓ঺հɻ • Webͷ࠷ઌ୺ͳͷͰ΍͸Γ໘ന͍ʢݸਓతʹ͸ Google

    I/OΑΓ໘ന͍ͱࢥ͏ʣɻ • Πϯϓοτ͢Δ͚ͩͰͳ͘ɺ͜ΕΒͷ৘ใΛੜ ͔ͯ͠Ξ΢τϓοτ͍͖͍ͯͨ͠ɻ