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
210
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
WebXR で Web をもっと楽しもう
qst_exe
0
130
今年のメタバースについての取り組みとこれから
qst_exe
0
130
今年のメタバースについての取り組みとこれから
qst_exe
0
42
visionOSアプリ開発について
qst_exe
0
77
visionOSアプリ開発のすゝめ
qst_exe
0
76
EDDのすゝめ 〜LT大会に参加しませんか?〜
qst_exe
0
28
オンラインイベントの失敗談と対応 〜「コロナ禍の鹿児島」のそれから〜
qst_exe
0
79
メタバースコミュニティ「BridgeSpace」の紹介
qst_exe
0
180
Webアプリエンジニアにこそ知ってほしい Flutterでのモバイルアプリ開発について
qst_exe
0
24
Other Decks in Programming
See All in Programming
What We Can Learn From OSS
inouehi
0
420
二郎系ラーメンのコールで学ぶ AST 解析
memory1994
PRO
7
1.7k
Code Reviews
bkuhlmann
4
890
Amazon SQSコンシューマー疎結合への旅 - 出張! #DevelopersIO IT技術ブログの中の人が語る勉強会 #3
quiver
0
260
MetricKitで予期せぬ終了を検知する話 / Detect unexpected termination with MetricKit
nekowen
1
180
Goのmultiple errorsについて (2024年4月版)
syumai
3
650
Build Apps for iOS, Android & Desktop in 100% Kotlin With Compose Multiplatform (mDevCamp 2024)
zsmb
0
310
코틀린으로 멀티플랫폼 만들기
pangmoo
0
150
try!Swift Tokyo 2024 参加報告 LT
akidon0000
1
220
デフォルトにして至高、RubyMineの大好きな所
ruzia
0
310
効率化に挑戦してみたらモバイル開発が少し快適になった話
ryunakayama
0
130
ONE WEDGE_company_guide
1wedge_one
0
470
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
60
14k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
78
42k
A Philosophy of Restraint
colly
197
16k
For a Future-Friendly Web
brad_frost
172
9k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
187
16k
The Cost Of JavaScript in 2023
addyosmani
16
3.9k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
51k
Build your cross-platform service in a week with App Engine
jlugia
225
17k
Building Adaptive Systems
keathley
31
1.9k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
2
3.4k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
14
1.6k
GitHub's CSS Performance
jonrohan
1025
450k
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