Flutter を勉強スタート。まずはどんなものなのかを知る。

今まではウェブアプリが結局のところ一番開発しやすいのかなあと思って Angular や nodeJS を使ってウェブアプリ開発をしてきましたが、Flutter に興味が出てきたので、勉強を始めました。

Flutter とは

Flutter とは google が開発したフレームワーク。Flutter の最大の特徴は 1つのコードで クロスプラットフォームのアプリを作成できることです。

Flutter でコーディングすると、iOS や android 用のネイティブなモバイルアプリをコンパイルすることができます。

また、最近発表された Flutter For Web により、モバイルアプリだけでなく、ウェブアプリにもコンパイルできるようになります。(Flutter For Web はまだテクニカルプレビューなので、正式リリースされるのはもう少し先)

Flutter For Web

Flutterを利用したコードなら、 どんなウェブサーバーにもデプロイでき、ブラウザで表示することができます。 embedded にも対応。

Flutter For Web

Flutter で利用できる言語は Dart です。
Dart は google が開発した言語で、 Javascript では対応しきれない根本的な問題を解決するために開発されました。
(結局、 typescript の登場により Dart はマイナーな言語となってしまったのですが、それは別の話)

React Nativeでも似たようなことができますが、React Native と Flutter の比較は次回まとめます。

Flutter のメリット

クロスプラットフォーム

Flutterの最大の特徴の一つは、クロスプラットフォーム対応という点。
一つのコードを書くだけでモバイルアプリ(将来的には + ウェブアプリ)にコンパイルできるので、開発やメンテナンスがとても楽になります。

Flutter は マテリアルデザインだけではなく、iOS風の Cupertino というデザイン ウィジェットを用意しているので、それらのウィジェットを利用してネイティブなパフォーマンスを実現できます。

開発の高速化

Flutter はホットリロードに対応。つまり、コードを変えればコンパイルすることなく即座に変更をプレビューすることができます。変更が一目でわかるので開発を高速化できます。

Flutter のデメリット

開発言語が Dart

Dart はこれまでの歴史の中で、マイナーな位置にいる言語だと思います。
Javascript の置き換えとして生まれた Dart ですが、結局 Typescript がメジャーになってしまったことで、 Dart が市民権をあまり得られていない状況。

それを一から勉強しないといけないというのはリスクにはなりそう。

資料がほぼ英語

新しい技術なので、日本語での情報が少ないです。
英語が苦手な人には始めづらいかもしれません。

オープンソースのライブラリが少ない

すでに nodeJS や angular, React などはたくさんのライブラリが存在しており、それらを利用することでコーディングの拡張が行えますが、Flutter はまだそれほど大きなコミュニティになっていないため、ライブラリが少ないです。

まとめ

ウェブアプリよりも、やはりモバイルアプリの方が強い現状や、今後登場する google の新しい OS Fuchsia にも Flutter は対応することを考えると、今のうちから Flutter を始めるのはいいのかなと思います。

Flutter を mac の iOS シミュレーターで動かしてみる

こんな記事も読まれています

投稿はありません。

もう記事がありません

エラーが発生しました

もっと表示する

ウェブ開発へのお問い合わせはこちらから

ウェブサイトやアプリ開発をしております。
どんなものを作りたいのかを明記した上でお問い合わせをお願いします。
また、簡単な質問や要望も受け付けています。まずはお気軽にお問い合わせください。

  • 入力必須です。
  • 入力必須です。
  • メールアドレスの形式で入力してください。
  • 入力必須です。
OR

お問い合わせを送信しました。
24時間以内に返信させていただきますので、しばらくお待ちください。
お問い合わせありがとうございました。

送信に失敗しました。
何度も失敗するようでしたら、こちらからお問い合わせください。