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
590
about_flutter.pdf
Flutterの特徴の紹介。
glassmonenkey
April 12, 2020
Tweet
Share
More Decks by glassmonenkey
See All by glassmonenkey
アジャイルテストの4象限で考える プロダクト開発の品質への向き合い方
nagano
1
2.2k
パッケージ管理ツール Ryeへの旅路
nagano
1
570
PHPerにとってのWebAssemblyの可能性
nagano
1
1.5k
PHPをブラウザで動かす技術
nagano
0
2.5k
PHPとWebAssembly
nagano
19
5.9k
アジャイルで始める データ分析基盤構築
nagano
1
3.5k
Goで始めるTDD
nagano
1
2.9k
Python製の姓名分割 ライブラリをGoに移植した話
nagano
0
1.6k
PHPとGraphQL
nagano
3
6.1k
Other Decks in Technology
See All in Technology
GCASアップデート(202506-202508)
techniczna
0
250
人と組織に偏重したEMへのアンチテーゼ──なぜ、EMに設計力が必要なのか/An antithesis to the overemphasis of people and organizations in EM
dskst
5
600
Goss: Faiss向けの新しい本番環境対応 Goバインディング #coefl_go_jp
bengo4com
0
1.4k
MySQL HeatWave:サービス概要のご紹介
oracle4engineer
PRO
4
1.7k
つくって納得、つかって実感! 大規模言語モデルことはじめ
recruitengineers
PRO
19
4.9k
浸透しなさいRFC 5322&7208
hinono
0
120
サービスロボット最前線:ugoが挑むPhysical AI活用
kmatsuiugo
0
190
攻撃と防御で実践するプロダクトセキュリティ演習~導入パート~
recruitengineers
PRO
1
140
そのコンポーネント、サーバー?クライアント?App Router開発のモヤモヤを可視化する補助輪
makotot
3
280
Gaze-LLE: Gaze Target Estimation via Large-Scale Learned Encoders
kzykmyzw
0
310
[OCI Skill Mapping] AWSユーザーのためのOCI(2025年8月20日開催)
oracle4engineer
PRO
2
140
AIとTDDによるNext.js「隙間ツール」開発の実践
makotot
5
660
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
Making the Leap to Tech Lead
cromwellryan
134
9.5k
GitHub's CSS Performance
jonrohan
1031
460k
BBQ
matthewcrist
89
9.8k
How STYLIGHT went responsive
nonsquared
100
5.7k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Fireside Chat
paigeccino
39
3.6k
It's Worth the Effort
3n
187
28k
[RailsConf 2023] Rails as a piece of cake
palkan
56
5.8k
KATA
mclloyd
32
14k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
Building an army of robots
kneath
306
46k
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