Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Flutter Web × SpearlyでCSSレスの最光なサイトを作る
Search
qst_exe
July 30, 2021
Programming
340
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Flutter Web × SpearlyでCSSレスの最光なサイトを作る
「鹿児島.mk #19 オンラインLT大会」でLTしたスライドです
https://kagoshima-mk.connpass.com/event/217627/
qst_exe
July 30, 2021
More Decks by qst_exe
See All by qst_exe
Roblox であそぼ
qst_exe
0
150
Apple Vision Pro であそぼ in さくらじまハウス
qst_exe
0
69
Google I/O 2024 Firebase のアップデート内容
qst_exe
0
250
Babylon.js で始めるヘッドレス CMS/A headless CMS on Babylon.js
qst_exe
0
320
WebXR で Web をもっと楽しもう
qst_exe
0
340
今年のメタバースについての取り組みとこれから
qst_exe
0
480
今年のメタバースについての取り組みとこれから
qst_exe
0
120
visionOSアプリ開発について
qst_exe
0
230
visionOSアプリ開発のすゝめ
qst_exe
0
240
Other Decks in Programming
See All in Programming
モバイル交通系ICへのチャージ実例から考える、クロスプラットフォーム開発におけるiOS実機テスト設計とCI運用
yusuga
1
580
R8 の設定見直しでアプリサイズ削減
andpad
0
180
Heart of Swift Concurrency
koher
0
1.2k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
460
残高管理から台帳サービスへの進化
artoy
0
160
自サークルのIdPからログアウトできるようになるまで
taiseiue
0
110
そのリトライ、死んだコネクションを使い回していませんか ── GoのHTTPクライアントとHTTP/2を実プロダクト障害から学び直す
myus4a
0
390
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
450
JRuby: Past, Present, and Future
headius
0
220
技術的負債の返済は、AI時代の複利で効く投資 — 経営としての意思決定とその遂行
curekoshimizu
1
2.2k
RAG の “R” を Swift で覗いてみる 〜「意味から探す」検索の仕組み〜
nao_randd
0
120
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
330
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Practical Orchestrator
shlominoach
192
12k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
390
Marketing to machines
jonoalderson
1
5.9k
WENDY [Excerpt]
tessaabrams
14
40k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
440
Navigating Weather and Climate Data
rabernat
0
550
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
530
Documentation Writing (for coders)
carmenintech
77
5.6k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Transcript
Flutter Web × Spearlyで CSSレスの最光なサイトを作る 鹿児島.mk #19 2021-07-30 qst_exe
❖ くすたん ❖ フリーランスエンジニア (モバイルアプリ, Webアプリ開発) ❖ 好きなソフトウェア開発本 『Code Complete』
『アジャイルソフトウェア開発の奥義』 ❖ 鹿児島.mk, VTuberなどのコミュニティ活動 自己紹介
力を入れてるコミュニティ活動 鹿児島.mk ヒラマサ ※ 写真はコロナ前(2019年)のものです
CSSは得意ですか?
僕は苦手です…
CSSを極力使わずにWebサイトを 構築したい
• コーポレートサイトのような構成で更新がほぼない自分用のサイト • たまに実績やお知らせの更新をしたい • お問い合わせフォームも存在する • 構成管理はなるべくコードで簡単にしたい 作りたいサイト
1. ノーコードツール(STUDIO, Wix) 2. WordPress 3. Flutter Web 使えそうなツール
ノーコードツール
構成管理ができない
• ローカル環境で構築して問題なければ本番環境に反映させたい • Git等でバージョン管理して問題があれば巻き戻せるようにしたい ノーコードツールで困ったこと
WordPress
保守コストがかかる
• 定期的にテーマやプラグイン等の更新をしないといけない • Shifterなどを使えば静的サイトとして扱えるが、導入コストがちょっと高い • プラグイン等一部Gitでバージョン管理しづらいものがある WordPressで困ったこと
Flutter Web × Firebase Hosting
• モバイルアプリ開発用のFlutterがWebにも対応したもの • 設定を変更するだけで、iOS・AndroidだけでなくWeb用にHTMLビルドす ることができる • FlutterのコードからHTMLをビルドするのでCSSレス • 半年前に検証したときには製品版には難しそう •
Flutterならできる Flutter Web
Flutterならできる
• SSL署名も自動でおこなってくれるホスティングサービス • 独自ドメインも設定できる • ホスティングサービスだけに限れば無料 • エミュレーターの導入でローカルでの検証も可能 Firebase Hosting
お知らせ等のコンテンツ管理 が大変
銀の弾丸ならぬ銀の槍
None
• FAST, STRONG, SLIMがコンセプトのHeadlessCMS • 静的サイトに簡単にコンテンツを埋め込むことができる • APIが公開されており様々な開発環境から利用することができる ◦ Flutterは公式サイトに載っていないが利用可能
日本一クールなHeadless CMS
1. JS埋め込みタグを利用する 2. APIを叩いて利用する Spearlyの利用方法は2つ 今回はお手軽な「JSタグの埋め込み」で利用
• headタグにスクリプトを設置して、独自タグ(<spearly>など)をbody内に 設置すればOK • Flutter Webでは独自タグを貼ることができない… • ローカルのHTMLに独自タグを設置し、それをiframeで読み込む方式で 実装 JS埋め込みタグの利用
ヘッジホッグ https://lp.hhg-exe.jp/ 完成イメージ
CSSを使わずに いい感じのサイトができた!
LTで話しきれない内容はZennや公式ドキュメントに載ってます Zenn https://zenn.dev/qst/articles/e97b005c536cccc69006 Spearly CMS公式ドキュメント https://docs.spearly.com/ 実装の詳細
1. GitHub Actionsでの自動デプロイ 2. iframeを使わずに描画できないかの検証 3. Flutter Web用にSpearlyパッケージの開発 4. お問い合わせフォームも何とか埋め込みたい
(今はformrunとLINE@の外部リンクに飛ばす) 今後の課題
お知らせ • プロデュース中のVTuberが近々デ ビュー! • 詳細は後日Twitterで!!
EOF