4Dにおけるコンポーネント管理の簡素化

4D開発において、コンポーネントの管理というタスクは一般的にかなりの労力を必要とします。しかし、4Dの新機能のコンポーネントマネージャー機能を使用することで、コンポーネント管理は大きく進化しました。

コンポーネントを特定のComponentsフォルダに配置する制約がなくなったことにより、この機能は、2つの重要な要素から成り立っています。 dependencies.json および environment4d.json ファイルです。これらのファイルは、開発者にアプリケーションの依存関係をより良く可視化し、コンポーネントパスをカスタマイズする柔軟性を提供します。

HDI: コンポーネントマネージャー

開発中のコンポーネントマネージャー・インターフェース

問題の核心に入る前に、現在、4Dコンポーネントと、プロジェクトのComponents フォルダ内にあるコンポーネントは、デザインメニューからアクセス可能な新しいプロジェクト依存関係スクリーンから見ることができるということをお伝えしておきます。

この画面では、プロジェクトの依存関係を見ることができるだけでなく、近い将来には新しいコンポーネントを追加したり、それを管理したりすることもできるようになります。

dependencies.jsonによる構造化された管理

コンポーネントの管理は、dependencies.json という、アプリケーションが使用するコンポーネントを列挙したマニフェストファイルを通じて行われます。このマニフェストファイルは、これらの重要な要素のロードを簡素化することで、依存関係管理のための明確な構造を保証します。

その利点は、すべてのプロジェクトが(GitHub Desktop などを通して)フラットな構造で管理され、エイリアスや重複したコピーの作成が不要になることです。これは特に相互依存のコンポーネントを扱う場合に重要です。

dependencies.json の一例:

{
	"dependencies":{
		"MyComponent" :{}
	}
}

この場合は、読み込みたいコンポーネントであるMyComponentは、パッケージフォルダの隣に配置されていることを意味します。

environment4d.jsonを使ったカスタマイズ

デフォルトのパス(パッケージフォルダの隣)が合わない場合でも、個人の作業環境ファイルのコンポーネントへのパスを定義することが可能です。environment4d.jsonは環境のカスタマイズを可能にします。コンポーネントへの絶対パスまたは相対パスを指定することで、このマニフェストは、各プロジェクトの特定のニーズに応じてパスを適合することができます。

直接的な利点は、各開発者が自分の環境ファイルをデータベースの親フォルダーに持つことができるため、例えばコミットするかしないかを決めたり、ディスク構成に対応したりすることができることです。

environment4d.jsonの一例:

{
	"dependencies":{
		"myComponent1" : "../MyComponent1"、
		"myComponent2" : "./MyComponent2"、
                "myComponent3" : "file:///Users/jean/MyComponent3"
    }
}

開発者のための実践的管理

もし、environment4d.jsonが、特定の依存関係に対して存在しない場合、または、このファイルが、dependencies.jsonに挙げられている依存関係についての情報を欠いている場合、4Dは、dependencies.jsonに記載されている名前を利用して、パッケージフォルダの隣にある依存関係を取得します。

blank

全てのコンポーネントの状態を一箇所で見る

プロジェクトの依存関係画面では、dependencies.jsonとenvironment4d.jsonで宣言されたコンポーネントを表示し、各依存関係の情報(名前、ソース、ディスク上の依存関係へのアクセスなど)だけでなく、依存関係の状態(別の依存関係と競合しているかどうか、依存関係が正常にロードされたかどうか、ロードされていない場合はその理由)を取得することもできます。

blank

コンポーネントマネージャー機能は、4Dエコシステムにおける特筆すべき進歩です。dependencies.jsonとenvironment4d.jsonを活用するこの新しいアプローチは、開発者により強化されたコンポーネントの管理を提供します。 詳細はドキュメントをご覧 ください。また、コンポーネントマネージャに関する今後のアップデートにもご期待ください!

David Azancot
- 4D for iOS プロダクトオーナー - David Azancotは、2017年にプロダクトオーナーとして4Dプロダクトチームに参加しました。プロダクトオーナーとして、ユーザーストーリー(ユーザーが期待する新機能とその使用法)を書き、それを具体的な機能仕様に変換することを担当しています。また、実装された機能が顧客のニーズを満たしているかどうかを確認することも彼の役割です。DavidはLeonard De Vinci Instituteでマーケティング、インターネット、モビリティのMBAを取得し、2011年にモバイルスタートアップ企業でキャリアを開始。この企業は後にモバイルマーケティンググループのMadvertiseに買収されました。モバイルインターフェースに情熱を注ぐ彼は、2015年、同グループのインタラクティブなモバイル広告フォーマットの開発に抜擢されました。並行して、Davidは2012年から彼独自のiOSおよびAndroidアプリケーションを開発しています。