FileMakerPro Kyushu Users Meeting

九州の FileMaker Pro ユーザグループ「ファイルメーカー Pro 九州ユーザーズミーティング」
<< June 2017 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 >>
 
Google
次回の勉強会予定
  • 日程:2017 年 6 月 10 日 (土)
  • ※ 3 / 6 / 9 / 12 月の第 2 土曜開催
  • 会場:BIZCOLI
  • 参加:受付フォーム
Google グループ
RECENT COMMENT
  • FM Talkers Oct. 2014 - FileMaker 勉強会 -
    松本 (10/11)
  • 告知:FM Talkers October. 2012 - ワークショップ「メルマガ配信ソリューション」とグラフ入門
    長崎の坂井 (10/10)
  • 開催レポート:FM Talkers June. 2012 - 新バージョン FileMaker 12 の機能をみんなで掘り下げよう!
    仕事メモ@うずらの卵 (06/30)
  • FM Talkers Apr. 2011 - 検索について - レポート
    山本 (05/01)
  • FM Talkers Oct. 2010 - たまには復習でもしませんか? -
    山下好徳 (09/29)
  • FM Talkers Aug. 2010 - みんなで触ろう FileMaker Go! -
    ちぢいわ (08/27)
  • FileMaker 講習会 & FM Talkers Apr. 2010 〜 自分のソリューションを参加者に添削してもらおう!〜 開催のお知らせ
    キュウラギ (04/26)
  • FileMaker 講習会 & FM Talkers Apr. 2010 〜 自分のソリューションを参加者に添削してもらおう!〜 開催のお知らせ
    中島 (04/26)
  • FileMaker 講習会 & FM Talkers Apr. 2010 〜 自分のソリューションを参加者に添削してもらおう!〜 開催のお知らせ
    キュウラギ (04/20)
  • FileMaker 講習会 & FM Talkers Apr. 2010 〜 自分のソリューションを参加者に添削してもらおう!〜 開催のお知らせ
    CLA (04/20)
 

開催レポート:FM Talkers June. 2012 - 新バージョン FileMaker 12 の機能をみんなで掘り下げよう!

2012 年 6 月 14 日 (土)に開催したFM-Kyuhsuの勉強会『FM Talkers June. 2012 - 新バージョン FileMaker 12 の機能をみんなで掘り下げよう!』の、開催レポートをお届けいたします。

開催要項

時間
18:00 〜 21:00
参加者
20 名
参加費
500 円
場所
ふくふくプラザ (福岡市市民福祉プラザ) 502 研修室
福岡県福岡市中央区荒戸3丁目3番39号

『FileMaker Go できること・できないこと』

Ver.12で無料になったFileMaker Go。そもそもどういったアプリなのかという基本のおさらいから、FileMakerを離れて開発環境として見た場合などについての、FM-Kyushu 本田によるプレゼン。

プレゼンの全文と補足を掲載します。

おさらい:FileMaker Goとは

iOSで動くFileMaker

現時点で有力な競合製品は無い

FileMaker Proのサブセット

Proから構造変更とファイルホストの機能を除いたもの

他のFileMaker製品とファイルは共通

Pro, Serverと同一のファイルがそのまま使える

ver.12以降は利用が無料

iOS端末利用者なら追加コスト無しに誰もが使える

Goの価値

FileMakerソリューションをiOSに持ち込む

既存システムの強化

容易なモビリティの追加を可能にする

  • 実際の保管場所にいながら在庫を管理
  • 客先で中古車の修理履歴を検索
iOS端末の新しい利用方法

手元のiOS端末にデータベースを

  • 美容院で撮りためた写真をそのままカタログとして提供
  • デジタル教科書で授業を行った後に授業評価を入力

iOS向けの開発環境

iOSの開発は大多数の利用者にとってハードルが高い

ノンプログラミングな環境はほとんど無い

Goは自分でアプリ的なものが作れる

制限は色々あるが、Goで間に合う用途もたくさんある筈(結局は、FileMaker Proと同じ立ち位置に?)

FileMakerがDBであることは置いといて、単なるアプリ開発環境として見ても、ノンプログラミングは魅力

できること・できないこと FileMaker Proと比較

FileMaker Proとの比較

構造変更

テーブルやフィールド、レイアウトなどの設計変更ができない。

ファイルのホスト

Goがファイル共有の親にはなれない。

前項と合わせて、ランタイムと同じだと思えば良い。

処理性能

将来はともかく、現時点ではiOS端末上のGoは、MacやWindows上のProに比べ、様々な処理性能で劣る。

