Hybrid Mobile App を作りたい
-Flutter-
- Native App
- Hybrid App
- PWA
- Single Code Base
- UIやパフォーマンスはフレームワーク依存
- Native APIの利用
- 言語
- Single Code Base
- Native APIの利用制限
- ブラウザ依存のパフォーマンス
- アプリのインストール不要
- 言語
- HTML/CSS/JavaScript
|
Native App |
Hybrid App |
PWA |
Perfomance |
◯ |
△ |
✕ |
UI/UX |
◯ |
△ |
△ |
Hardware Access |
◯ |
△ |
✕ |
Single Code Base |
✕ |
◯ |
◯ |
Time of market launch |
✕ |
△ |
◯ |
Native App
- Hybrid App
PWA
- Ionic
- React native
- Flutter
- Cordovaを利用したフレームワーク
- Angularベース
- パフォーマンスはJavaScriptに依存
- 2013年~
- bridgeを介したNative APIとの通信
- OS毎のUIの調整が必要
- facebookによるOSS(2015年)
- 言語:TypeScript
- 独自のEngineによるUIレンダリング
- 高速
- OS毎の調整不要
- iOSもマテリアルデザインに、、、
- 高速なホットリロード
- gooleによるOSS(2017年)
- 言語:Dart
- Ionic
- React native
- native機能が標準で含まれるため低速
- そこそこ重い
- Flutter
- React nativeと同程度(?)
- React native よりも重い場合が多い
- Ionic
- React native
- Flutter
- Ionic
- React native
- Flutter
|
Ionic |
React native |
Flutter |
Github Starts |
38,662 |
79,355 |
71,185 |
Build speed |
◯ |
✕ |
✕ |
Build size |
◯ |
△ |
✕ |
Performance |
✕ |
△ |
◯ |
Hot Reload |
✕ |
△ |
◯ |
UI render |
WebView |
Native |
DartVM |
- タスクキラー問題
- Androidはバックグラウンドアプリをメモリ確保のためキルする場合がある
- Ionic/Flutterのアプリは現在キルされる問題を孕んでいる
- https://github.com/flutter/flutter/issues/6827
- そもそもそんなに動作速度きになる?
- DartVMを利用した独自実装によりOSの差異はない
- Material/Cupertino(iOSもどき) Widgetを利用
- 独自実装により高速なレンダリングが可能
- サードパーティではなくGoogle製のものでほとんど揃う
- Widgetという概念の理解が必要(stateless/full Widget)
- オブジェクト指向
- 静的型推論
- top-level functions
- public/protected/private宣言の廃止
Made with Slides.com