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 or React Native
Search
keinuma
November 17, 2020
Programming
140
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Flutter or React Native
keinuma
November 17, 2020
More Decks by keinuma
See All by keinuma
品質と新規開発のバランス / Quality and new development
keinuma
0
2.4k
Firestoreを実装してみた話
keinuma
0
64
GoによるGraphQLの実装
keinuma
0
3.4k
Atomic Design手法
keinuma
0
96
なぜAtomic Designが生まれたか
keinuma
0
93
Other Decks in Programming
See All in Programming
まずはプロンプトガイドを読もう、話はそれからだ
kiakiraki
1
260
DroidKaigi 2026 「個人開発という実験場: Android エンジニアが手にする4つの自由」
slashnephy
0
210
typoなんかねぇよ
raspython3
0
660
XP祭りでしか伝わらないフリップネタ #xpjug
murabayashi
0
110
FastAPI の並行処理モデルを完全に理解する
hoto17296
9
3.7k
KotlinConf Extended South Korea 2026 Keynote
l2hyunwoo
0
130
ソフトウェアラスタライザ
fadis
1
780
Discordを用いたラボオートメーション関連情報収集の自動化
noguhiro2002
0
500
iOS開発×AI駆動開発 〜最近使って便利だったスキルの話〜
nogu66
0
140
{ Android | Kotlin } Gradle Plugin in 2026
ryunen344
1
280
Laravelのアプリケーションをどこにデプロイするか #ツナギメオフライン.9
akase244
0
110
信頼性の目標を誰も求めてない
shubox
0
490
Featured
See All Featured
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
Paper Plane (Part 1)
katiecoart
PRO
1
10k
How to train your dragon (web standard)
notwaldorf
97
6.8k
Discover your Explorer Soul
emna__ayadi
2
1.3k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
430
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
330
Everyday Curiosity
cassininazir
0
310
WCS-LA-2024
lcolladotor
0
820
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
720
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
590
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
710
Transcript
Flutter と React Native 2020/11/17 沼⽥ 1 / 32
回のお カミナシではReact Native + Expo を利⽤してる Flutter はReact Native と
すると何が しいか知りた い 開発・ ⽤ 点でまとめてみた 2 / 32
論 Flutter はエコシステムが していてアプリ開発に必 な が っている ⽇ の事例が ないが
も えてきそう 3 / 32
React Native で えない はExpo と してお します 4 /
32
ポイント . 基 情 . 開発 . UI . 状
理 . テスト 5 / 32
基 情 6 / 32
Flutter React Native 業 Google Facebook Dart JavaScript GitHub スター
107k 91.3k 7 / 32
開発 8 / 32
React Native パッケージ 理は npm or yarn Lint + Formatter
は ESLint + Prettier ホットリロード 開発、リリースはExpo CLI が便利 9 / 32
Flutter パッケージ 理は pub(Yaml) 開発 構築、Lint は Flutter CLI アプリ向けビルドできる
ホットリロード 10 / 32
pubspec.yaml の例 name: flutter_sample environment: # Flutter SDK のバージョンを指 sdk:
">=2.7.0 <3.0.0" dependencies: # flutter: sdk: flutter dev_dependencies: flutter_test: sdk: flutter flutter: # アプリの基 Theme 、フォントの情 を できる uses-material-design: true 11 / 32
開発 Flutter CLI はExpo CLI 相当の を提供している 開発、リリース周りは とも はない
12 / 32
UI レンダリング 13 / 32
React Native React のコア を利⽤してレンダリング React Native のコンポーネントがネイティブ のUI と⼀
している React Native のView は Android の android.view であり iOS の UIView 14 / 32
Flutter Flutter は FW のAPI を担うflutter/flutter と描 周りの flutter/engine がある
flutter/engine は独⾃のレンダリングエンジ ンになっている 15 / 32
Flutter の構成 16 / 32
UI 17 / 32
React Native JSX を使ってHTML Like にかける Style を使ってCSS Like にレイアウト、⾒た
⽬を えられる 的な React Native ⾃体は のコンポーネント のみ UI ライブラリを利⽤することが い 18 / 32
Flutter React にインスパイアされてるので 的 は⼀ Widget を使って する ⽤ されているWidget
の種 が い Material Design はpackage なしで使え る 19 / 32
class MyAppBar extends StatelessWidget { MyAppBar({this.title}); final Widget title; @override
Widget build(BuildContext context) { return Container( height: 56.0, padding: const EdgeInsets.symmetric(horizontal: 8.0), decoration: BoxDecoration(color: Colors.blue[500]), child: Row( children: <Widget>[ IconButton( icon: Icon(Icons.menu), tooltip: 'Navigation menu', onPressed: null ), Expanded( child: title, ), IconButton( icon: Icon(Icons.search), tooltip: 'Search', onPressed: null, ) ], ) ); } } 20 / 32
UI React Native, Flutter 共に 的UI で す ることは⼀ UI
コンポーネントの 度はFlutter が上 21 / 32
状 理 22 / 32
React Native ローカルはhooks を利⽤ Global にはRedux, Mobx, Recoil, Rx が
択 に 上がる Store を⼀つ持って各コンポーネントが 照、更 する 23 / 32
Flutter ローカルはFlutter 向けのhooks を利⽤(パッ ケージ) Global State は の がある
Redux, RxDart block Riverpod + Freezed + state_notifier 24 / 32
状 理 React Native, Flutter 共に の⼿ がある Flutter はまだまだメインの
を い って いる mono さんは の Riverpod + Freezed + state_notifier をおすす めしてる 25 / 32
テスト 26 / 32
React Native Unit Test: Jest Integration Test: Jest snapshot test
or Storybook E2E Test: Cypress, Selenium 27 / 32
Flutter Unit Test: flutter_test Integration Test: WidgetTest in flutter_test E2E
Test: flutter_driver 28 / 32
テスト React Native はJest や のライブラリに している Flutter は 式パッケージ内で各レイヤのテ
ストが する 29 / 32
React Native との み けは エコシステムの 点だとFlutter に 配が上がりそ う
JavaScript をWeb と共有したい場 はReact Native が良さそう Flutter for web に期待 30 / 32
まとめ Flutter はアプリ開発に必 な 、 ⽤フローが っている Flutter の不採⽤理由に 不⾜が
ることは な い 31 / 32
式ドキュメント 著 なFlutter エンジニアのTwitter @_mono さん @razokulover さん mono さんのMedium
https://medium.com/flutter-jp/ 32 / 32