JavaScript Remoting と静的 HTML
この方法で設計された Visualforce ページは、要求-応答サイクルに対する制御が強化され、ページの再読み込みの代わりに JavaScript を使用したページの更新が優先されるため、標準の Visualforce の簡略化された自動機能の多くが使用されません。このアプローチはページのパフォーマンスを大幅に高めることができます。帯域幅が狭く、遅延の大きいワイヤレスネットワーク接続でモバイルデバイスを文字��りモバイルとして使用する場合は特に有効です。この方法の欠点は記述するコードが増えることで、Apex と Visualforce のほか、JavaScript、JavaScript Remoting、HTML5、ご使用のモバイルツールキット、CSS などの専門知識が必要です。一方、利点は、モバイル開発の最新鋭のツールを使用して作業できることと、この手法で構築したページにより、Salesforce1 と完全統合するカスタム機能を最も適切で最も完璧な方法で組み込めることです。
デスクトップ用の Visualforce ページも、Salesforce1 用のページもこのアプローチで構築できます。さらに、このアプローチによるページは、スタイル設定をカスタマイズすれば 2 つの環境で共有することも可能です。ただし、Salesforce フルサイトのデザインに近づけることは容易なことではありません。最も重要なことは、設計するページの応答性を最大限に高められることと、幅広いデバイスやフォームファクタに適合させられることです。
のアプローチの Visualforce ページへの適用
Salesforce1 アプリケーションのページの作成にこのアプローチを採用する場合は、次の一般的なプロセスに従います。
- 任意の Salesforce Mobile パック (Salesforce Developers で入手可) を静的リソースとして組織にインストールします。
- ページの docType を html-5.0 に設定します。標準のスタイルシートとヘッダーを無効にすることを強くお勧めします。次に例を示します。
- Visualforce リソースタグを使用して、選択したモバイルツールキットのスクリプトとスタイルをページに追加します。次に例を示します。
- HTML5 とモバイルツールキットのタグおよび属性を使用して、ページのスケルトンを作成します。
- Javascript 関数を、ユーザ操作に応答するハンドラとしてページに追加します。JavaScript Remoting を使用して、Apex @RemoteAction メソッドを呼び出します。このメソッドは、レコードの取得、DML の実行などを行います。
- ユーザアクションやページ更新を処理する Javascript 関数を追加します。HTML 要素を JavaScript で構築してから、ページのスケルトンに追加して、ページ更新を実行します。
JavaScript Remoting と静的 HTML ページの例
このページは、Salesforce フルサイトでも使用できますが、Salesforce1 アプリケーションページとして設計されているため、通常の Visualforce ページとはデザインがかなり異なります。