SlideShare a Scribd company logo
Flutter2 でweb appを作る
Jun 24 2021
asuka y
Agenda
1. Flutterとは


2. Web開発


3. まとめ
Flutterとは
Flutter
Flutterは、Googleによって開発
されたフリーかつオープンソース
のUIのSDKである。単一のコード
ベースから、Android、iOS、
Linux、macOS、Windows、
Google Fuchsia向けのクロスプ
ラットフォームアプリケーション
を開発するために利用される。
by Wikipedia
Flutterとは
by Wikipedia
Flutterは、Googleによって開発
されたフリーかつオープンソース
のUIのSDKである。単一のコード
ベースから、Android、iOS、
Linux、macOS、Windows、
Google Fuchsia向けのクロスプ
ラットフォームアプリケーション
を開発するために利用される。
Flutterとは
by Wikipedia
Flutterは、Googleによって開発
されたフリーかつオープンソース
のUIのSDKである。単一のコード
ベースから、Android、iOS、
Linux、macOS、Windows、
Google Fuchsia向けのクロスプ
ラットフォームアプリケーション
を開発するために利用される。
Z
Z
Z
Z
Z
Flutter
Flutterは、Googleによって開発
されたフリーかつオープンソース
のUIのSDKである。単一のコード
ベースから、Android、iOS、
Linux、macOS、Windows、
Google Fuchsia向けのクロスプ
ラットフォームアプリケーション
を開発するために利用される。
by Wikipedia
ハードウェア
OS
Flutter エンジン
Flutter App (Dart)
Dart
Dart言語はJavaScript言語にあ
る解決できない言語上の問題
点を解決しなおかつ、より優
れたパフォーマンスを発揮
し、大規模なプロジェクト用
途にも耐え得る特徴を備え、
セキュリティ面でもより優れ
た言語として、設計された。
by Wikipedia
2011年10月


Dart発表(Google)
2015年


Chromeへの統合を断
念(Google)
2017年


TypeScriptを社内標準
言語に(Google)
2018年2月


Dart2リリース
Dart
コンパイル言語でもあり,スクリプト言語でもある


1. JITコンパイル(PHPなど)


2. AOTコンパイル (Javaなど)


3. ネイティブコンパイル (Cなど)
Dart
Dart言語はJavaScript言語にあ
る解決できない言語上の問題
点を解決しなおかつ、より優
れたパフォーマンスを発揮
し、大規模なプロジェクト用
途にも耐え得る特徴を備え、
セキュリティ面でもより優れ
た言語として、設計された。
by Wikipedia
2011年10月


Dart発表(Google)
2015年


Chromeへの統合を断
念(Google)
2017年


TypeScriptを社内標準
言語に(Google)
2018年2月


Dart2リリース
Flutter
1.0


2018年12月4日


2.0


2021年3月3日
by Wikipedia
2011年10月


Dart発表(Google)
2015年


Chromeへの統合を断
念(Google)
2017年


TypeScriptを社内標準
言語に(Google)
2018年2月


Dart2リリース
2018年12月


Flutterリリース
2021年3月


Dart2.12リリース
2021年3月


Flutter2リリース
Dart2.11 → 2.12
2.12は実質Dart3


Sound Null Safetyの実装により,純粋な後方互換が
失われた
// Dart2.11


void main() {


String foo;


}
// Dart2.12


void main() {


String foo; // コンパイルエラー


}
// Dart2.12


void main() {


String? foo;


}
Dart2.11 → 2.12
2.12は実質Dart3


Sound Null Safetyの実装により,純粋な後方互換が
失われた
// Dart2.11


void main() {


String foo;


}
// Dart2.12


void main() {


String foo; // コンパイルエラー


}
// Dart2.12


void main() {


String? foo;


}
Flutter
1.0


2018年12月4日


2.0


2021年3月3日
by Wikipedia
2011年10月


Dart発表(Google)
2015年


Chromeへの統合を断
念(Google)
2017年


TypeScriptを社内標準
言語に(Google)
2018年2月


Dart2リリース
2018年12月


Flutterリリース
2021年3月


Dart2.12リリース
2021年3月


