Flutter

Flutter

MOBILE

Dartをプログラミング言語として使用したGoogleが開発したクロスプラットフォームフレームワークです。超高速ホットリロード、ネイティブコンパイル(ARM/x64)、Skiaによる高性能レンダリングを備えたWidgetベースのアーキテクチャです。単一のコードベースからiOS、Android、Web、Desktopアプリケーションを構築します。

学べること

null safety、async/await、強い型付けを備えたモダンDart

コンポジションとState管理によるWidgetベースアーキテクチャ

超高速開発のための即座のホットリロード

最適なパフォーマンスのためのネイティブコンパイル(AOT)

ネイティブUIのためのMaterial DesignとCupertinoウィジェット

状態管理(Provider、Riverpod、Bloc、GetX)

ルーティングとナビゲーション(Navigator 2.0、go_router)

API、Firebase、アニメーションのための豊富なパッケージ(pub.dev)

包括的なテスト(unit tests、widget tests、integration tests)

パフォーマンス(60fps、Skiaレンダリング、ネイティブコード用platform channels)

マスターすべき重要トピック

この技術を理解し面接で成功するための最も重要な概念

1

Dart: 型、null safety、async/await、futures、streams、isolates

2

Flutterアーキテクチャ: Widget tree、Element tree、RenderObject tree

3

Widgets: StatelessWidget vs StatefulWidget、ライフサイクル(initState、build、dispose)

4

状態管理: setState()、InheritedWidget、Provider、Riverpod、Bloc

5

BuildContext: ナビゲーション、Theme.of、MediaQuery、inherited dataへのアクセス

6

レイアウトウィジェット: Container、Row、Column、Stack、Flexible、Expanded

7

Material Design: Scaffold、AppBar、BottomNavigationBar、Drawer、SnackBar

8

Cupertinoウィジェット: CupertinoPageScaffold、CupertinoNavigationBar、pickers

9

ナビゲーション: Navigator.push/pop、named routes、Navigator 2.0、go_router

10

フォームと入力: TextField、Form、FormField、バリデーション、TextEditingController

11

リスト: ListView、ListView.builder、GridView、CustomScrollView、Slivers

12

ネットワーキング: httpパッケージ、dio、REST APIs、JSONシリアライゼーション(json_serializable)

13

ローカルストレージ: shared_preferences、sqflite、hive、secure_storage

14

アニメーション: AnimatedContainer、AnimationController、Tween、Hero animations

15

Platform channels: ネイティブコード統合のためのMethodChannel(Kotlin/Swift)

16

パッケージ: pub.dev、firebase_core、flutter_bloc、freezed、go_router

17

テスト: testWidgets、mockito、integration_test、golden tests

18

パフォーマンス: const constructors、RepaintBoundary、ListView.builder、profiling

19

レスポンシブデザイン: MediaQuery、LayoutBuilder、OrientationBuilder、AspectRatio

20

ビルドとデプロイ: flutter build、App Store/Play Store、CI/CD、flavors