スクリプトステップや関数

ProにあるOSに依存するものは、Goでは使えない。

Goのデバイス依存なLocation()などはProで使えない。

UIの挙動

同じUI要素は、ほぼ同じ役割を果たすが、挙動が異なる。

最初はひどい状態だったが、iOSへの最適化が進み、
ポータルなど徐々に良くなっている。

オブジェクトフィールド

Goの方が、デバイスと密接な分、写真や音声の取り込みがシームレス。

プラグイン

GoではProのようにプラグインが使えない。

FileMakerを超えた要求は、他の方法で対処が必要。

ウインドウ

GoではiOSアプリ風に、常に1つのウインドウが全画面を占有する。複数ウインドウを並べるような設計はできない。

その他

ファイルの修復や、アクセス権設定、インポートなどなど、その他にも小さな差異は多い。FileMakerのナレッジベースを参照。

FileMakerとしてのGo まとめ

GoはiOSで動くランタイム環境
でもProで作ったものは大体思った通りに動いてくれる
UIや計算負荷はデバイスの特性に合わせて設計を
重要なのはモビリティの活かし方

できること・できないこと iOSアプリとの比較

iOSアプリとの比較 - メリット

開発が容易
  • コンパイルなし
  • プログラミングなし(計算式程度)
  • 素早い実機テスト
  • 日本語検索が簡単に実現
Appleの手順を要求されない
  • 検閲なし
  • 審査待ちなし
  • 有料の開発者登録なし
  • DMAなし

iOSアプリとの比較 - デメリット

FileMakerの限界
  • インタラクティブ性が低い
  • デバイス機能が一部しか使えない
  • バイナリがほぼ操作できない
  • 限られたWebアクセスしかできない
  • プログラミング言語が使えない
  • 速度が遅い … 他多数
Appleのインフラが活用できない
  • AppStoreなどの流通手段がない
  • DMAがない

iOSアプリ開発環境としてのGo まとめ

プログラミングができなくても自分用の道具を自作できる
できることはFileMakerの範囲内
制作物を流通させるのは大変(従来のフリーソフト同等)
自社用のツールなど、これで十分なアプリも沢山あるのでは?

・見積ツール ・チェックリスト ・独自形式の記録 等々

実践例 「仕事メモ」さん

既存のFileMakerソリューションからの延長ではなく、はじめからiOSの開発環境としてGoを使っている捉えた実践例をご紹介します。

こちらの方は、多分酪農関係のシステムを取り扱っているようで、酪農家向けのiOS端末で動くシステムの開発環境として、FileMaker Goを試行しています。現時点では繁殖管理用ソリューションと、Yes/Noクイズ式のナレッジツールを制作しています。

特に「Yes/Noクイズ式のナレッジツール」は、データベースアプリケーションとしてのFileMakerありきではなく、iOS端末を活用するツールという視点で作られています。しかも、FileMakerを使い始めて日が浅くとも、充分実用的なツールになっています。

私自身はiOSアプリの開発も行いますが、ちまちまと試行錯誤していきたい自分個人用の単語帳や、表には出せないデータ込みの仕組み(色んな原価を持たせた計算ツールとか、特定の顧客に合わせた業務用のものなど)を持ち歩きたい場合には、まずはGoで作ってみるのは良い流れだと感じています。

Goの拡張方法

GoでできることはFileMakerのそれに制限される。

大半はその範囲内で事足りたとしても、一部分だけでも、それ以上の事ができれば、用途はぐっと広がるかも。

→ Proでのプラグインのように、Goだけではできないことを、補う形で実現する方法を把握しておく。

URLスキームで拡張

iOSが提供する複数アプリの連携手段
  • 拡張したい機能は、iOS上の別アプリに実装
  • 別アプリの呼び出しは「fmp7script://」といったアプリ側の用意する識別子をプロトコル様に呼び出す
  • データの受け渡しはURLの引数かクリップボード
  • 目的の機能を持ったアプリがあればなんでもできるが、結局別アプリが必要
使用例

この方法の最大の問題は、iOSでの複数アプリの連携が非常にもたつく点です。連続してスキャンしたいバーコードリーダーや、大小様々な計算をさせたいといった目的では、切り替えの遅さに辟易します。しかし、Factoryさんのマーカーツールの様に、ある程度大きな作業を切り替えて行うのであれば、そう気になりません。むしろ、ネイティブアプリでしかできない事も多々あるので、規模や難易度の大きな用途に向いています。