Flutter2リリース
Flutter2で変わったこと
• Linux, Windows, macOS, webのサポートが安定版に組み
込まれた
Flutter2で変わったこと
• Linux, Windows, macOS, webのサポートが安定版に組み
込まれた
Flutter2で変わったこと
• Linux, Windows, macOS, webのサポートが安定版に組み
込まれた
$
f
lutter run -d chrome --web-renderer canvaskit
Web開発
Web開発
• JSがDOMツリーを更新


• DOMツリーの内容をブ
ラウザが表示
ブラウザ
DOMツリー


…


<body>


<h1>Hello, World</h1>


…


…
JS
Flutter
• DOMツリーを更新しな
い


• 独自のレンダリングエ
ンジンで描画
for WEB
ブラウザ
レンダリングエンジン(canvaskit)
JS
メリット
• ブラウザ環境に左右されない画面を作成できる


• 画面の表示切り替えが速い
デメリット
• Webページとしては容量が大きくなりがち


• 文章情報としてではなく,画像情報として表示されるの
で,ブラウザの検索機能が使えない
Flutterの使い所
Webページを作るのではなく,高機能なWebアプリを作成
したい場合の選択肢になり得る
LicenseRegistry class
LicenseRegistry.addLicense(() async* {


f
inal license = await rootBundle.loadString('fonts/OFL.txt');


yield LicenseEntryWithLineBreaks(


['Noto Sans JP'],


license,


);


});
showAboutDialog(


context: context,


applicationName: name,


applicationVersion: version,


applicationLegalese: description,


);
for Web使ってみて
• Hot reloadが効かず,全てHot restartになる


• 基本UIは充実しているが,画像系のライブラリなどはWebに対応し
ていないものが多い(無ければ作ろう)


• Chromeのデバッグ環境は少々重たく感じる(気のせいかも)


• Canvaskit環境では日本語などはまずTofuになる(回避策はあるが絵
文字がまだ課題)
まとめ
まとめ
• Webページを作りたい場合の選択肢としては弱いかも?


• (Webページではなく)Webアプリを作りたい場合の選択肢
にはなり得る?


• アプリのクロスプラットフォーム対応(ついでにWebも対
応したい)場合の選択肢にはなり得る

More Related Content

PDF
FlutterでAndroid/iOS両対応のアプリ開発
PPTX
Flutter (フラッター)
PPTX
[ABC2016S]Android Wear アプリ開発入門
PDF
Android Studio 2.2の紹介@Google I/O 2016東京報告会
PDF
20170804 Builderscon Androidアプリ開発アンチパターン
PDF
Android Wearアプリ開発経験談
PDF
Android Wearアプリ プレビュー版→正式版への移植ガイド
PDF
「Camelog」Android開発秘話
FlutterでAndroid/iOS両対応のアプリ開発
Flutter (フラッター)
[ABC2016S]Android Wear アプリ開発入門
Android Studio 2.2の紹介@Google I/O 2016東京報告会
20170804 Builderscon Androidアプリ開発アンチパターン
Android Wearアプリ開発経験談
Android Wearアプリ プレビュー版→正式版への移植ガイド
「Camelog」Android開発秘話

What's hot (20)

