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
WebComponentとSSGで作る 個人開発Webフロントエンド / TechTalk #69
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
mazrean
March 05, 2026
Programming
120
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
WebComponentとSSGで作る 個人開発Webフロントエンド / TechTalk #69
mazrean
March 05, 2026
More Decks by mazrean
See All by mazrean
瑠璃の宝石に学ぶ技術の声の聴き方 / 【劇場版】アニメから得た学びを発表会2026 #エンジニアニメ
mazrean
0
420
Go Proposal Weekly Digestの作り方 / Go Connect #11
mazrean
0
180
Go 1.26でのsliceのメモリアロケーション最適化 / Go 1.26 リリースパーティ #go126party
mazrean
1
600
GC25 Recap: The Code You Reviewed is Not the Code You Built / #newt_gophercon_tour
mazrean
0
500
社会人になっても趣味開発を続けたい! / traPavilion
mazrean
1
460
KessokuのDIにおけるgoroutineスケジューリング / golang.tokyo #41
mazrean
0
560
作って理解するGOCACHEPROG / Go Conference 2025(Workshop)
mazrean
0
580
実用的なGOCACHEPROG実装をするために / golang.tokyo #40
mazrean
1
780
KessokuでDIでもgoroutineを活用する / Go Connect #6
mazrean
0
750
Other Decks in Programming
See All in Programming
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
210
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
260
AIで効率化できた業務・日常
ochtum
0
130
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
3
740
JJUG CCC 2026 Spring: JSpecify で実現する Kotlin フレンドリーな Java API 設計
ternbusty
1
160
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
400
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
0
230
過去最大のMCPアップデート! 2026-07-28 RC版の謎に迫る
licux
6
280
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
510
Go1.27で導入されるジェネリクスメソッドでできること
mackee
0
110
Javaの型とAI時代に型が大事な理由 / java types and type in AI era
kishida
2
130
JavaDoc 再入門
nagise
0
330
Featured
See All Featured
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.3k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
190
YesSQL, Process and Tooling at Scale
rocio
174
15k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
160
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.4k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
The Cost Of JavaScript in 2023
addyosmani
55
10k
How to make the Groovebox
asonas
2
2.2k
Amusing Abliteration
ianozsvald
1
200
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
Transcript
WebComponentとSSGで作る 個人開発Webフロントエンド @mazrean TechTalk #69
若松俊介 / mazrean ▪ IT本部IT基盤部第二G • Web フロント本職ではない ▪ Frontend
Up! / Go Day ▪ 強制デジタルデトックス中 • スマホが壊れた… @mazrean22 マズリーン 2
「とりあえずNext.js」 していませんか?
Next.jsは大抵Better以上の選択肢 Next.jsは何でもできて優秀 ▪ レンダリング 方法の選択肢の多さ ▪ 強力なエコシステム 4
レンダリング方法の選択肢の多さ ▪ 大抵の方法を選択可能 • CSR(Client-side Rendering) • SSR(Server-side Rendering) •
PPR(Partial Prerendering) ▪ そもそもNext.jsが潮流を作っている 5 Header Sidebar Footer 購入数選択 商品説明
強力なエコシステム ▪ Reactの豊富なライブラリ 群を使用可能 ▪ 大抵の周辺ツール がサポートしている • バンドラ •
Linter • 開発サーバー 6 …
個人開発でBestか? 個人開発でBestとは限らない ▪ 不要なレンダリング の複雑性 ▪ ライブラリ更新 が大変 7
不要なレンダリングの複雑性 ▪ SSRは不要な場合も多い • 初期表示に動的コンテンツがないと意味がない ▪ 手間を生む • サーバー運用 •
AIが最適解を選ばない • 脆弱性も生みやすい(React2Shell) 8 Header Sidebar Footer 購入数選択 商品説明 不要 AIが誤用
ライブラリ更新が大変 ▪ 使ったライブラリ は更新が必要 • 少なくとも脆弱性対応は必要 • 一度サボると更に大変に… ▪ Reactはライブラリ使用前提な部分もある
• 特に状態管理 9 … 使ったら更新必須
Web Components 使いませんか?
Web Componts Web標準で構成されたコンポーネント機構 ▪ 素のブラウザ上で動作 • template + Shadow DOM
▪ CSR相当の役回りが可能 11 Web Components
Lit Web Componentsの薄いラッパーライブラリ ▪ 記述の煩雑さを軽減 • デコレーター による記法提供 • 簡易的な状態管理機構の提供
▪ 外部依存がない • Litのみの更新でok 12
デプロイ時のレンダリング PPRは好きなテンプレートエンジンでok ▪ ejs ▪ tmpl • Goのテンプレートエンジン ▪ PHP
13 テンプレートエンジン
この構成のメリット ▪ 依存が極めて少ない • 基本的にLitとテンプレートエンジンのみ • 加えてLinter、バンドラが入る程度 ▪ 維持コスト が低い
• 静的配信だけなら無料で済む ▪ CSR・PPRのコード上での区別が容易 • AIの書いたコードの読解が楽 14
採用例
Go Proposal Weekly Digest ▪ Go言語本体への機能提案まとめ ▪ 週次更新 16 https://go-proposal-weekly-digest.mazrean.com/
まとめ ▪ Next.js、個人開発には複雑過ぎない? ▪ Web Componentsで最小限の構成が可能 • テンプレートエンジンを組み合わせる • Litで記述も容易にできる
▪ 実際にいくつか開発してみている • Go Proposal Weekly Digest • もっと動的なサービスも作れる 17