Slide 1

Slide 1 text

© 2024 Ateam Inc. 採⽤事例の少ないSvelteを選んだ理由と それを正解にするためにやっていること 2024/12/12 フロントエンドの技術選定~2024年を振り返る~Lunch LT 株式会社エイチームライフデザイン シニアエンジニア oe kazuma

Slide 2

Slide 2 text

© 2024 Ateam Inc. 株式会社エイチームライフデザイン シニアエンジニア oe kazuma 2 ⾃⼰紹介 @oekazuma

Slide 3

Slide 3 text

© 2022 Ateam Inc. 3 会社説明

Slide 4

Slide 4 text

© 2024 Ateam Inc.
 4
 企業紹介


Slide 5

Slide 5 text

© 2024 Ateam Inc.
 5
 サービス紹介 


Slide 6

Slide 6 text

© 2022 Ateam Inc. 6 なぜSvelteに移⾏しているのか 2020年〜2024年現在までの話

Slide 7

Slide 7 text

© 2022 Ateam Inc. 7 Svelteを選んだ理由

Slide 8

Slide 8 text

© 2024 Ateam Inc. 8 Svelteを選んだ理由 エンジニア デザイナー マークアップ以外の開発業務を担当 Webデザインとマークアップを担当

Slide 9

Slide 9 text

© 2024 Ateam Inc. 9 Svelteを選んだ理由

Slide 10

Slide 10 text

© 2024 Ateam Inc. 10 Svelteを選んだ理由 ⾃分たちに⼀番合っているものは何か?🤔

Slide 11

Slide 11 text

© 2024 Ateam Inc. 11 Svelteを選んだ理由 例えば... ● 現在使⽤しているPHP/Symfonyに慣れているのでテンプレート型がいい ● エンジニアとデザイナーが分業しやすいものがいい ● デザイナーはJavaScriptをあまり書かないものがいい ● 学習コストはできるだけ低いほうがいい ● TypeScriptは使って型安全に開発できたほうがいい

Slide 12

Slide 12 text

© 2024 Ateam Inc. 12 Svelteを選んだ理由 ⾃分たちに⼀番合っていると思ったSvelteを採⽤することに決定!

Slide 13

Slide 13 text

© 2022 Ateam Inc. 13 Svelteを選んだことを正解にするために何をしたのか

Slide 14

Slide 14 text

© 2024 Ateam Inc. 14 Svelteを選んだことを正解にするために何をしたのか チーム全体を巻き込んでSvelteを勉強していく 率先して、Svelteを学んでチームを引っ張っていく 学んだことをアウトプットしていく

Slide 15

Slide 15 text

© 2024 Ateam Inc. 15 Svelteを選んだことを正解にするために何をしたのか Qiita記事投稿 社内勉強会開催 Svelte ロゴステッカー配り

Slide 16

Slide 16 text

© 2024 Ateam Inc. 16 Svelteを選んだことを正解にするために何をしたのか エコシステムが未熟 (2020年当時) 🐣

Slide 17

Slide 17 text

© 2024 Ateam Inc. 17 ● エコシステムが未成熟 (2020年当時) ○ ルーティングライブラリは? ○ ESLint?Prettier? ○ テスティングライブラリは? ○ UIコンポーネントライブラリは? Svelteを選んだことを正解にするために何をしたのか SvelteKitはまだ存在せず、前⾝のSapperの 開発中⽌がほのめかされたりしました 😢 引用: https://www.youtube.com/watch?v=luM5uobewhA

Slide 18

Slide 18 text

© 2024 Ateam Inc. 18 Svelteを選んだことを正解にするために何をしたのか https://github.com/oekazuma/svelte-meta-tags ライブラリがないなら⾃分で作ろう! メタタグや構造化マークアップを管理できるライブラリを開発

Slide 19

Slide 19 text

© 2024 Ateam Inc. 19 Svelteを選んだことを正解にするために何をしたのか 2024年現在のエコシステムは?🤔

Slide 20

Slide 20 text

© 2024 Ateam Inc. 20 ● 2024年のエコシステム ○ メタフレームワーク ■ SvelteKit (Svelte公式) ■ Astro ○ テスティングライブラリ ■ Vitest ■ Playwright ■ StoryBook ○ コード整形/リンター ■ prettier-plugin-svelte (Svelte公式) ■ eslint-plugin-svelte (Svelte公式) ■ Biome Svelteを選んだことを正解にするために何をしたのか ○ UIライブラリ ■ Skelton ■ Shadcn-Svelte ○ フォームバリデーション ■ superforms ○ 認証ライブラリ ■ auth.js ○ 画像最適化ライブラリ ■ enhanced-img (Svelte公式) ■ @unpic/svelte etc.

Slide 21

Slide 21 text

© 2024 Ateam Inc. 21 Svelteを選んだことを正解にするために何をしたのか ⽇本全体でSvelteを盛り上げる 💪

Slide 22

Slide 22 text

© 2024 Ateam Inc. 22 Svelteを選んだことを正解にするために何をしたのか State of JSのランキングでSvelteが常に上位 https://2023.stateofjs.com/en-US/libraries/front-end-frameworks/

Slide 23

Slide 23 text

© 2024 Ateam Inc. 23 Svelteを選んだことを正解にするために何をしたのか Svelteの⽇本コミュニティを作ろう 👥

Slide 24

Slide 24 text

© 2024 Ateam Inc. 24 Svelteを選んだことを正解にするために何をしたのか 既にJimmyさんという⽅が「Svelte ⽇本」というコミュニティを作っていた

