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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
63
GoによるGraphQLの実装
keinuma
0
3.4k
Atomic Design手法
keinuma
0
96
なぜAtomic Designが生まれたか
keinuma
0
93
Other Decks in Programming
See All in Programming
AI時代のPHPer生存戦略 ~「言語、もうなんでもよくない?」に本気で向き合う~
vivion
0
750
Go 1.27 における memory allocation の高速化
andpad
0
190
全PRの83%がAIレビューだけでマージできるようになった開発組織はその後どうなったか
athug
1
1.7k
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
4.6k
S3 を使うアプリケーションをローカル完結で動かすことに全力を注いでみた / Running S3 Apps Offline
contour_gara
0
510
OpenSpecのproposalにbrainstormingを持たせてみた
tigertora7571
1
240
使いながら育てる Claude Code — 開発フローの1コマンド化 × 繰り返し指摘の自動仕組み化
shiki_kakaku
0
1.8k
夏だ!祭りだ!祭りとはドメインモデリングでは?
ryugen04
0
290
数百円から始めるRuby電子工作
tarosay
0
160
AIが無かった頃の素敵な出会いの話
codmoninc
1
440
Jindong: Introducing Declarative Haptics in Compose Multiplatform
l2hyunwoo
0
120
GDG Korea Android: 2026 I/O Extended ~ What's new in Android development tools
pluu
0
220
Featured
See All Featured
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
570
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Fireside Chat
paigeccino
42
4k
How to build a perfect <img>
jonoalderson
1
5.9k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Typedesign – Prime Four
hannesfritz
42
3.1k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
240
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
770
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
The Mindset for Success: Future Career Progression
greggifford
PRO
0
450
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
330
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