[Armadillo:05810] Re: Armadillo-440 GUI開発ツール

天晴 email@hidden
2010年 9月 12日 (日) 23:49:22 JST


 天城です。

丁度一年ほど前ですが、Armadillo-500FXのGUIアプリを開発するにあたって、
同じような問題に行き当たりました。

ちょっと特殊なケースかとは思いますが参考までに。

開発に充てる人員(C++のスキルのある要員が少ない)、開発工数等を熟慮
した結果WindowsのVBの開発に近いスタイルで行こうと、Lazarusに決定し、
当時ネットで捜しても、国内でLinux/ARMのクロス開発実績が見当たらない
と言う状況の中 Lazarusでの開発環境を整備し、今年の4月からGUIアプリ
開発を始めたものが、ほぼ最終調整の段階になっています。
(WindowsCE/ARM,およびNintendo GBA,NDSの国内ユーザは居るようです)


当方の開発環境ですが、

統合開発環境:Lazarus
言語:FreePascal
OS: Fedora12
(ATDE2では、Lazarusは正常に動作しません)
GUIツール:Gtk2(Armadillo-500FX&ATDE2では一部不具合があります)

Lazarusは、Delphi,VBと同じような統合開発環境で、以前Linux用統合開発環境
として
存在したKylixが復活したようなものです(Lazarusの名前の由来です)
Delphiユーザでなくても、VB.NETユーザであれば直ぐに開発に慣れると思います。

Lazarusの場合、GUIアプリケーションの開発と、そのGUIアプリを動かすためのGUI
インターフェースは別で、Linux系ではコンパイル時にアプリの動作環境当に応じて
、Gtk、Gtk2、QtそれにfpGUI(FreePascal専用)を選択します。
(Windowsの場合も、Win32/64,WinCE以外に、Qtとか選べたような気がしますが…)

Qtについてはライセンスの問題のため、またfpGUIはまだ開発段階?みたいなので、
Gtk系に決定しました。Armadillo-500FXの場合、Gtkのほうが良いのでしょうが、
Lazarusもそろそろ、Gtkについてのサポートを打ち切るか議論されてたので
Gtk2にしました。
(これらのLCLインターフェースの選択は単に、プロジェクトのコンパイラオプ
ションで
LCLウィジィットタイプを選ぶだけです)


デバッグに関してですが、当方ではほとんどFedora12上で行っています。
(GUIとTCP,FTP,シリアル通信、SQLite3データベースしか使用して無いため
Armadillo上
でなくてもほとんどの動作確認がデスクトップのLinuxマシンでできるため)。
正常に動作した後に、コンパイルのコード生成で、Linux/ARMに指定を変えて再
度構築し、
Armadilloに転送して動作確認とういう手順です。

リモートデバッグについては、Lazarusのリモートデバッグ機能のコード修正で
誰かが、
ミス?なのか特別のコード入れたため、普通の状態では動かないとの話があった
ので、
そこが修正されるまでと言うことでまだリモートデバッグついては動作確認して
ません。


Lazarusの特徴として
・OS:Linux、Windows…
・CPU:i386, ARM, PowerPC,sparc, m68k
・LCLインターフェス:gtk, gtk2, win32/win64, wince, carbon, qt, fpGUI, cocoa
・DBのサポート:DBase, Paradox, SQlite2/3
Oracle, PostgreSQL, MySQL4.0/4.1/5.0, Interbase/Firebird, ODBC
(Dephi同様、実行しなくても設計フォームで直接DBの内容の表示もできます。
 簡単なDBの内容を表示するだけのアプリなら、フォーム設計だけでコードを
 書かなくても開発ができます)
・CGI、Apacheモジュール開発サポート
・グラフコンポーネント:各種チャート作成(DB連動も可能)
・各種コンポーネント、リソースを含めて一本の実行可能ファイルになるため、
 管理は楽だが、サイズが大きくなる。

・Indy10をIDEにインストールすることにより、インターネット関連の多数のコ
ンポーネントが使用できます。
・Synaserをプロジェクトに加えることにより、高度なシリアル通信の機能利用
できます。
 (とはいえ、ATコマンドまで必要な人は少ないと思いますが・・・)

以上、参考までに。








armadillo メーリングリストの案内