Armadilloフォーラム

Armadillo-IoT A6E用にFlutterアプリは作れませんか?

yhashi1977

2024年9月17日 12時06分

お世話になっております。

現状、客先からArmadillo-IoT A6Eを指定されて
Webアプリの開発を検討しておりますが、
ATDE9上のABOSDE EXPRORERの[CREATE NEW PROJECT]で
A6Eの選択肢に[Flutterの新しいプロジェクト]が出てきませんでした。

Armadillo-IoT A6Eではスペック不足で、Flutterアプリは動作できない理由から
Flutterの選択肢が無いということでしょうか?

また、Flutterアプリが動作するArmadilloの選択肢はどれになるか
教えていただけますでしょうか?

以上、よろしくお願いいたします。

コメント

at_shinya.koga

2024年9月17日 14時26分

アットマークテクノの古賀です。

yhashi1977さん:
>現状、客先からArmadillo-IoT A6Eを指定されて
>Webアプリの開発を検討しておりますが、

開発されるのが Web アプリということですから、Flutter による GUI 表示を Web ブラウザで行うのだと思います。
その認識で合っているでしょうか?

その認識で合っている場合、Web ブラウザを動かすのは、次のどれでしょうか?

A.) Armadillo-IoT A6E

B.) PC やタブレット、スマートフォンなど

(B) の場合、Armadillo で Web サーバーを動かし、Web サーバーに持たせるコンテンツとして Flutter で作ったアプリケーションを配置する、という構成になるかと思います。
一方、(A) の場合は、ブラウザの画面を表示するためのディスプレイを Armadillo に接続して動作させることになります。
つまり、(A) と (B) では、システムの機器構成が大きく違います。
ですので、どちらなのかを教えてくださいませ。

>ATDE9上のABOSDE EXPRORERの[CREATE NEW PROJECT]で
>A6Eの選択肢に[Flutterの新しいプロジェクト]が出てきませんでした。
>
>Armadillo-IoT A6Eではスペック不足で、Flutterアプリは動作できない理由から
>Flutterの選択肢が無いということでしょうか?

スペックも理由ではありますが、Armadillo-IoT A6E の場合は、画面表示のためのディスプレイを接続するインタフェースが無い、というのが最大の理由です。
つまり、上記の (A) の構成は、Armadillo-IoT A6E では基本的に不可能です。

>また、Flutterアプリが動作するArmadilloの選択肢はどれになるか
>教えていただけますでしょうか?

Flutter を使った GUI アプリケーションを動かす Armadillo の候補としては、Armadillo-X2 や Armadillo-IoT G4 があります。
Flutter に関する弊社ブログでも、Armadillo-IoT G4/X2 を対象にしています:

 Armadillo-IoT G4/X2:Flutterを使ったGUI開発について
 https://armadillo.atmark-techno.com/blog/15349/17331

以上、ひとまずのコメントです。

yhashi1977

2024年9月17日 14時40分

古賀様

ご返信ありがとうございます。
下記に回答いたします。

> 開発されるのが Web アプリということですから、Flutter による GUI 表示を Web ブラウザで行うのだと思います。
> その認識で合っているでしょうか?

はい、合っています。

> その認識で合っている場合、Web ブラウザを動かすのは、次のどれでしょうか?
>
> A.) Armadillo-IoT A6E
>
> B.) PC やタブレット、スマートフォンなど

Bとなります。

以上、よろしくお願いいたします。

at_shinya.koga

2024年9月17日 16時54分

アットマークテクノの古賀です。

yhashi1977さん:
>ご返信ありがとうございます。
>下記に回答いたします。

回答有難うございます。以下を拝見すると、Flutter Web が必要だと思います。
 https://www.jiitak.jp/blog/flutter-web
 
>>開発されるのが Web アプリということですから、Flutter による GUI 表示を Web ブラウザで行うのだと思います。
>>その認識で合っているでしょうか?
>
>はい、合っています。
>
>>その認識で合っている場合、Web ブラウザを動かすのは、次のどれでしょうか?
>>
>>A.) Armadillo-IoT A6E
>>
>>B.) PC やタブレット、スマートフォンなど
>
>Bとなります。

ABOSDE でサポートしているのは、Linux アプリケーション開発用の Flutter です。Flutter Web の場合は、ABOSDE ではなく、開発用の PC に Flutter Web の開発環境をセットアップしてくださいませ。
 https://docs.flutter.dev/platform-integration/web/building?_gl=1%2Aum80…..
 https://docs.flutter.dev/get-started/install/windows/web

Flutter Web の開発環境をセットアップして、Flutter の Web アプリケーションのビルドと動作確認を終えたら、Armadillo に Web サーバーをインストールして、Web サーバーのドキュメントルート配下に Web アプリケーションのファイル群を配置すればよいでしょう。
たとえば、次のページが参考になりそうです:

 [基礎知識]Flutter/WebアプリをWebサーバーにデプロイする手順
 https://zakku-spot.com/2024/01/04/bk-flutter-web-deploye-001/

 Flutterでウェブアプリケーションを作ってみる
 https://www.petadocs.com/flutter/article/27

さて、Flutter Web はブラウザで実行される Web アプリケーションの開発環境であり、Armadillo に特化したものではありません。
ですので、このフォーラムで回答できるのは、ここまでとなりそうです。ごめんなさい。

なお、Armadillo-IoT A6E に Web アプリケーションを配置して、PC やタブレット、スマートフォンなどから Armadillo-IoT A6E 上の Web サーバーに接続して Web アプリケーションで画面表示するという構成ですと、Web アプリケーションは、単に GUI を表示するだけではなく、Armadilloに接続したセンサーなどの周辺機器から収集したデータを表示するなど、何かしらのデータ連携動作が要件に入っているのではないかと思います。

その場合、Flutter で実装した Web アプリケーションをホストする Web サーバーがデータ連携の役割を担い、Web アプリケーションからデータ連携機能を呼び出す、という構成になるのだろうと思います。
たとえば、Web サーバーのプラグイン/CGI や Web サーバー自体の機能を使って Web サービスを実装して、Flutter で実装した Web アプリケーションから、その Web サービスを呼び出す、というような構成です。
そのような構成で、Web アプリケーションをホストする Web サーバーとは別に、Web サービス用の Web サーバーを同じ Armadillo 上で動かすとしたら、Web サービス用の Web サーバーを別マシンで動かす場合と同様、CORS (Cross-Origin Resource Sharing) の対応が必要になるでしょう:
 https://nagomi-informal.net/archives/572
 https://flutter.salon/flutterweb/cors/

Flutter Web で作った Web アプリケーションを Armadillo でホストするというのは、試したことがありませんので、これ以上のコメントやアドバイスはできませんが、もし参考になりましたら幸いです。

yhashi1977

2024年9月18日 15時08分

古賀様

ご返信ありがとうございます。

Flutter Webの情報ありがとうございます。
ただ、Armadillo-IoT A6Eへのデプロイは色々とハードルが高そうですね…

実際やるかわかりませんが、いただいた情報は参考にさせていただきます。