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

わたしのOSS活動

kazupon
April 20, 2022

 わたしのOSS活動

kazupon

April 20, 2022
Tweet

More Decks by kazupon

Other Decks in Technology

Transcript

  1. Vue.js • ࡞ऀ: Evan You • The Progressive JavaScript Framework

    • ओʹ Web & UI ૚ʹಛԽͨ͠ ϑϨʔϜϫʔΫ • 2013೥ݸਓϓϩδΣΫτͱ ͯ͠։࢝͠ɺͦͷޙࠓʹࢸΔ
  2. • Core Team Members • Community Partners • Core Team

    Emeriti νʔϜߏ੒ 50໊+ͷϝϯόʔ͕ؔΘΔ OSS ϓϩδΣΫτ https://vuejs.org/about/team.html
  3. • Vue.js ͸׬શݸਓओಋ & ϑϧλΠϜOSSϓϩ δΣΫτ • ׆ಈࢿۚ͸εϙϯαʔ ϕʔε •

    Patreon • GitHub Sponsors • Open Collective Not اۀϕʔεͳ OSSϓϩδΣΫτ
  4. • ςοΫϦʔυ & CTO ͱͯ͠ಇ͍͍ͯͨલ৬࣌୅ ʹɺRails ͷ্Ͱಈ͍ͯͨ jQuery ΛϞμϯԽ͢Δͷ ʹ

    Vue.js Λಋೖͨ͠ͷ͕͖͔͚ͬ • ॳظͷࠒ͸ɺຊ౰ʹΤίγεςϜ͕ Vue ຊମ͔͠ ͳ͔ͬͨ • ඞཁʹԠͯ͡ɺࣗ෼Ͱ i18n ϥΠϒϥϦ΍ϑΥʔϜ όϦσʔγϣϯϥΠϒϥϦΛ࣮૷ ίΞνʔϜϝϯόʔʹͳΔഎܠ
  5. ίΞνʔϜͷ໾ׂ • GitHub Issues τϦΞʔδ • GitHub Pull Request ͷϨϏϡʔ

    • ެࣜπʔϧ/ϥΠϒϥϦͷ։ൃɾϝϯςφϯε • ίϛϡχςΟͷαϙʔτ • υΩϡϝϯτͷαϙʔτ • ଞͷίΞνʔϜϝϯόͷαϙʔτ
  6. • Vue.js ͷެࣜυΩϡϝϯ τ͸ɺॳظόʔδϣϯϦ Ϧʔεޙ͔Β຋༁͍ͯ͠ Δ • աڈόʔδϣϯv0.12ʙ v2 (v3

    preόʔδϣϯͷ υΩϡϝϯτ΋) ·Ͱͷ ೔ຊޠ຋༁ެࣜυΩϡϝ ϯτ͸Ҿ͖ଓ͖ϝϯςΛ ܧଓ͍ͯ͠Δ աڈ຋༁υΩϡϝϯτͷϝϯς
  7. • ຋༁ελΠϧ : • JTF೔ຊޠඪ४ελΠϧΨΠυ • MicrosoftϩʔΧϥΠθʔγϣϯελΠϧΨΠυ • Vue.js ೔ຊϢʔβʔάϧʔϓಠࣗελΠϧ

    • ຋༁ΏΒ͗νΣοΫπʔϧͱͯ͠textlint + ΧελϜϧʔϧͰ νΣοΫ • textlint-rule-preset-JTF-style • textlint-rule-preset-vuejs-jp ຋༁ΏΒ͗Λ๷͙πʔϧͷಋೖ
  8. • Rycho ͸ຊՈެࣜυΩϡϝ ϯτrepo͔Βࠩ෼commit Λݕग़ͯ͠ɺGitHub Issues ͱͯ͠ొ࿥͢Δ • Conflict ͕ͳ͍΋ͷ͸ࣗಈ

    Ͱ PR Λ࡞ͬͯ͘ΕΔ • ϝϯςφ͸࡞ΒΕͨ Issue / PR Λݩʹɺ຋༁υΩϡϝ ϯτΛ࠷৽ͷঢ়ଶʹ͢Δ υΩϡϝϯτͷ࠷৽಺༰௥ैπʔϧͷಋೖ
  9. • CoC Ҏ֎͸ಛʹݫ֨ͳ ϧʔϧ͸ఆΊ͍ͯͳ͍ • ίϛϡχςΟ͕ؾ࣋ͪ Α͍৔ʹ͢ΔΑ͏ʹ৺ ͕͔͍͑ͯΔ • ࣭໰΁ͷฦ౴ɺMeetup

    ͷ։࠵ɺVue.jsެࣜؔ ࿈ϨϙδτϦͷϦϦʔ ε৘ใͳͲͷΞφ΢ϯ εͨ͠ΓͳͲ SlackͷӡӦ
  10. • Ϟνϕʔγϣϯ i18n पΓͷ໰୊(ͭΒΈ)Λղ͍ͯDXΛ޲্ͤͨ͞ ͍ • എܠ vue-i18n ͷ։ൃ &

    ۀ຿΁ͷಋೖ & l10n ͷ࣮ӡ༻͠ ͍ͯ͘͏ͪʹࣗ෼ͷதͰιϑτ΢ΣΞͷi18nରԠप Γ͍ͯ͘͠͏ͪʹղ͖͍ͨͱժੜ͖͑ͯͨ Ϟνϕʔγϣϯͱഎܠ
  11. • ղ͖͍ͨιϑτ΢ΣΞ։ ൃʹ͓͚Δ i18n ͷ՝୊ Λղܾ͢ΔͨΊͷॳظί ϯηϓτ • builderscon 2018

    Ͱൃද ޙɺϓϩδΣΫτΛཱͪ ্͛ͨ ϓϩδΣΫτ։࢝ʹ޲͚ͨΞΠσΞ Slide: https://speakerdeck.com/kazupon/future-of-i18n YouTube: https://www.youtube.com/watch?v=oycx8hdd3Ws
  12. • i18n routing (@intlify/routing) • URL ϧʔςΟϯάपΓ޲͚ͷ i18nϥΠϒϥϦ • Nuxt.js

    ͷ Nuxt 3 ରԠ͔Β೿ ੜͨ͠΋ͷ • Nuxt.js Ҏ֎ʹ΋ vite + vue Ͱ ΋࢖͑ΔΑ͏ʹఏڙ͢Δ༧ఆ 2022೥औΓ૊Έதͷ΋ͷ
  13. • Locale switcher • web front-end agnostic ͳݴޠ੾ସʹಛԽͨ͠γ ϯϓϧͳϥΠϒϥϦ •

    ۀ຿ͷ micro-services (micro-frontend) ͳ system ͷଟݴޠԽରԠͰ൚༻Խͨ͠΋ͷ • Pluggable ͳػߏΛ࣮૷ͯ͠ఏڙ͢Δ༧ఆ 2022೥औΓ૊Έதͷ΋ͷ
  14. • vue-i18n v9 Ͱ։ൃͨ͠ i18n ϦιʔεϝοηʔδϑΥʔ Ϛοτͷચ࿅ & ൚༻Խ •

    ICU ·ͨ͸ MessageFormat Working Group ͕ਐΊ͍ͯΔ࢓༷ ͱޓ׵ • l10n ϑϨϯυϦʔ • pluggable ͳػߏ • Rust Ͱ࣮૷༧ఆ ࠓޙͷ༧ఆ https://github.com/unicode-org/message-format-wg
  15. • vue-i18n v9 Ͱ࡞ͬͨίΞϥΠϒϥϦͷચ࿅Խ • ΑΓϑϨʔϜϫʔΫ agonostic ͨ͠ϥΠϒϥϦ΁ • TypeSafe

    Ϧιʔε؅ཧ • αʔόʔαΠυࢦ޲ • ্هΛϕʔεʹ vue-i18n v10 ͷ։ൃ ࠓޙͷ༧ఆ
  16. • ۀ຿Ͱղ͘՝୊͸ҙࣝ͠ ͯجຊతʹ൚༻తʹղ͘ • Case: ϓϩμΫτͷ l10n ϫʔ Ϋϑϩʔͷ؀ڥ੔උͰ ඞཁͳ

    CLI πʔϧΛ ࡞ͬͨέʔε ͲͷΑ͏ʹۀ຿ͰOSS׆ಈ͍ͯ͠Δͷ͔ https://tech.plaid.co.jp/continuous-localization
  17. • vue-i18n Λ࢖͍ͬͯΔ ϓϩμΫτͰ i18n Ϧ ιʔεͷ l10n αʔϏε ͱ࿈ܞͰඞཁʹͳͬͨ

    • ༷ʑͳ l10n αʔϏε ͕͋ΔͷͰͦΕͱ࿈ܞ ͢ΔػߏΛ൚༻తʹઃ ܭ͠ɺCLIπʔϧͱ͠ ࣮ͯ૷ OSSͱͯ͠࡞ͬͨCLIπʔϧͱ͸ʁ
  18. • ۀ຿ 40% / OSS 60% ͱ͍͏Α͏ͳײ͡ • OSS ։ൃͱۀ຿։ൃ͕૒ํγφδʔ͢ΔΑ͏ҙ͍ࣝͯ͠Δ

    • ࣗ෼ͷ৔߹͸ϓϩμΫτͷࠃࡍԽରԠʹϞνϕʔγϣϯΛ ͍࣋ͬͯΔ • ϓϩμΫτ։ൃ͔Βղ͘΂͖՝୊Λݟ͚ͭͦΕΛOSSԽ • ಋೖ͍ͯ͠ΔOSSͷܧଓ։ൃɾϝϯς • ࣗ෼ͷ΍͍ͬͯΔ͜ͱ͕݁Ռͱͯ͠ϓϩμΫτͷՁ஋ʹఏ ڙͰ͖ΔΑ͏ʹ͍ͯ͠Δ ۀ຿ͱOSS׆ಈͷൺ཰
  19. όάใࠂ PRϨϏϡʔ όάमਖ਼ ৽ػೳ࣮૷ ॻ੶ࣥච Q & A ରԠ ϒϩά

    ϛʔτΞοϓ։࠵ ϛʔτΞοϓͷ͓ख఻͍ ΧϯϑΝϨϯεͷ͓ख఻͍ ϙουΩϟετ εϙϯαʔ&د෇ εϐʔΧʔొஃ ಈը υΩϡϝϯτվળ υΩϡϝϯτ຋༁ νϟοτରԠ ϥΠϒϥϦ։ൃ ɾɾɾ ܒ໤ ϫʔΫγϣοϓ ࣾ಺ษڧձ
  20. Developer Company Creator OSS Product Blog / SNS Developer Developer

    donate donate more use write more develop read try to use more develop Developer Developer read User more use User use feedback try to use
  21. Developer Company Creator OSS Product Blog / SNS Company Product

    Developer Plugin Developer donate donate more develop adopt / more use develop create more develop Developer Developer User User use feedback more use and contribute feedback more use
  22. Developer Company Creator OSS Product Blog / SNS Company Product

    Plugin Developer Developer donate donate more develop more use and contribute more develop more develop adopt / use more develop Developer Developer User more use Company Product develop User more use Blog write read Developer (OSS Plugin Creator) more use and contribute
  23. Developer Company Creator OSS Product Blog / SNS Company Product

    Developer (OSS Plugin Creator) Plugin Developer Developer donate donate more develop more develop more develop more use more develop Developer Developer User more use Company Product more develop User more use Event Organizer Event invite more use and contribute more use and contribute more use and contribute
  24. Developer Company Creator OSS Product Blog / SNS Company Product

    Plugin Developer Developer donate donate more use more develop more use more develop more develop more use more develop Developer Developer User more use Company Product more develop User more use Event Organizer Company Developer join as speaker Event sponsored join as attendee Slide speak attend join as speaker Developer join as staff Media report Blog Developer (OSS Plugin Creator) more use and contribute