本投稿は テクノロジー検証 Advent Calendar 2022 の 4日目として投稿しています。
はじめに :
テクニカルサポート業務に就いている nk-nara と申します。
1日目も見ていただいていれば、お気づきかもしれませんが、もう一人の中野となります。
本記事から数回は、Flutter って何だろねというところから始め、
環境作る時点から悩みつつ、簡単なアプリ実装していく記事を書いていければと考えております。
前提
私自身は、MS 系の Power Platform 一部 (※2) や
Javascript を独学で遊んだ程度の知識レベルとなります。
アプリ開発の経験値がない状態からスタートしています。
未学習や同様のスキルセットの者による
感想や意見などからしか得られない栄養素が投稿できれば良いな、と考える次第です。
Flutter について :
Flutter は、オープンソースのアプリ開発の環境 (※1) を指します。
開発およびサポートは Google が行なっており、
使用する言語はこちらも Google が発表した Dart を利用します。
Dart の書式は誕生経緯から Javascript に近いものとなっています。
◾️初出時期と最新バージョンについて
参考資料より、下記となります (投稿時点, OSX の場合)
参考: https://docs.flutter.dev/development/tools/sdk/releases?tab=macos#macos
* Flutter (2018 〜) : 3.3.9
* Dart (2011 〜) : 2.18.5
Flutter は 4才、Dart は 11才ということですね。
※ Flutter と比較して有名な開発環境では、React は2013年の 9才です。
パッと思い浮かんだ言語とも比較してみました。
見比べると、フレッシュさがよくわかります ( Wikipedia より雑に参照)
Javascript 先輩 : 1995年の 27才
HTML さん : 1997年の 29才
Python さん : 1991年の 31才
C 師匠 : 1972年の 50才
FORTRUN 先生 : 1954年の 68才
Python が 前二人よりも年上なことや、
C と FORTRUN の貫禄に圧倒されますねぇ...
◾️ Flutter > 開発可能な環境について
iOS と Android のアプリ開発時に、同コードを利用可能です。
iOS はふわっと Xcode や OSX の環境がいるような話を聞いていましたが、
そもそも両 OS の処理都合でコードを書き換える必要があるのが一般的です。
この点、マルチ環境を想定するなら強いですね。
その上、Flutter Version 3 はそれまでのバージョン 2.x からの拡張として、
今年3月の Google I/O conference で発表されています。
Version 3 による差異について網羅して把握しておりませんが、
大きな点として、6つの異なるプラットフォームで実行することができるようになりました。
具体的には iOS、Android に加えて MacOS、Linux、Web、Windows の
アプリケーションや UI 開発できるようになりました。
...なんというか、UI にさえ気をつければ提供先の充実具合がすごいですね。
◾️ 補足
Flutter 自体は Qiita でも人気のある素材です (4桁検索結果が出てますね)
趣旨に沿わない場合は是非是非、有識者の方の Advent Calender 等を見に行きましょう!
末に投稿時に参考にしたリンク群を列記しております。よろしければ、ご参照ください。
環境について
ざっくりと今後に予定している環境について触れて行きます。
-
採用バージョン
前述でも触れましたが ver 3.x がリリースしていますので
安定版の最新を採用しようと思います。 -
環境や制約紹介
開発環境としては、以下を採用します。
Macbook Pro Early 2011 ( OSX 10.13.6 )
iPhone 6s Plus ( iOS 15.7.1 )
もっと新しいモデルも出ていますが、
私的な検証したアウトプットが主目的ですのでご容赦を。
注釈
- ※1 :
厳密には違いますが、一家庭で戯れる程度の
フレームワークへの理解として、ここでは記載しています。 - ※2 :
中でも Power Apps, Power Automate です。
残り2つとはまだ戯れていません.
参考文献
基本的な情報
- Flutter とは - https://aws.amazon.com/jp/what-is/flutter/
- Flutterで始めるモバイルアプリ開発 第1回 - https://codezine.jp/article/detail/12718
- Flutterとは?始める前に押さえておきたい必須知識を解説 - https://www.sejuku.net/blog/124242
- Flutter/Dartとは? 将来性や勉強法、開発事例を分かりやすく解説 - https://type.jp/et/feature/18222/
Release について
- Flutter 3が、サポートされるすべてのプラットフォームに対して安定版となり、Material Design 3を拡張 - https://www.infoq.com/jp/news/2022/06/google-flutter-3-dart/
有識者の Advent Calender
- Flutter Advent Calendar 2022 - https://qiita.com/advent-calendar/2022/flutter
- Flutter大学 Advent Calendar 2022 - https://qiita.com/advent-calendar/2022/flutteruniv
最新情報の回収*
- 2022 年のFlutterニュースまとめ - https://blog.flutteruniv.com/flutter-news-2022-summarize/
終わりに
次回は環境セットアップしてみようと思います。
テキストオンリーで情報が少ないですが、最後まで見ていただきありがとうございました。