「URLから挿入」スクリプトステップ

Ver.12から加わった新しいスクリプトステップ
  • 任意のURLの結果を、フィールドに直接取得する
  • 従来のWebビューアを使用した方法に比べてスマート
  • オブジェクトフィールドに直接ファイルの取得も可能
  • 自前でWeb上なりにリソース設置が必要
  • HTTP GETしか使えない
  • httpsは指定可能だが、証明書を検証しない
活用案
  • 重たい演算をWeb側で処理
  • Webから直接ファイルを取得
  • GET限定ならTwitter等々の各種APIをシンプルに使える

この方法は、単純なリソースの取得だけでなく、GETで呼べるAPIの活用をシンプルにしてくれます。YahooデベロッパーネットワークTwitterのAPIでGETのものなど、使えるシーンは色々あります。しかし、取得したデータの活用にはFileMakerでは面倒が多く、次に紹介するdataスキームを使った方法でパースした方が便利です。またPOSTやPUTが必要な場合や、OAuthなど何らかのトークンを必要とするケースでも、dataスキームでformを組み立ててPOSTといった工夫が必要になります。

Webビューア + dataスキーム + JavaScript 01

Webビューア内でJavaScriptを使って演算
  • Ver.11以前でも使える
  • dataスキームで動的にHTML+JavaScriptを組み立てる
  • FileMakerにJavaScriptの機能を追加するイメージ
  • 正規表現やHTTP POST(form経由で)なども使える
  • ある程度のバイナリ処理も可能(画像等)
  • 制限はあるがJavaScriptは今後強化される(と思う)
  • WindowsではWebビューアがJavaScriptの演算結果を取得させないので、この方法は使えない(Macでは??)

Webビューア + dataスキーム + JavaScript 02

値の受け渡し方
  1. 組み立てるdataスキーム用のコードにデータを埋め込む
  2. JavaScript側であれこれ処理する
  3. バイナリなら、base64でテキスト化
  4. 処理結果を任意のDOMオブジェクト等に書き込む
  5. FileMaker側でGetLayoutObjectAttribute()を使ってDOMオブジェクトから切り出す
  6. 画像等のバイナリなら、Webビューアで表示させる

Webビューア + dataスキーム + JavaScript 03

メリット
  • fp7やfmp12ファイル単体で完結する
  • JavaScriptは手軽に試せる
  • 既存のJavaScript資産が流用できる
デメリット
  • 演算結果をファイルとして取得できない(画像等)
  • Webビューアがやや不安定
  • 既存のJavaScript資産が流用できる

ここで、Webビューア + dataスキームを使った拡張方法の例として、簡単なお絵かきツールのデモを行いました。お絵かき機能の部分は非常にシンプルな作りで、とにかくcanvasへの描画をiOSで動くようにして、結果をbase64で任意のDOMに書き出す、というだけのものです。

こいつのファイルは乱暴な部分が大きすぎるので、ここではリンクしません。いずれは簡単な手順で誰でもそこそこのペイント機能をGoに追加できるよう公開したいと思います。

なお、イベント前には見落としてましたが、実は株式会社スプラッシュさんが、ほぼ同じ方法で実装されている風なペイントソリューション『FMCanvas』を販売していました。

他にも、FileMaker社のGo用プロモーションサイトにあるサンプルファイルの一覧には、同様の方法で実現された、ブラウザのメリットを生かしたソリューションが色々登録されています(株式会社寿商会が積極的に活用されているみたい)。

拡張方法の価値

拡張方法は一長一短で色々ありますが、Goの可能性上重要なのは、これらの方法がデベロッパの小道具に終わらず、FileMakerのエンドユーザーの手にきちんと収まることだと思います。プラグインの様に、中身の作りを知らなくても、そこそこ容易に組み込む事が可能になれば、Goでツールを作ってみる需要を潰さずに済むんじゃないでしょうか。

そういう意味では、Goスタンドアロンで済むWebビューア + dataスキーム + JavaScript等の方法が最も有望でしょうか。エンドユーザーが所定の手順でソースをコピーするだけで、Goを拡張できる可能性があります。

まとめ

FileMakerとiOS端末があるなら、Goでツールを作ってみると面白い。FileMakerだけではできないことも、拡張方法がわかっていれば、案外すんなり実現できるかもしれない。

既存のFileMakerソリューションとは切り離して、iOS端末のモビリティを自社内や顧客や自分個人に活用できるシーンが無いか検討してみれば、色々と考えられると思います。そんな時、要求がFileMaker Goで応えられる範囲内ならば、これほど手軽な開発環境は他にありません。

