FileMaker Go 開発・利用者の為のiOSアプリ構築ハンズオン(day5)

FileMaker Go 開発・利用者の為のiOSアプリ構築ハンズオン(day5)

2025/05/18 09:00 札幌市生涯学習センターちえりあ

日頃、FileMaker Pro を利用してiOSでの実行環境である FileMaker Go アプリを提供している開発者が、よりネイティブアプリに近い環境での開発体験を通じてiOSアプリの動作の理解を進めることを目標としたハンズオン。FileMaker GoアプリをFileMaker Pro アプリのiOS動作版、と捉えるのではなく、あくまで、iOSアプリとして、iOSユーザーが日ごろ接しているiOSの流儀に従ったiOSアプリはどう作るのか、という基礎を学んだ上で、FileMaker GoアプリをよりiOSネイティブに近いアプリとなる構築手法を学ぼう、というのがこのワークショップの趣旨。講師として、主催のDBPowers のビジネスパートナーである、ソーコネクト社より井口氏を招聘しての基礎編は番外編を含めて全4回を予定していましたが、急きょ1回増やして、このSeacon1 は全5回となり、今回は最終回でもあるその第5回。

実は、講師でもあるsoconnect社の井口氏より、事務局には事前に当日の資料が提供されており、その内容について事前に粗方の把握をしている。
今回はSeason1の最終回、それも、今までのアプリ構築編の中でもローカルファイルで完結する内容から一歩進んで外部とのデータ連携、と、かなりのボリュームのあることが予想されていた。そうした期待を全く裏切ることなく上がってきたテキストは、「え?これ、本当に時間内で終わるの?」な内容。井口氏は「今までの実績からすれば大丈夫です(^o^)」と、かなりの自信をもってのご回答。期待を大にして本番に臨んだ。

 

 

 

最近はこの部屋「サークル活動室4」を使うことが多いのだが、会場でもある「ちえりあ」の対応窓口のある2階と同じ階、ということもあり1階への導線や事務室との行き来がラクということもその理由だが、プリジェクターからの映像を映す壁に特段の備品が備え付けられていない、ということも使い勝手を左右する大きな要素と捉えている。また、開催中に次回、次々回の開催日程が決まることもあり、その場で直ぐに会場確保に動けるのも利点の1つ。

前回は終日での勉強会でここに至るまでの復習を兼ねた開催ではあったが、それから約1ケ月経過し、日数の経過とともに理解していたはずの内容までかなり薄れてしまっていたことにがく然としながらの開始となった。
一方で、今回は、今までの情報を保存していた先がローカルのデータベースではなくリモート先であることから、情報の保存、抽出をする処理が全く従来とは異なる処理となる。そこで、コードが大きく変化することから従前のコードとは分岐して進めることになった。ここで出てくるが前回学んでGitである。メインとは異なるブランチを用意し、ローカル保存をFileMaker環境でも最近非常に注目を浴びているOData保存へと変更する。まずは、井口氏より、ODataでデータ保存をする処理をしているコードを紹介して貰いながら,ざっくりとした流れを把握した上で、細かな理解は後回しにして、そのまま写経作業。この記述は、これまでの操作画面が存在するものとは違って、あくまで裏側での処理のみをするコードであることから、使用するテンプレートはswiftUIではなく、swiftファイル。単に使うテンプレートを変えるだけの作業であっても、講師がいてともに学ぶ学友が傍にいる環境での作業は心なしか気持ちにゆとりがある。

Git関連で今回は、それまでの開発ブランチをメインにMergeして、あまり支流ばかりを散在指せないようにする、という処理をしてからODataでのデータ処理の組み込みへと進んできた。接続処理の部分は、講師の井口氏より提供されたもので使える形になったものの、これまでローカルデータ保存の処理としていた部分をOData経由へと書き換える部分がなかなか難解であった。慣れてしまえば、それほどでもない、ということは往々にしてあることではあるが、現在はまだSwiftUIを利用するコードに触れはじめたばかり。記述しているコードも完全に理解しながら書き込んでいる訳では無いために、同じような言葉(単語)が出てきた時に、この単語の認識が必ずしも上手く脳内で処理しきれていない、ことが大きい。
FileMakerProプラットフォームで言えば、ファイルを作ると、そのファイル名、テーブル名、レイアウトテーブル名、レイアウト名と同じ名称で作成される。これらは異なる対象だが、初学者には今手元で扱っているものがどれを指しているのかの判断が極めて難しい。そんな感覚を今日のコード書き換えの際には強烈に感じていた。それでも、見よう見まね、一緒に学ぶメンバーからの手助けでなんとか付いていく作業が進んだ。


データ通信の仕組みが記載されたコードを上手く書き込めさえすれば、前回までの成果物して表現できたいた画面で表示中のデータをOData 経由で取得して書き換えることができる。まだ、手元のSwiftアプリからデータ挿入まではできていないので、あくまでサーバー側でレコード作成し、それを表示するところまで。ただ、そのデータの表示もFileMaker的にレコードが自動で表示される、ということはなく、取得、表示、の処理が必要。この取得、の時に使用するのが、Twitter(現X)などでお馴染の画面を引っ張って、データを取得する方法。
そんな所謂iOSっぽい作業も,コードとしてはそれほど書き込む必要はなく単に数行を書き込むだけ。


実際に準備された時間で実装できたのは、ここまでで時間切れ。
約30%程度のテキストは次回持ち越しとなり、Season1は更に1コマ増えることになった。

時間の最後は、前回非常に興味深い内容でもあった、AIにコードを書かせる実践編。
今回も、ここまで実施してきた内容に関して、AIを利用して、もう少し加筆してみる、という実演を衆目環視の元で実施しclosinigとなった。

 

 


次回は、6月29日(日)の午前09:30 からの終日編。今日出来なかったODataを利用したデータ送信を含めていよいよアプリの完成を目指す回になりそう。