こんにちは。
ライジングサン・システムコンサルティングの岩佐です。
こちらの記事は、既に別言語・別RDBMSでの開発経験がり、これからFileMakerプラットフォームの学習を始める、もしくはFileMakerプラットフォームで具体的に何ができるのかを調査しているITプロフェッショナルの方を対象とする内容です。
他言語・他RDBMSでの開発経験があるITプロフェッショナルには、その学習コンテンツとしてズバリ、「FileMaker Master Book」をおすすめします。
このFileMaker Master Book は、一般の書店では取り扱われておらず、FileMakerのオフィシャルサイトからダウンロードするか、冊子を注文することで入手可能な教習本です。また、学習する内容によって初級・中級・上級の3編に分かれていて、さらに別冊として「FileMaker 関数・スクリプト ビギナーズガイド」という逆引きマニュアルがついてきます。
初級編が276ページ、中級編が651ページ、上級編が237ページ、そして別冊のビギナーズガイドが565ページと、全部で約1,700ページの大変充実した学習コンテンツです。
さらになんと、これだけのボリュームにもかかわらず、電子書籍(PDF)の場合は無料でダウンロードすることが可能なのです。(冊子版は有料)
ホントに素晴らしいですね。
よく「FileMakerは情報が少ない」というお話を聞くことがありますが、これは「市販の書籍が少ない」とほぼ同じ意味だと思います。しかし実はこんなに充実したコンテンツが無料で手に入るとても「デベロッパーフレンドリー」なプラットフォームなのです。
学習のスタイルとしては、演習用の簡単なアプリを作りながらFileMakerプラットフォームにおける開発の基礎から応用までをひと通り広くを学ぶといった内容です。
目次
1.ボリュームがありすぎてどこから学べば…?
しかし、これだけのボリュームなので、特に経験のある開発者さんほど「どこから学べばわからない」という感想をお持ちになることもあるようです。
特に基礎編に関しては、経験のある開発者さんほど「この程度の内容ならさらっと目を通すぐらいでOKだろう」とついついその先の中級編や上級編に進みたくなってしまうと思います。
しかしここはしっかりとまとまった時間を取って、基礎編に関しても実際に手を動かしてFileMakerプラットフォームの世界観を感じていただくことを推奨します。
恐らくさらっと読んだだけだと、FileMakerプラットフォームがもつ本質的な哲学や潜在能力を読み取ることは不可能です。
一方、表面的には極めて初歩的な内容ですが、そのひとつひとつの操作を思慮深く観察すると、なぜFileMakerプラットフォームがコードの記述量を抑えつつ、高度な機能が実装できるのか、その裏側を垣間見ることができます。
FileMakerプラットフォームの開発で極めて重要なことは、できるだけスクリプトを書かずに高度な機能を実装することです。
また、FileMakerプラットフォームに卓越した技術者が異口同音に言う「開発効率の良さ」や「柔軟性の高さ」は、この基礎的な機能を深く理解し、そして自由自在に使いこなせるからそこ「早く簡単に」実現できるものなのです。
特に他の開発言語をマスターされている技術者さんは、何でもスクリプトを書いて実現しようとする傾向が強いです。
しかしながら、この「スクリプトでぶん回す」方法だと、FileMakerプラットフォームのアドバンテージである拡張性や柔軟性を活かせない、「残念なソフトウェア」になってしまいます。
2.正しく学んで「借金」を減らそう
あなたは「技術的負債」という言葉を聞いたことがございますか?
技術的負債を端的に表現すると、筋の悪いアーキテクチャ・アルゴリズムを積上げて開発したソフトウェア程、将来支払うことになる負債が大きい…つまり、多額の借金を背負っていることの比喩として使います。
そしてこの技術的負債を減らす最も良い方法は、できるだけコード(スクリプト)を書かないことです。そして、FileMakerプラットフォームは、その特徴を正しく理解して実装すれば、あまり複雑なコードをゴリゴリと書く必要はありません。
つまり一般的なソフトウェア開発プラットフォームと比較して、技術的負債が発生しづらい開発プラットフォームなのです。
FileMakerプラットフォームは、コードを書かずして実現できる機能がたくさんあります。
そしてコードを書かない実装方法を実現しようとした場合、このMasterBookの「基礎編」で学ぶ知識が極めて重要にになってくるのです。
ですのでここは、少し先の幸せを意識しつつ、少しガマンをして初歩的な演習にじっくりと取り組んでみましょう。
繰り返しますが、「自分には開発経験があるから…」っといって、いきなり中級編や上級編、もしくは逆引きマニュアルを見て「作れる気分」になっても、決してFileMakerプラットフォームがもつ真のポテンシャルを引き出すことはできません。
面倒でも最初はかならず初級→中級→上級と段階を踏んで学び、FileMaker 関数・スクリプト ビギナーズガイドは実際の開発プロジェクトに入ってから、手元においておく逆引きマニュアルとして活用するのが良いでしょう。
3.例題アプリの規模と内容がFileMakerの限界ではない
FileMakerプラットフォームは、未だにMacで数千件程度の超小規模データをカード型で管理するものと誤解されるケースもまだまだあるようです。しかし、これは正しい認識ではありません。
実際、FileMakerの限界値はそのはるか上にあります。FileMakerの限界に関する疑問については、この記事の最後にリンクしている「お答えします。Access→FileMakerの乗り換えに関する5つの質問」の記事をご覧ください。
MasterBookでは、まず13,000件のExcelで作成された顧客リストをFileMakerにコンバートするところからレクチャーが始まります。この件数がFileMakerで管理できるデータの適正値ではないことにご注意ください。これはあくまでも演習と割り切ってトレーニングに臨みましょう。
また、サンプルとなるExcelの顧客名簿データは、ネットからダウンロード可能なコンテンツには含まれていないようです。
ですので、学習の手間を省くために私の方で用意させていただきました。
顧客名簿.zip
レコード件数は15,000件です。このデータは、個人情報のテストデータを生成する時に便利な「なんちゃって個人情報」から作成しました。ぜひご活用ください。
4.Starter Solution の作り方を真似していは行けない
FileMaker Master Book の初級編では、ところどころで【Starter Solution】と呼ばれる、FileMakerPro/ProAdvancedにバンドルされるロックフリーのソリューションを題材に演習を進める部分があります。
これは、あくまでも「演習の題材」として割り切りましょう。
そして間違っても、この【Starter Solution】がロックフリーでバンドルされているからと言って、これが「正しい作り方」ではないことにも注意が必要です。
「正しい」とは何を持って正しいとするか…なのですが、【Starter Solution】の実装方法でも確かに単体機能の小規模アプリや、数千件・数万件程度の小規模データを扱うレベルならこの実装方法でもOKです。
しかし、ユーザ数が数十名・数百名で、「部門横断的に利用する」「テーブルの数が数十から数百に及ぶ」「レイアウト(画面・帳票)の数が数十から数百」「トランザクション数が月間で数万・数十万」となるような規模のソリューションとなると、この作り方では早晩限界を迎えます。
こういった規模のソリューションを作るには、また別の「作法」や「定石」というものが存在します。
そのあたりは、中級編の演習で詳しく学びます。
ですので、初級編を終えた、もしくは読んだだけで「FileMakerって結局このレベル?」となって学習を終えないようにしてください。
5.中級編の内容を習得できれば、ほとんどのカスタムAppは作れるようになる
中級編では、「自分の為のアプリ」ではなく「チームの生産性向上を目的としたシステム」の構築方法を学びます。
他言語での開発経験のある技術者さんは、いきなりここから学習を進めたくなると思いますが、先にも述べたとおりの理由で、まずは初級編の演習を、必ず一度は通ってこちらに入るようにしてください。
この中級編にある内容を、ひと通りマスターし、自由自在に使いこなせるようになれば、一般的なソフトウェア開発要求の8割には対応できるでしょう。逆に、この中級編の内容がおろそかだと、自分の為のアプリはつくれても、チームのためのシステムを開発することができませんし、するべきでもありません。
そしてもしあなたがインハウスデベロッパー(社内SE)の場合、ここにある内容をマスターしておけば、開発をアウトソーシングする場合でも、常にあなたがベンダーをコントロールすることができます。
ソフトウェアのアウトソーシングにおいて、発注側がコントロールを握っておくことは極めて重要です。一方、このレベルの内容を理解していなければ、ベンダーに主導権を握られてしまいます。
これは是が非でも避けるべきです。
ベンダーに主導権を握られるということは、価格決定権を握られること、すなわち予算を握られてしまうことと同じ意味です。
このことをよく理解して、学習に取り組みましょう。
中級編の第1章から第4章までは、要件定義の重要性や進め方、そしてデータモデリングに関する内容です。経験のある技術者ならさらっと読む程度でOKでしょう。もちろんこれらはソフトウェア開発プロジェクトで極めて重要なことです。「さらっと読む程度でOK」というのは、「それを疎かにしても良い」という意味ではないことに注意してください。
また、要件定義やデータモデリングは、それだけで書籍数冊のボリュームが必要なほど、学ぶことがたくさんあります。ぜひ、このあたりは、MastarBookの内容と共に、他の書籍も手に取られることを推奨致します。
6.MasterBookで一番重要なのは中級編・第5章
中級編の第5章では、FileMakerプラットフォームの最も特徴的な部分である「リレーションシップグラフ」、そして「テーブルオカレンス」という概念について学習します。
この章は極めて重要なので、もし可能であればこの章だけは演習を数回繰り返して、完全に理解できるようにしましょう。そしてこの部分の理解が中途半端なままだと、FileMakerプラットフォームの最も「おいしい」部分を食べ逃してしまいます。
また、このリレーションシップグラフやテーブルオカレンスという概念は、他の開発言語にはありそうで、実は無い概念です。
さらに、この内容を深く知らなくても、スクリプトをゴリゴリ書けば、動くソフトウェアは作れてしまうので、この部分の学習を疎かにしてしまう方も相当数いらっしゃいます。これはとても残念なことです。
私も以前は、「SQLでいうViewのようなものです。」とか「オブジェクト指向プログラミングで言うところのクラスのようなもの」と説明することもあったのですが、やはり正しくはViewではありませんし、クラスでもありませんし、Accessで言うところのクエリオブジェクトでもありません。
ここは一度、自分の得意分野の常識を一旦わきに置いて、まっさらな気持ちで学ぶことが結局は習得の近道になると思います。
このリレーションシップの機能を如何に使いこなせるかで、コード(スクリプト)を書く量はまったく変わってきます。
実際、FileMakerプラットフォームの特性をよく理解していないJavaプログラマや.netプログラマがつくったFileMakerのソリューションがまったくもって使い物にならず、私の方で修正させていただいた経験が何度かあるのですが、その「使い物にならない」多くのケースが、このリレーションシップグラフを使いこなすこと無く、スクリプトで無理やりやりたいことを実現していました。
こうやって基礎を学習をすること無く、自分の無知や技術の無さを棚に上げて「FileMakerは遅い」「FileMakerは使い物にならない」と吹聴する「自称できるプログラマ」には本当に困ったものなのですが、こういったケースは本当に多いです。
中にはブログやTwitterでそういった事を書いている人もいるようなのですが、そういった意見にはぜひ惑わ割れないようにしましょう。
何よりしっかりと考えられたカリキュラムに則って、自分で手を動かしてみればそれがホントかウソがすぐにわかると思います。
7.上級編は技術のある人ほど楽しい内容
上級編はFileMakerServerの構築・運用と他システム連携を学びます。
こちらの学習を進める場合は、FileMakerServerのライセンスを購入するか、FileMakerDeveloperSubscritionの定期購読で入手可能なFileMakerServerの開発者ライセンスが必要です。個人的には、実際に運用を始めるまでは開発者ライセンスで十分だと思います。
こちらでFileMakerServerの役割と機能をしっかりと理解した上で、もしミッション・クリティカルなシステムを動かすのであれば、経験豊富なプロの力を借りてサーバを構築するのが良いでしょう。
また、経験豊富な開発者であれば他システム連携の部分は大いに興味をそそられる部分だとおもいます。
例えば、制度会計(税務会計)に直結するようなシステムは、ERPやパッケージで動かし、それらの「出来合いシステム」がどうしてもカバーできない部分のみをFileMakerプラットフォームで実装しようとしたときは、このあたりの知識が不可欠になってきます。
また、バージョン16より標準実装されたcURLオプションについても上級編で学習します。
もし、連携対象のシステムがREST API で他システム連携機能を提供していれば、疎結合によるシステム連携が可能となります。
現在のビジネスシーンは、極めて変化が早いので、ひとつでなんでも賄う巨大システムを作るよりも、幾つもの小さなシステムが疎結合された生態系(エコシステム)で構築するほうが、ビジネス環境の変化に早く、そして柔軟に対応できます。
せっかくのビジネスチャンスにもかかわらず「その事業を始めるためのシステムの修正に1年必要です。」というスピード感では、今の時代、話になりません。
そういった意味でも、Web API を使った他システム連携部分については、ぜひ一度は手を動かして体感して頂きたいものです。
8.今すぐMasterBookをダウンロードして学習をスタートしましょう
このブログ記事では、既に他の開発言語、開発プラットフォームで経験をつんだITプロフェッショナル向けに、FileMakerプラットフォームの技術を独学で学習するための優良コンテンツである「FileMakerMasterBook」をご案内しました。
私がFileMakerに始めて触れた10年前は、このような優良な学習コンテンツが存在せず、技術のキャッチアップには非常に苦労しました。
しかし、今はこれだけ優良なコンテンツが無料で入手できるのは、本当にうらやましい限りです。
新しい技術を習得する時のコツは「急がば回れ」、そして「手を動かす」。
これは、FileMakerプラットフォームの学習でもまったく同じです。
ぜひ、基礎的な学習も新たな気持で取り組み、一度は実際に手を動かしてみましょう。
必ずそれが貴重な財産になるはずです。
*
FileMakerMasterBookは、こちらから無料でダウンロードできます。
*
このブログ記事を読まれた方には、こちらの記事もおすすめです。