『FM-Kyushuワークショップ みんなでVer.12をさわってみよう』

今回、FM-Kyushuでは初めて、ワークショップスタイルでの勉強会を実施。ワークショップは、次のような大まかなルールだけ決めて、手探りの実践でした。

  • 少人数のグループに分かれ、同じテーマでソリューションを作る
  • 作成するのは、事前に用意したマスタデータを使った「見積書」
  • リレーションを使う
  • テーマを使う
  • その他Ver.12の新機能を使ってみよう
  • 制作時間は30分
  • 制作後は各グループが自分のソリューションを紹介

結果

30分という短時間もあってか、出来上がったものは予想以上に似ていました。

 
実際の.fmp12ファイルは下記からダウンロードできます。

見ためはやや違っても、リレーションシップの構造はほぼ同じ、機能も基本的に同じでした。マスタテーブルが用意されていたこと、見積書という揺れにくい題材、30分という時間もあってでしょうか。しかしスタッフが勝手に予想していた以上に、どのグループもしっかり見積書に必要な要件を考え、短時間で形にしていました。

発表も、滞りなく各グループの意図が伝えられ、ジョークがあったり、本当はもっとこうしたかったという声が出たり、良い雰囲気でした。

惜しいのは、本来発表を紹介と展望の2巡するはずが、進行の仕切りが悪く、ちょっと本題から離れた質問に時間をとってしまった点です。質問が出て様々な意見が飛び交うのは良い事ですが、参加者によってはついていきにくい場合もあるので、もっと上手に進行するよう考えていく必要を感じました。

各グループの発表中には、以下のような質問がありました。

ポータル内レコードの削除について

どうやって削除するのですか?

  • スクリプトステップで行えます(実演)。

その際に削除確認ダイアログが必要では?

  • そのオプションもあります。

その削除確認ダイアログはあったほうが良い?

  • データの削除になりますのであった方が良いと思われます。

テーマ機能とレイアウトスタイルについて

テーマ設定時にレイアウトスタイルは初期化されますか?

  • されます。

マウスオーバーなどの設定も?

  • されてしまいます。

見積書のデータモデリングについて

集計を実装する際にルックアップとリレーションの二つの方式が考えられますがどちらが正解ですか?

  • 過去のデータを固定する場合はルックアップを使います。
  • 今回のお題は見積書となっていますのでルックアップの方がより適していると考えられます。

つまり常にルックアップすれば良いのですか?

  • 用途に応じた選択が必要です。
  • リレーションによる集計とすれば、後日のデータ修正にも自動対応できる場合があります。
  • (補足)今回の例であれば日々の売り上げをリレーションで動的生成し、月集計はルックアップで固定化など複合的に利用するケースも考えられます。
  • データを固定する方法のひとつにスクリプトを使って検索〜集計する方法もあります。

ワークショップを実践してみて

FM-Kyushuはじめてのワークショップスタイルということで、色々と拙さや戸惑いがありましたが、得るものもたくさんありました。

難しいと考えていたグループ分けは、座っていたテーブルの列単位で別れるだけで、自然と上手く行きました。各グループに、見積書に必要なモデルをしっかり把握している方がいたのは大きかったです。手探りの初回で、形にならなかったグループが出なかったのは大きな成果で、実務で日々活用されている参加者の雰囲気も感じ取れました。

今回は課題の設定もあって、違いが出にくい結果になりました。今後はもっと驚く実装の出てくるような課題を考え、ワークショップを続けようと思います。

アンケートについて

今回はアンケート用紙を用意し忘れてしまったため、実施できず申し訳ありません。次回は内容を少し見なおして、実施いたします。

次回のFM-Kyushu勉強会について

次回の勉強会は2012年8月4日を予定しています。

内容はまだ確定していませんが、勉強会だからこそ可能な企画を検討中です。決まり次第、このブログやメーリングリストでお知らせします。

コメント
from: 仕事メモ@うずらの卵   2012/06/30 10:19 AM
拝見いたしました。この1エントリーだけでも、相当勉強ができました。またご紹介ありがとうございます。

こういったワークショップ楽しそうですねぇ。一人でもくもくと作っていると、頭が沸くことが多いのですが、こういった場で情報交換ができれば、もっと早く問題解決できてたなぁと思う内容も、有りました。
コメントする









 
トラックバック
この記事のトラックバックURL
http://www.fm-kyushu.jp/trackback/1104844