Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Svelte をプロダクトに導入した話
Search
Kazuma Oe
February 04, 2022
Programming
2
830
Svelte をプロダクトに導入した話
Svelte Meetupで発表した資料です!
mkin
X:
mkin
oekazuma
X:
oekazuma
GitHub:
oekazuma
Qiita:
oekazuma
Kazuma Oe
February 04, 2022
Tweet
Share
More Decks by Kazuma Oe
See All by Kazuma Oe
採用事例の少ないSvelteを選んだ理由と それを正解にするためにやっていること
oekazuma
2
1.3k
Svelte/SvelteKitを採用した理由とその魅力
oekazuma
3
2.6k
Histoireを使ってSvelteコンポーネントを管理しよう
oekazuma
4
830
Other Decks in Programming
See All in Programming
為你自己學 Python
eddie
0
540
【PHP】破壊的バージョンアップと戦った話〜決断と説得
satoshi256kbyte
0
100
DevFest - Serverless 101 with Google Cloud Functions
tunmise
0
140
WebDriver BiDiとは何なのか
yotahada3
1
100
JavaScriptツール群「UnJS」を5分で一気に駆け巡る!
k1tikurisu
8
1.3k
functionalなアプローチで動的要素を排除する
ryopeko
1
920
Immutable ActiveRecord
megane42
0
120
ペアーズでの、Langfuseを中心とした評価ドリブンなリリースサイクルのご紹介
fukubaka0825
1
200
Vue.jsでiOSアプリを作る方法
hal_spidernight
0
120
サーバーゆる勉強会 DBMS の仕組み編
kj455
1
360
チームの立て直し施策をGoogleの 『効果的なチーム』と見比べてみた
maroon8021
0
270
Terraform で作る Amazon ECS の CI/CD パイプライン
hiyanger
0
110
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Scaling GitHub
holman
459
140k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
25k
How to Think Like a Performance Engineer
csswizardry
22
1.3k
Speed Design
sergeychernyshev
25
760
Become a Pro
speakerdeck
PRO
26
5.1k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
52k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.3k
KATA
mclloyd
29
14k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
990
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.2k
Transcript
0 株式会社エイチームライフデザイン Svelte をプロダクトに導入した話 2022. 02. 03 加藤 / 大江
1 © 2022 Ateam Inc. 1 自己紹介
• 名前:加藤 真 (かとう まこと) • 所属:エイチームライフデザイン • 業務内容: ◦ フロントエンド開発 ◦ バックエンド開発 @mkin
2 © 2022 Ateam Inc. Svelte を導入した経緯
3 © 2022 Ateam Inc. 3 •
結婚式場情報サイト「ハナユメ」の結婚指輪情報サービス ◦ https://hana-yume.net/ring/ 導入したサイト
4 © 2022 Ateam Inc. 4 •
どのフロントエンド技術も一長一短 技術選定
5 © 2022 Ateam Inc. 5 技術選定
• 学習コストが低い Svelte に決定 ◦ 自分たちの組織に一番合っているものは何か?
6 © 2022 Ateam Inc. 6 準備期間
• Svelte への心理的障壁をなくす ◦ Qiita執筆、勉強会、ステッカー配り、社内用アプリの開発
7 © 2022 Ateam Inc. 7 準備期間
• Svelte への心理的障壁をなくす ◦ Qiita執筆、勉強会、ステッカー配り、社内用アプリの開発
8 © 2022 Ateam Inc. 8 Svelte
導入の懸念点(2020年当時) • エコシステムが未成熟 ◦ デファクトスタンダードがない ◦ 保守されていない
9 © 2022 Ateam Inc. 9 •
調査コストの増大 ◦ ネット情報が少ない ◦ 日本語ドキュメントがない Svelte 導入の懸念点(2020年当時) • エコシステムが未成熟 ◦ デファクトスタンダードがない ◦ 保守されていない
10 © 2022 Ateam Inc. 10 •
爆速で翻訳作業が進んだ ◦ 2021年2月3日〜2月10日完成 ◦ https://svelte.jp/ 日本語ドキュメント
11 © 2022 Ateam Inc. 11 •
調査コストの増大 ◦ ネット情報が少ない ◦ 日本語ドキュメントがない(今はある https://svelte.jp/ ) Svelte 導入の懸念点(2020年当時) • エコシステムが未成熟 ◦ デファクトスタンダードがない ◦ 保守されていない
12 © 2022 Ateam Inc. 12 Svelte
導入の懸念点(2020年当時) • 未検証技術への不安 ◦ SSR、TypeScript、Testing tool、SEO、IE11対応...!! ◦ 自分たちのベストプラクティスが作れていない • エコシステムが未成熟 ◦ デファクトスタンダードがない ◦ 保守されていない • 調査コストの増大 ◦ ネット情報が少ない ◦ 日本語ドキュメントがない(今はある https://svelte.jp/ )
13 © 2022 Ateam Inc. 13 リードエンジニアからのアドバイス
• エコシステムは自分たちで作れ ◦ 時間が経てば成熟していく ◦ 難しいことはしていない
14 © 2022 Ateam Inc. 14 •
未検証のリスクを過大評価するな ◦ 恐れすぎない ◦ 隣の芝生は青く見える(React、Vue でも同じ) リードエンジニアからのアドバイス • エコシステムは自分たちで作れ ◦ 時間が経てば成熟していく ◦ 難しいことはしていない
15 © 2022 Ateam Inc. 15 •
未検証のリスクを過大評価するな ◦ 恐れすぎない ◦ 隣の芝生は青く見える(React、Vue でも同じ) リードエンジニアからのアドバイス • エコシステムは自分たちで作れ ◦ 時間が経てば成熟していく ◦ 難しいことはしていない • 早く試して早く失敗しろ ◦ 失敗を許容する文化 ◦ クリティカルな問題なら方向転換
16 © 2022 Ateam Inc. 16 導入サービスの決定
• 小さく始められるサービスを選択 ◦ サービスの規模、仕様の難易度、導入効果の向上の見込み 前撮りフォ ト 結婚式 準備ガイド ハナユメ フェスタ 結婚指輪 婚約指輪
17 © 2022 Ateam Inc. 17 自己紹介
• 名前:大江 和摩 (おおえ かずま) • 所属:エイチームライフデザイン • 業務内容: ◦ フロントエンド開発 ◦ バックエンド開発 @oekazuma
18 © 2022 Ateam Inc. Svelte を実際に導入してから
19 © 2022 Ateam Inc. 19 最初に作ったサイトの技術スタック
• Svelte • TypeScript • Rollup • Routify - ルーティングライブラリ • Tailwind CSS - CSSフレームワーク • Jest - テスティングツール • npm - パッケージマネージャー • rendertron - SEOやOGP対策
20 © 2022 Ateam Inc. 20 Svelte
で作ってみて辛いところ • ライブラリが充実していない😂 ◦ ライブラリを探すときは... ▪ 検索エンジンで検索する ▪ Svelte Societyで調べる ▪ Made with Svelteで調べる
21 © 2022 Ateam Inc. 21 Svelte
で作ってみて辛いところ • ないならライブラリを自作しよう! ◦ svelte-meta-tags ◦ SEO のメタタグや構造化マークアップを管理するライブラリ ◦ SvelteKit + TypeScript で構築 ◦ semantic-release を使って自動リリース
22 © 2022 Ateam Inc. 22 Svelte
で作ってみて嬉しいところ • 開発体験がとてもいい! ◦ 記述量が少なく、直感的に書ける ◦ HTML ライクで書けるから、初心者でも抵抗感なく書ける ◦ デザイナーとのコラボレーションがしやすい
23 © 2022 Ateam Inc. SvelteKit への移行
24 © 2022 Ateam Inc. 24 SvelteKit
への移行 • Svelte • TypeScript • SvelteKit • Windi CSS - CSSフレームワーク • Vitest - テスティングツール • pnpm - パッケージマネージャー
25 © 2022 Ateam Inc. 25 •
SvelteKit 移行前(スマートフォン) SvelteKit への移行 • SvelteKit 移行後(スマートフォン)
26 © 2022 Ateam Inc. 最後に
27 「みんなで幸せになれる会社にすること」 「今から100年続く会社にすること」