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
about_flutter.pdf
Search
glassmonenkey
April 12, 2020
Technology
2
540
about_flutter.pdf
Flutterの特徴の紹介。
glassmonenkey
April 12, 2020
Tweet
Share
More Decks by glassmonenkey
See All by glassmonenkey
アジャイルテストの4象限で考える プロダクト開発の品質への向き合い方
nagano
1
1.4k
パッケージ管理ツール Ryeへの旅路
nagano
1
490
PHPerにとってのWebAssemblyの可能性
nagano
1
1.3k
PHPをブラウザで動かす技術
nagano
0
2.3k
PHPとWebAssembly
nagano
19
5.2k
アジャイルで始める データ分析基盤構築
nagano
1
3.2k
Goで始めるTDD
nagano
1
2.8k
Python製の姓名分割 ライブラリをGoに移植した話
nagano
0
1.4k
PHPとGraphQL
nagano
3
5.5k
Other Decks in Technology
See All in Technology
kargoの魅力について伝える
magisystem0408
0
210
10個のフィルタをAXI4-Streamでつなげてみた
marsee101
0
170
サイボウズフロントエンドエキスパートチームについて / FrontendExpert Team
cybozuinsideout
PRO
5
38k
Opcodeを読んでいたら何故かphp-srcを読んでいた話
murashotaro
0
230
社外コミュニティで学び社内に活かす共に学ぶプロジェクトの実践/backlogworld2024
nishiuma
0
260
KubeCon NA 2024 Recap / Running WebAssembly (Wasm) Workloads Side-by-Side with Container Workloads
z63d
1
250
alecthomas/kong はいいぞ / kamakura.go#7
fujiwara3
1
300
GitHub Copilot のテクニック集/GitHub Copilot Techniques
rayuron
36
13k
10分で学ぶKubernetesコンテナセキュリティ/10min-k8s-container-sec
mochizuki875
3
330
権威ドキュメントで振り返る2024 #年忘れセキュリティ2024
hirotomotaguchi
2
740
NW-JAWS #14 re:Invent 2024(予選落ち含)で 発表された推しアップデートについて
nagisa53
0
260
Wantedly での Datadog 活用事例
bgpat
1
440
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.5k
Practical Orchestrator
shlominoach
186
10k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Testing 201, or: Great Expectations
jmmastey
40
7.1k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
111
49k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Transcript
Flutter入門 永野 峻輔
自己紹介 略歴 • サーバーサイド / フロントエンド 4年 • Swift 3ヶ月
• Flutter 3ヶ月 名前 : エターナルフィールド (永野) Twitter: @ glassmonekey
エアプ含みます。 補足などありましたら気軽にご意 見ください
なぜFlutterか? • 宣言的UIの時代 • 学習コスト低い • ホットリロードで幸せな開発者体験 • 次期モバイルOSに採用
Flutterの特徴 • クロスプラットフォーム向け • 宣言的UIフレームワーク • 言語はDart • 2種類のコンパイル
クロスプラットフォーム Android iOS Web β版なのでこれからに 期待
宣言的UIフレームワーク 少ない記述量で高度な表現 https://github.com/flutter/gallery
宣言的UIフレームワーク 独自レンダリングエンジン ネイティブはプラグイン * 基本機能は公式が用意 * 最終奥義 * 厚くなりそうならFlutterは微妙? *
ネイティブ機能をUI描画で使用せず * ネイティブから見ると1枚のビュー * React Nativeとの差別化ポイント
Dartについて • いわゆるAlter JS の1つ ◦ Type Scriptに押され気味だった • Google製
◦ Googleの新モバイルOSで採用 • 新バージョンではnull安全 • JSが書けるならほぼ書ける。 • 詳しくは右記のサイトで検証 https://dartpad.dev/
2種類のコンパイル JIT (Just In Time) AOT (Ahead of Time )
* 差分コンパイル * ホットリロードが速い理由 * 開発用 * ウェブアプリと同じ開発体験 * 事前コンパイル * 本番時に全てネイティブ化 * 本番用 * 高パフォーマンスの理由 厳密にはDartの特徴
エコシステム • ライブラリ関係 ◦ https://pub.dev/ ◦ スターとかgithubの更新状況から使用を検討。 ◦ プラグインの場合はネイティブの実装状況も念の為確認しておいたほうがよい •
静的解析 (Analyzer for dart) ◦ https://pub.dev/packages/analyzer ◦ 設定はFlutter公式のものをコピって始めるのが良さそう ◦ https://github.com/flutter/flutter/blob/master/analysis_options.yaml
個人的所感 • ホットリロードが幸せ ◦ UIの調整がすごく楽。 • Android・iOSのデザインはどちらかに寄せことが吉 ◦ Google系コミュニティなのでMaterialデザインが今は良さそう。 •
純粋なDart系ライブラリの充実が待たれる ◦ ユニットテストでネイティブ依存がある機能のモック化が必須 ◦ Flutter for Webの弊害になりそう。
宣言的UIの時代です。 ぜひFlutterに入門しましょう!! 一緒にOSS貢献始めてみませんか?
参考 基礎から学ぶFlutter https://www.amazon.co.jp/dp/B082XQ81FH/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1 Why Flutter Users Dart https://hackernoon.com/why-flutter-uses-dart-dd635a054ebf