PDF
minneにおけるテスト〜リリース〜リリース後にやっている事の紹介
PDF
HoloLens 2 開発入門
PDF
[デブサミ2015]Androidで広がる世界&エンジニアとしての歩み
PDF
[Lt]versionごとにurlを自動生成
PDF
ノンプログラミングで始めようHoloLensコンテンツ開発
PDF
Android Lintを覚えてベテラン開発者に追いつこう #ndsmeetup
PDF
Realm meetup LT大会(Androidアプリへの適用経験談)
PDF
Google I/O 2017 現地レポート VR、PWA風味をJAG運営委員が語る ~IoTやAIも隠し味でVRとAIの報告と I/Oに参加して思ったコ...
PDF
Android,Brillo,ChromeOS
PDF
AndroidアプリのUI/UX改善例
PDF
Androidアプリ開発どこまでいける?
PDF
Android dev summit 2019 recap
PDF
2015/02/21 GDG神戸 Go on Android ハンズオン&もくもく会
PPT
アプリ製作ツール HiCIEL 紹介
PDF
2017823 pythonを始めよう
PDF
Go goes Mobile: Quick Exploration on Go 1.5 and Gomobile
PDF
デベロッパー視点での3大スマホの違い
PDF
Can we live in a pure Swift world?
PDF
Android Wear 最新トピック
PDF
20161014 vrarmr勉強会発表資料 slideshare
minneにおけるテスト〜リリース〜リリース後にやっている事の紹介
HoloLens 2 開発入門
[デブサミ2015]Androidで広がる世界&エンジニアとしての歩み
[Lt]versionごとにurlを自動生成
ノンプログラミングで始めようHoloLensコンテンツ開発
Android Lintを覚えてベテラン開発者に追いつこう #ndsmeetup
Realm meetup LT大会(Androidアプリへの適用経験談)
Google I/O 2017 現地レポート VR、PWA風味をJAG運営委員が語る ~IoTやAIも隠し味でVRとAIの報告と I/Oに参加して思ったコ...
Android,Brillo,ChromeOS
AndroidアプリのUI/UX改善例
Androidアプリ開発どこまでいける?
Android dev summit 2019 recap
2015/02/21 GDG神戸 Go on Android ハンズオン&もくもく会
アプリ製作ツール HiCIEL 紹介
2017823 pythonを始めよう
Go goes Mobile: Quick Exploration on Go 1.5 and Gomobile
デベロッパー視点での3大スマホの違い
Can we live in a pure Swift world?
Android Wear 最新トピック
20161014 vrarmr勉強会発表資料 slideshare
Ad

Similar to Flutter2 (17)

PDF
DartPad+CodePenで、Flutterを体験してみよう
PDF
Flutterやってみよう
PDF
超高速でflutterアプリをビルドする
PPTX
Flutter、いいじゃん
PDF
Flutter_Forward_Extended_Kyoto-Keynote_Summary
PDF
Google I/O 2021 Flutter 全体報告
PPTX
ひと漕ぎで二度おいしい!? Flutterを使ったモバイルアプリ開発への期待と実態と付き合い方(NTTデータ テクノロジーカンファレンス 2020 発表資料)
PDF
マッチングアプリ『Omiai』の Flutter へのリプレイスの挑戦 (FlutterKaigi 2024)
PPTX
社内発表資料
PDF
PWANight Vol.31 Flutterで簡単PWA
PDF
FlutterとWeb 3 (YOUTRUST x ゆめみ Flutter LT会@渋谷&オンライン #5の登壇資料)
PDF
Flutterを体験してみませんか
KEY
Inside frogc in Dart
PPTX
Flutter Meetup #6 Sponser Talk
PDF
Dartをはじめよう
PDF
15分でわかった気になるdart
PPTX
2014年メディア工房勉強会 第3章「Webアプリ制作」
DartPad+CodePenで、Flutterを体験してみよう
Flutterやってみよう
超高速でflutterアプリをビルドする
Flutter、いいじゃん
Flutter_Forward_Extended_Kyoto-Keynote_Summary
Google I/O 2021 Flutter 全体報告
ひと漕ぎで二度おいしい!? Flutterを使ったモバイルアプリ開発への期待と実態と付き合い方(NTTデータ テクノロジーカンファレンス 2020 発表資料)
マッチングアプリ『Omiai』の Flutter へのリプレイスの挑戦 (FlutterKaigi 2024)
社内発表資料
PWANight Vol.31 Flutterで簡単PWA
FlutterとWeb 3 (YOUTRUST x ゆめみ Flutter LT会@渋谷&オンライン #5の登壇資料)
Flutterを体験してみませんか
Inside frogc in Dart
Flutter Meetup #6 Sponser Talk
Dartをはじめよう
15分でわかった気になるdart
2014年メディア工房勉強会 第3章「Webアプリ制作」
Ad

More from asuka y (6)

PDF
易しいVim
PDF
Async await完全に理解した
PDF
Go1.18 Genericsを試す
PDF
k8sクラスタ構築
PDF
自宅ネットワーク構築
PDF
CASL2実行環境紹介
易しいVim
Async await完全に理解した
Go1.18 Genericsを試す
k8sクラスタ構築
自宅ネットワーク構築
CASL2実行環境紹介

Flutter2