komeの備忘録

東大院卒外資ITエンジニアの技術ブログ

Flutterとは?色々調べてみた

はじめに

最近、Flutter というワードを耳にした。

これが何かはわかっておらず、せっかくなので調査してみた。

以下が公式ウェブサイトとなる。和訳記事等は存在しないため、主にこれを読み進めてみる。

flutter.dev

主に和訳しかしていないので、忙しい人はまとめのみ読んでいただきたい。

Flutterとは

Flutter transforms the app development process. Build, test, and deploy beautiful mobile, web, desktop, and embedded apps from a single codebase.

Flutter は、アプリ開発プロセスの革命を起こす。
単一のコードベースで美しいモバイル/ウェブ/デスクトップ/組み込みアプリをビルド、テスト、そしてデプロイすることができる。

つまり、単一のコードセットを実装することで、さまざまなUIに適合したアプリケーションを簡単に作成できるようになるツールらしい。

Flutter is an open source framework by Google for building beautiful, natively compiled, multi-platform applications from a single codebase.

Flutter は Google によって作られたオープンソースフレームワークであり、単一のコード群から美しい、ネイティブにコンパイルされた、マルチプラットフォームのアプリケーションをビルドすることを目的にしている。

Flutter の特徴

Fast 速度

Flutter コードは、どのデバイス上でも JavaScript と変わらない速度で、ARM/Intelマシンでコンパイル可能である。

Productive 生産性

ホットリロード(*)により、ビルドと反復処理が素早くできる。
さらにコードの変更を瞬時に把握できる。

ホットリロード: コードを保存した瞬間に、編集したファイルの情報をアプリケーションが読み直してくれる。 便利機能だ。。

Flexible 柔軟性

どんん画面にもぴったり合うような、カスタマイズされたデザインを作成するために、全ピクセルを制御する。

マルチプラットフォーム

これまでにも何度も書いたが、単一のコードベースで複数のプラットフォーム(モバイル/ウェブ/デスクトップ/組み込みデバイス)などに適合するスクリーンの作成をする

Stable & Reliable 安定性と信頼性

Flutter は Google によってサポートされ、世界中の有名なブランドに信頼されている。
また世界中の開発者のコミュニティによってメンテナンスされている。

まとめ

つまり、世の中にさまざまなデバイスが溢れるようになり、それぞれの画面サイズやプラットフォームに合わせてチューニングすることが難しくなったことに合わせて、発展したフレームワークである。

Flutter でコードを一つ書くことで、例えばスマホ、PC、タブレットなどさまざまなデバイスで利用可能な、共通のアプリケーションを作成することができるようになる。

Flutter の歴史はとても浅く、2018年に正式版がリリースされている。 現在は下記の GitHub リポジトリにて管理されており、誰でも最新版を試せるし、Issue も報告可能である。

github.com

まだまだ年月の浅いフレームワークのため、実装されていない昨日も多く存在する。現時点でオープン中の Issue は 5000 を超えている(!)
なのでもし使ってみて、もっと機能をネイティブに追加して欲しい場合や、バグを見つけた場合は積極的に Issue を作成し、このプロジェクトに Contribute してみよう。

(C) komee.org