Slide 25

Slide 25 text

© 2024 Ateam Inc. 25 Svelteを選んだことを正解にするために何をしたのか tomoamさんという⽅がSvelteのドキュメント翻訳プロジェクトを⽴ち上げた https://zenn.dev/tomoam/articles/6c81ced3fd47b7

Slide 26

Slide 26 text

© 2024 Ateam Inc. 26 Svelteを選んだことを正解にするために何をしたのか Svelteのドキュメントサイトの⽇本語化完了 🎉 https://svelte.jp/

Slide 27

Slide 27 text

© 2024 Ateam Inc. 27 Svelteを選んだことを正解にするために何をしたのか https://kit.svelte.jp/

Slide 28

Slide 28 text

© 2024 Ateam Inc. 28 Svelteを選んだことを正解にするために何をしたのか https://learn.svelte.jp/

Slide 29

Slide 29 text

© 2024 Ateam Inc. 29 Svelteを選んだことを正解にするために何をしたのか Svelteのイベントを開催しよう🎊

Slide 30

Slide 30 text

© 2024 Ateam Inc. 30 Svelteを選んだことを正解にするために何をしたのか 「Svelte ⽇本」改め 「Svelte Japan」に名称変更

Slide 31

Slide 31 text

© 2024 Ateam Inc. 31 Svelteを選んだことを正解にするために何をしたのか 2、3ヶ⽉に1回の頻度でLTイベントを開催!

Slide 32

Slide 32 text

© 2024 Ateam Inc. 32 Svelteを選んだことを正解にするために何をしたのか 12/17に東京でオフライン開催もあります! https://svelte-jp.connpass.com/event/338870/

Slide 33

Slide 33 text

© 2024 Ateam Inc. 33 Svelteを選んだことを正解にするために何をしたのか ⽇本での採⽤実績を集めて紹介しよう🏆

Slide 34

Slide 34 text

© 2024 Ateam Inc. 34 Svelteを選んだことを正解にするために何をしたのか Svelte/SvelteKitを採⽤している⽇本企業まとめ https://github.com/svelte-jp/japanese-svelte-companies

Slide 35

Slide 35 text

© 2024 Ateam Inc. 35 Svelteを選んだことを正解にするために何をしたのか 採⽤事例を共有し、コミュニティにたくさんの⽅に⼊ってきていただくこ とでDiscordで気軽に困ったことなど質問しあえるような環境を作る ことができた!

Slide 36

Slide 36 text

© 2024 Ateam Inc. 36 Svelteを選んだことを正解にするために何をしたのか 結局、Svelteを選んでどうだったのか 🤔

Slide 37

Slide 37 text

© 2024 Ateam Inc. 37 Svelteを選んだことを正解にするために何をしたのか ● 現在使⽤しているPHP/Symfonyに慣れているのでテンプレート型がいい ○ と {#if} など 似ている構⽂も多く、違和感なく移⾏することができている ● エンジニアとデザイナーが分業しやすいものがいい ○ 純粋なHTML、CSSが書けるので最初にデザイナーにマークアップをしていただいて、終わった らエンジニアがJavaScript部分を書くという分業ができている ● デザイナーはJavaScriptをあまり書かないものがいい ○ コンポーネントをimportするときは少しJavaScriptを書きますが、マークアップするだけなら JavaScript書く必要ないのであまり書かなくていい ● 学習コストはできるだけ低いほうがいい ○ SvelteはHTMLファーストな設計を謳っていて、APIもSimpleかつEasyなので理解がしやすい ● TypeScriptは使って型安全に開発できたほうがいい ○ 年々SvelteはTypeScriptのサポートを強化してきていて、最新のSvelte5ではHTML部でも型がつ くようになっていて問題なくTypeScriptで開発できている

Slide 38

Slide 38 text

© 2024 Ateam Inc. 38 Svelteを選んだことを正解にするために何をしたのか ● 現在使⽤しているPHP/Symfonyに慣れているのでテンプレート型がいい ○ と {#if} など 似ている構⽂も多く、違和感なく移⾏することができている ● エンジニアとデザイナーが分業しやすいものがいい ○ 純粋なHTML、CSSが書けるので最初にデザイナーにマークアップをしていただいて、終わった らエンジニアがJavaScript部分を書くという分業ができている ● デザイナーはJavaScriptをあまり書かないものがいい ○ コンポーネントをimportするときは少しJavaScriptを書きますが、マークアップするだけなら JavaScript書く必要ないのであまり書かなくていい ● 学習コストはできるだけ低いほうがいい ○ SvelteはHTMLファーストな設計を謳っていて、APIもSimpleかつEasyなので理解がしやすい ● TypeScriptは使って型安全に開発できたほうがいい ○ 年々SvelteはTypeScriptのサポートを強化してきていて、最新のSvelte5ではHTML部でも型がつ くようになっていて問題なくTypeScriptで開発できている

Slide 39

Slide 39 text

© 2022 Ateam Inc. 39 ⾃分にとって技術選定で⼤事なこと🔍

Slide 40

Slide 40 text

© 2024 Ateam Inc. 40 ⾃分にとって技術選定で⼤事なこと 実際に開発するチームメンバーやプロダクトに合っているものを 選ぶこと 採⽤事例の少ない⾔語やライブラリを選んだとしてもOSS活動 をしたり、コミュニティ貢献をしたりして輪を広げていく覚悟 があること 技術選定した中⼼メンバーが熱意を持って最後までやりきる想いを 持っていること

Slide 41

Slide 41 text

No content