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
Flutter Web × SpearlyでCSSレスの最光なサイトを作る
Search
qst_exe
July 30, 2021
Programming
0
270
Flutter Web × SpearlyでCSSレスの最光なサイトを作る
「鹿児島.mk #19 オンラインLT大会」でLTしたスライドです
https://kagoshima-mk.connpass.com/event/217627/
qst_exe
July 30, 2021
Tweet
Share
More Decks by qst_exe
See All by qst_exe
Apple Vision Pro であそぼ in さくらじまハウス
qst_exe
0
18
Google I/O 2024 Firebase のアップデート内容
qst_exe
0
130
Babylon.js で始めるヘッドレス CMS/A headless CMS on Babylon.js
qst_exe
0
190
WebXR で Web をもっと楽しもう
qst_exe
0
230
今年のメタバースについての取り組みとこれから
qst_exe
0
220
今年のメタバースについての取り組みとこれから
qst_exe
0
58
visionOSアプリ開発について
qst_exe
0
130
visionOSアプリ開発のすゝめ
qst_exe
0
140
EDDのすゝめ 〜LT大会に参加しませんか?〜
qst_exe
0
49
Other Decks in Programming
See All in Programming
シェーダーで魅せるMapLibreの動的ラスタータイル
satoshi7190
1
480
ペアーズにおけるAmazon Bedrockを⽤いた障害対応⽀援 ⽣成AIツールの導⼊事例 @ 20241115配信AWSウェビナー登壇
fukubaka0825
6
1.8k
OnlineTestConf: Test Automation Friend or Foe
maaretp
0
100
Realtime API 入門
riofujimon
0
150
距離関数を極める! / SESSIONS 2024
gam0022
0
280
Kaigi on Rails 2024 〜運営の裏側〜
krpk1900
1
190
WebフロントエンドにおけるGraphQL(あるいはバックエンドのAPI)との向き合い方 / #241106_plk_frontend
izumin5210
4
1.4k
What’s New in Compose Multiplatform - A Live Tour (droidcon London 2024)
zsmb
1
470
最新TCAキャッチアップ
0si43
0
140
【Kaigi on Rails 2024】YOUTRUST スポンサーLT
krpk1900
1
330
Jakarta EE meets AI
ivargrimstad
0
120
3rd party scriptでもReactを使いたい! Preact + Reactのハイブリッド開発
righttouch
PRO
1
600
Featured
See All Featured
Building Applications with DynamoDB
mza
90
6.1k
Statistics for Hackers
jakevdp
796
220k
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
730
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
506
140k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
Making the Leap to Tech Lead
cromwellryan
133
8.9k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Become a Pro
speakerdeck
PRO
25
5k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.2k
Intergalactic Javascript Robots from Outer Space
tanoku
269
27k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
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