Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

採用事例の少ないSvelteを選んだ理由と それを正解にするためにやっていること

Kazuma Oe
December 11, 2024

採用事例の少ないSvelteを選んだ理由と それを正解にするためにやっていること

2024/12/12に開催された「フロントエンドの技術選定~2024年を振り返る~Lunch LT」で発表した資料です。

https://findy.connpass.com/event/336320/

発表者:oekazuma
X: oekazuma
GitHub: oekazuma
Qiita: oekazuma

Kazuma Oe

December 11, 2024
Tweet

More Decks by Kazuma Oe

Other Decks in Programming

Transcript

  1. © 2024 Ateam Inc. 11 Svelteを選んだ理由 例えば... • 現在使⽤しているPHP/Symfonyに慣れているのでテンプレート型がいい •

    エンジニアとデザイナーが分業しやすいものがいい • デザイナーはJavaScriptをあまり書かないものがいい • 学習コストはできるだけ低いほうがいい • TypeScriptは使って型安全に開発できたほうがいい
  2. © 2024 Ateam Inc. 17 • エコシステムが未成熟 (2020年当時) ◦ ルーティングライブラリは?

    ◦ ESLint?Prettier? ◦ テスティングライブラリは? ◦ UIコンポーネントライブラリは? Svelteを選んだことを正解にするために何をしたのか SvelteKitはまだ存在せず、前⾝のSapperの 開発中⽌がほのめかされたりしました 😢 引用: https://www.youtube.com/watch?v=luM5uobewhA
  3. © 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.
  4. © 2024 Ateam Inc. 37 Svelteを選んだことを正解にするために何をしたのか • 現在使⽤しているPHP/Symfonyに慣れているのでテンプレート型がいい ◦ <?php

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

    if () ?> と {#if} など 似ている構⽂も多く、違和感なく移⾏することができている • エンジニアとデザイナーが分業しやすいものがいい ◦ 純粋なHTML、CSSが書けるので最初にデザイナーにマークアップをしていただいて、終わった らエンジニアがJavaScript部分を書くという分業ができている • デザイナーはJavaScriptをあまり書かないものがいい ◦ コンポーネントをimportするときは少しJavaScriptを書きますが、マークアップするだけなら JavaScript書く必要ないのであまり書かなくていい • 学習コストはできるだけ低いほうがいい ◦ SvelteはHTMLファーストな設計を謳っていて、APIもSimpleかつEasyなので理解がしやすい • TypeScriptは使って型安全に開発できたほうがいい ◦ 年々SvelteはTypeScriptのサポートを強化してきていて、最新のSvelte5ではHTML部でも型がつ くようになっていて問題なくTypeScriptで開発できている