1

Titanium でネイティブ コードはどのように生成されますか?? インターネットでドキュメンテーションを読んだことがありますが、そこからは高レベルのアーキテクチャしか理解できませんが、詳細な作業についての詳細が必要です。たとえば。Ti.UI.createButton() を使用して Titanium でボタンを作成する場合、これがネイティブ コードとどのようにバインドされ、ネイティブ コードを使用して取得するのと同じボタンを取得するのですか。

UIButton オブジェクトが作成されて返されますか (iOS のみで話します)、または実行フローが異なりますか? また、理解を深めるために、ネイティブ コードのどこを見ればよいでしょうか。

4

1 に答える 1

1

まず第一に、それがどのように機能するかはプラットフォームごとに異なるため、プラットフォームが非常に特殊であるため、効果的に一般化することは不可能です.

iOS の場合、Titanium はKrollObjectと呼ばれるネイティブ ブリッジ ラッパー オブジェクトを使用します。これらのプロキシ オブジェクトは、Javascript オブジェクトからネイティブ コード内のネイティブ オブジェクトへのブリッジを形成します。UIButton のユースケースでは、UIButton が作成されますが、Javascript に返されません。Kroll ブリッジを介して制御します。(ちなみに、クロールは素材のチタンを精製する過程です、パニー)。

特に、ネイティブ プラットフォームの膨大な知識が必要なため (この場合は、チタンを使用する理由はありません)、モジュールを作成する方法の本質的な詳細を知る必要はありません。

これは、前回の Codestrong からすべてがどのように機能するかについての素晴らしいビデオです。オブジェクトのガベージ コレクションとライフサイクルがどのように機能するかを本当に知りたい場合は、このビデオをご覧ください。

于 2012-09-06T21:01:48.010 に答える