4次元学習の基礎
FileMaker Pro、Microsoft Access、または最新のローコードツールから 4D (4th Dimension) に移行する場合、まず必要になるのは、現状を正確に把握するための「地形図」です。オリジナルの「4th Dimension Learning Basics」ページは、FileMaker Pro 5.0 と 4th Dimension 6.5 のシステム要件を並べて比較したものとして書かれており、およそ 1999~2000 年当時のスナップショットです。そのスナップショットは今でも役に立ちますが、それは、これらの要件が なぜ 異なっていたのか、そして 2 つの製品が世界をどのように捉えているかを理解している場合に限られます。この記事では、元の比較を保存し、その背景となるコンテキストを補足します。数値が何を意味していたのか、プラットフォームがどのように分岐したのか、そして 4D システムを継承または維持する際に、今日どのように実践的な決定を下すべきかについてです。4D が現在のスタックに適合するかどうかを検討している場合は、4th Dimension ローコードレビュー で、現在のツールと比較してどのような立ち位置にあるかを確認してください。
重要なポイント
- オリジナルの FileMaker 対 4D の要件表は歴史的なベースラインであり、購入ガイドではありません。特定の RAM や OS の数値は、当時の遺物として扱ってください。
- アーキテクチャ上の最も重要な違いは、4D が プログラム可能なリレーショナルデータベース開発環境 であるのに対し、FileMaker Pro はエンドユーザー向けデータベースアプリケーションとして位置付けられていたことです。
- 4D は構造、メソッド、フォーム、データファイルを分離しているため、シングルユーザーのデスクトップツールから、クライアント/サーバーおよび Web 公開システムまでスケールさせることができます。
- ネットワーキングモデル、ランタイムライセンス、およびコンパイラの可用性は、4D と FileMaker が最も激しく分岐した 3 つの領域であり、現在でも移行の決定を左右するポイントとなっています。
- モダンな 4D (4D v20 以降) は、最新の macOS および Windows で動作し、SQL と REST に対応し、Git と統合されています。6.5 時代の制約はもう適用されません。
保存されたオリジナルの比較
ソース資料では、2 つの製品を直接比較していました。デスクトップデータベースの歴史における実際の瞬間を記録しているため、その比較をそのまま掲載します。
FileMaker Pro 5.0 — Macintosh: Power Macintosh; 16 MB RAM; Mac OS バージョン 7.6.1 以降; CD-ROM ドライブおよびハードディスク; TCP/IP または AppleTalk ネットワーク接続 (ネットワーク経由で FileMaker データベースを共有するために必要)。Web 公開の要件には、TCP/IP 経由でインターネットまたはイントラネットに継続的にアクセス可能なホストコンピュータ、インターネットアクセス用の ISP、および Web 公開データベースへのアクセス制限(12 時間のローリング期間につき 10 IP アドレスまで)が含まれていました。
FileMaker Pro 5.0 — Windows: Intel 互換コンピュータ (486/33 以降); 16 MB RAM; Windows 95、Windows 98、または Windows NT 4 (Service Pack 3); CD-ROM ドライブおよびハードディスク。Web 公開の要件は同様で、継続的な TCP/IP アクセスを備えたホスト、ISP、および 12 時間あたり 10 IP アドレスという同一の制限がありました。
4th Dimension 6.5 — Macintosh: Power PC 601 プロセッサ、ハードディスク、System 7.6.1 以降、20 MB RAM; CD-ROM ドライブおよびハードディスク。
4th Dimension 6.5 — Windows: 486 または Pentium ベースのマシン、ハードディスク、および以下の中のいずれか:16 MB 以上の RAM を搭載した Windows 95/98、または 24 MB 以上の RAM を搭載した Windows NT Workstation または Server。
関連: — 自動化、ビュー、共有可能なインターフェイスを備えた、実際のリレーショナル データベースの上にあるスプレッドシートのようなシンプルなインターフェイス。.
ここで 2 つの点が際立ちます。第一に、4D は Mac で より多くの RAM (20 MB 対 16 MB) を要求し、Windows NT Workstation と Server の構成を区別していました。これは、4D がすでにサーバーとしての役割で導入されていたことを示しています。第二に、FileMaker の Web 公開は IP アドレスによって制限されており、これはエンタープライズ展開ではなく、小規模なワークグループでの公開を目的としていたことを物語っています。
要件が異なっていた理由
16 MB と 20~24 MB の差は恣意的なものではありませんでした。それは、それぞれの製品が 何であったか という根本的な違いを反映していました。
FileMaker Pro は、プログラマーでなくてもアプリケーションを開き、スプレッドシートのようなインターフェースでフィールドを定義し、いくつかのレイアウト要素をドラッグして、データの入力を開始できるように設計されていました。ターゲットユーザーがデスクトップ上の個人であったため、ランタイムのフットプリントは小さく抑えられていました。
ショッピングの場合: — より広範なZohoスイートにプラグインするローコードアプリビルダーで、アプリごとではなくユーザーごとに価格が設定されます。.
対照的に、4D は完全な開発環境として出荷されました。6.5 時代であっても、以下が含まれていました:
- テーブル、フィールド、リレーションを定義するための 構造エディタ
- 4D プログラミング言語を記述するための メソッドエディタ
- 入出力レイアウトを設計するための フォームエディタ
- インタプリタ形式のコードをスタンドアロンアプリケーションに変換できる コンパイラ
- シングルユーザーバージョンとは異なる クライアント/サーバー アーキテクチャ
これらのサブシステムはそれぞれメモリとディスクを消費します。要件が高かったのは、単なるアプリケーションではなく「プラットフォーム」であるためのコストでした。
インタプリタとコンパイラの区別
これは、早い段階で理解しておくべき最も重要な概念です。4D では、インタプリタモード で開発および実行が可能です。このモードでは、4D 言語が実行時に 1 行ずつ実行されます。反復開発は高速ですが、実行速度は遅く、4D 開発環境がインストールされている必要があります。
リリース準備が整ったら、コンパイラ を使用して、完全な開発環境を必要としない、ダブルクリック可能なスタンドアロンアプリケーションを作成します。これは概念的に、Python スクリプトをインタプリタで実行する場合と、コンパイルされたバイナリを配布する場合の違いに似ています。同時代の FileMaker は、このような開発者からスタンドアロンアプリケーションへのパイプラインを同様の形式では提供していませんでした。Runtime エディションと Developer エディションは後になって登場し、仕組みも異なっていました。
現在 4D を学習している方は、「コンパイル済み 4D アプリケーション」が主要なデプロイターゲットであることを理解し、初日からそれに応じてプロジェクト構造を計画してください。
設計シグナルとしてのシステム要件
古い要件表を読むことは一つのスキルです。単なるノスタルジーではなく、そこから意味を抽出する方法を以下に示します。
| 要件の中のシグナル | それが意味すること |
|---|---|
| NT Workstation と Server の数値が分かれている | ベンダーがデスクトップだけでなくサーバー展開を想定していた |
| 特定のプラットフォームで RAM が高い | エンジンがそのプラットフォームで優先的に最適化またはテストされていた可能性が高い |
| Web アクセスの IP アドレス制限 | Web 公開は後付けの機能であり、接続ごとにライセンスされていた |
| CD-ROM ドライブの記載 | 配布は物理メディアであり、自動更新はなかった |
| AppleTalk への明示的な言及 | TCP/IP が普及する前のネットワーキングがまだ一般的だった |
実践的な教訓:4D、FileMaker、Access、あるいは最新のローコードツールなど、あらゆる データベースプラットフォームを評価する際は、ベンダーがサーバー構成を個別に記載しているかを確認してください。記載されていれば、その製品はマルチユーザー展開向けに構築されています。デスクトップ仕様しか記載されていない場合は、同時実行環境で苦戦する可能性のあるシングルユーザーツールであると考えられます。
ネットワーキング:クライアント/サーバー 対 ファイル共有
2 製品間のネットワーキングの違いは、おそらく RAM の数値よりも重大な影響を及ぼしました。
FileMaker の元々の共有モデルは ネットワーク上のファイル共有 でした。つまり、1 台のマシンがデータベースファイルを開き、他のマシンが TCP/IP または AppleTalk をトランスポートとしてそこに接続するという形式です。これはシンプルで小規模なチームには有効ですが、「サーバー」の実体は単にファイルを開いているピアマシンに過ぎません。
4D のモデルは真の クライアント/サーバーアーキテクチャ でした。4D Server プロセスがデータを管理し、同時アクセスを制御し、4D Client アプリケーションからのリクエストに応答します。これは PostgreSQL や Microsoft SQL Server の動作に近く、だからこそ 4D はより多くのユーザー数やより大きなデータセットへとスケールできたのです。
現在構築を行う方にとっての判断基準は以下の通りです:
- ユーザーが 1~2 人か? $ ightarrow$ デスクトップデータベースで十分です。
- LAN 上に少数の同時ユーザーがいるか? $ ightarrow$ ファイル共有または軽量サーバーで動作します。
- 数十人のユーザー、リモートアクセス、または Web クライアントが必要か? $ ightarrow$ 4D Server のような本物のクライアント/サーバーエンジンが必要です。
FileMaker の Web 公開における元の IP アドレス制限は、この制約をよく表しています。それはオープンな Web トラフィック向けに構築されていなかったのです。
ランタイム、コンパイラ、およびデプロイメント
元の概要にあった「ランタイムの違い」と「コンパイラ」という見出しは、決定的な分かれ道を示しています。
- インタプリタランタイム: 4D 開発環境内で実行します。開発、デバッグ、および自身でマシンを管理する内部ツールに最適です。
- コンパイル済みアプリケーション: スタンドアロンの実行ファイルをビルドします。開発環境を持たせてはいけないユーザーへの配布に最適です。
- 4D Server: マルチユーザーエンジン。同時アクセスを伴う共有データに最適です。
- 4D Client: 接続用アプリケーション。サーバーと通信するワークステーションに最適です。
初心者が陥りやすい間違いは、すべてをインタプリタモードで開発し、後でコンパイルした際に、インタプリタでは許容されていたエラーが表面化することに気づくことです。たとえ小規模なテストプロジェクトであっても、早めにビルドとコンパイルを行い、コードが数千行になる前にコンパイラの仕様を学んでください。
Web ホスティングとデータチャート
元の概要では「Web ホスティング」と「データチャート」が個別のトピックとして挙げられており、どちらも現在でも重要です。
4D の世界における Web ホスティング とは、データベースをブラウザに公開することを意味します。歴史的には、HTML テンプレートを提供し 4D 言語でリクエストに応答する 4D 内蔵の Web サーバーを通じて行われていました。現在、4D は REST スタイルのアクセスもサポートし、標準的な Web スタックと統合できるため、独自の公開モデルに縛られることはありません。Web フロントエンドを計画している場合は、ページを 4D サーバー側でレンダリングするか、REST 経由で別のフロントエンドフレームワークにデータを公開するかを早めに決定してください。
データチャート とは、クエリ結果をグラフやダッシュボードに変換することを意味します。4D は歴史的に、フォームオブジェクトやサードパーティ製プラグインを通じてチャート機能を提供してきました。実践的なアドバイスとしては、レポート用のワークロードはトランザクション用とはパフォーマンス特性が大きく異なるため、レポートクエリをデータ入力フォームから分離して管理してください。
プラグイン、ツール、およびエコシステム
元の概要の「プラグイン」、「ツール/ユーティリティ」、「リソース」という見出しは、重要な点を示唆しています。それは、いかなるデータベースプラットフォームも単独では使用されないということです。
- プラグイン は、特殊なファイル形式、ハードウェア統合、高度なグラフィックスなど、コア機能では提供されていない能力で 4D を拡張します。
- ツールおよびユーティリティ は、コード分析からデータ修復まであらゆるものをカバーします。
- リソース (ドキュメント、フォーラム、コミュニティサイト) は、実際にプラットフォームを習得する場所です。
より広範なカテゴリに関する信頼できる背景情報については、Wikipedia の データベース管理システム および、4D と FileMaker の両方の基礎となっている リレーショナルモデル の記事を参照してください。言語とプラットフォームの系譜については、4D (プログラミング言語) の項目が適切な出発点となります。また、モダンな 4D が相互運用する標準については、ほとんどの時間を 4D 固有の言語で過ごすとしても、SQL の概要を読んでおく価値があります。
決定方法:実践的なフレームワーク
プラットフォームを選択、または継承する場合は、以下の質問に順番に答えてください。
- 同時ユーザー数は? 1~2 人ならデスクトップツール。少数(数人)を超えるなら本格的なサーバーエンジンが必要です。
- スタンドアロンアプリを配布する必要があるか? はいの場合、4D が提供するようなコンパイラを備えたプラットフォームが必要です。
- Web またはモバイルのフロントエンドを設けるか? はいの場合、REST または SQL アクセスが可能なプラットフォームを優先してください。
- カスタムロジックはどの程度必要か? 複雑な ビジネスルール が多い場合は、フォーム主導の環境よりもプログラム可能な環境が適しています。
- チームのスキルセットは? シチズンデベロッパーであれば FileMaker スタイルのツールの方が早く生産性を上げられます。プログラマーであれば 4D のメソッドエディタを好むでしょう。
普遍的な正解はありません。正しい選択は、どの製品の機能リストが長いかではなく、解決すべき問題の形状によって決まります。
よくある質問
4D は 4th Dimension と同じものですか?
はい。 「4D」は、もともと「4th Dimension」と呼ばれていた製品の現代的な名称です。年月を経て名称は短縮されましたが、プラットフォーム、言語、開発環境の系譜は同一です。1990 年代や 2000 年代のドキュメントやコミュニティの投稿では「4th Dimension」が使われていますが、現在の資料では「4D」が使われています。
なぜ 4th Dimension は FileMaker Pro よりも多くの RAM を必要としたのですか?
4D は、構造エディタ、メソッドエディタ、フォームエディタ、コンパイラ、クライアント/サーバーコンポーネントを備えた「完全な開発環境」として出荷されたのに対し、FileMaker Pro は「エンドユーザー向けデータベースアプリケーション」として位置付けられていたからです。同時に動作するサブシステムが多いほど、メモリフットプリントは大きくなります。要件が高かったのは、単一のアプリケーションではなくプラットフォームであったことの結果です。
4D のインタプリタモードとコンパイルモードの違いは何ですか?
インタプリタモードでは、4D 言語は実行時に 1 行ずつ実行されます。これは開発には便利ですが、速度が遅くなり、開発環境が必要になります。コンパイル モードでは、コンパイラーがコードをスタンドアロン アプリケーションに変換します。これにより、開発環境なしで実行でき、動作も高速になります。ほとんどの実稼働環境では、コンパイルされたアプリケーションまたは 4D Server が使用されます。
4D データベースは Web 上で公開できますか?
はい。 4D には長い間、4D 言語を使用してページを提供しリクエストに応答できる組み込み Web サーバーが含まれており、最新バージョンでは REST スタイルのアクセスと標準 Web スタックとの統合もサポートされています。元の FileMaker の比較では、Web アクセスを IP アドレスごとに測定していましたが、これはオープンな Web トラフィックではなく、小規模なワークグループの公開モデルを反映していました。
古いシステム要件はまだ適用されますか?
いいえ、元の比較の数値 (16 MB の RAM、Windows 95/98、Mac OS 7.6.1) は、およそ 1999 年から 2000 年までのハードウェアとオペレーティング システムを表しています。最新の 4D リリースは、macOS および Windows の現行バージョンで実行され、最新のデータベース プラットフォームから予想されるように、はるかに多くのメモリを必要とします。古い表は購入ガイドではなく、歴史的なベースラインとして扱ってください。
初心者は 4D で最初に何を学ぶべきですか?
構造エディターから始めます: テーブル、フィールド、リレーション。それ以外のすべて (フォーム、メソッド、値リスト、レポート) は、そのデータ モデルに基づいて構築されます。きれいなリレーショナル構造を定義できたら、メソッドエディターに移動して、4D 言語がどのようにレコードを読み書きするかを学びます。フォームと値リストは、すでに設計した構造上の単なるプレゼンテーション層であるため、その後の習得は自然にできるはずです。
よくある質問
4D は 4 次元と同じですか?
はい。 「4D」は、もともと「4th Dimension」と呼ばれていた製品の現代名です。名前は長年にわたって短縮されましたが、プラットフォーム、言語、開発環境は同じ系統です。 1990 年代と 2000 年代のドキュメントとコミュニティの投稿では「4th Dimension」が使用されていますが、現在のマテリアルでは「4D」が使用されています。
4th Dimension は FileMaker Pro よりも多くの RAM を必要としたのはなぜですか?
なぜなら、4D は完全な開発環境 (構造エディタ、メソッド エディタ、フォーム エディタ、コンパイラ、クライアント/サーバー コンポーネント) として出荷されたのに対し、FileMaker Pro はエンドユーザー データベース アプリケーションとして位置付けられていたからです。同時に実行するサブシステムの数が増えると、メモリの使用量も大きくなります。単一のアプリケーションではなくプラットフォームであるため、要件が高くなりました。
4D のインタープリタ モードとコンパイル モードの違いは何ですか?
インタプリタモードでは、4D 言語は実行時に 1 行ずつ実行されます。これは開発には便利ですが、速度が遅くなり、開発環境が必要になります。コンパイル モードでは、コンパイラーはコードを、開発環境なしで実行され、より高速に実行されるスタンドアロン アプリケーションに変換します。ほとんどの実稼働環境では、コンパイルされたアプリケーションまたは 4D Server が使用されます。
4D データベースを Web 上で公開できますか?
はい。 4D には長い間、4D 言語を使用してページを提供しリクエストに応答できる組み込み Web サーバーが含まれており、最新バージョンでは REST スタイルのアクセスと標準 Web スタックとの統合もサポートされています。元の FileMaker の比較では、Web アクセスを IP アドレスごとに測定していましたが、これはオープンな Web トラフィックではなく、小規模なワークグループの公開モデルを反映していました。
古いシステム要件はまだ適用されますか?
いいえ、元の比較の数値 (16 MB の RAM、Windows 95/98、Mac OS 7.6.1) は、およそ 1999 年から 2000 年までのハードウェアとオペレーティング システムを表しています。最新の 4D リリースは、macOS および Windows の現行バージョンで実行され、最新のデータベース プラットフォームから予想されるように、はるかに多くのメモリを必要とします。古い表は購入ガイドではなく、歴史的なベースラインとして扱ってください。
初心者は 4D で最初に何を学ぶべきですか?
構造エディターから始めます: テーブル、フィールド、リレーション。それ以外のすべて (フォーム、メソッド、値リスト、レポート) は、そのデータ モデルに基づいて構築されます。きれいなリレーショナル構造を定義できたら、メソッドエディターに移動して、4D 言語がどのようにレコードを読み書きするかを学びます。フォームと値リストは、すでに設計した構造上の単なるプレゼンテーション層であるため、その後自然に作成されます。
FileMaker を 45 日間無料でお試しください
デスクトップ、Web、モバイル上で 1 つのファイルからカスタム アプリを必要とするチーム向けの、長期にわたって実行されているリレーショナル データベース プラットフォームです。