進行状況の追跡を始めよう
Trailhead のホーム
Trailhead のホーム

Salesforce アプリケーションでの Visualforce の使用開始

学習の目的

この単元を完了すると、次のことができるようになります。
  • Salesforce アプリケーションで Visualforce ページを使用できる 3 つの場所について説明する。
  • Visualforce を使用して Salesforce アプリケーションを作成するのが妥当な場合について説明する。
  • コードでモバイルカスタマイズを作成する代わりに使用可能な宣言型ツールを 3 つ以上挙げる。
  • Mobile SDK を使用するのではなく、Salesforce アプリケーションでモバイルアプリケーションを開発する理由を 3 つ以上挙げる。

Salesforce アプリケーションでの Visualforce の使用開始

Visualforce ページを使用して Salesforce を拡張し、モバイルユーザに必要な機能とユーザエクスペリエンスを提供できます。

Salesforce アプリケーションを使用すると、常時接続してどこからでも業務を遂行できます。Visualforce があれば、各自のニーズに応じてカスタマイズされた、機能的かつ洗練されたモバイルインターフェースを作成できます。すでに Visualforce でデスクトップ向けを開発している場合は、モバイル開発にもそのスキルを適用できます。モバイルに搭載した機能をユーザはそのまま活用して、リードの発見や商談の成立などを各自の携帯電話から実施できます。

Salesforce アプリケーションでは、モバイルアプリケーションに直接組み込まれた多くの機能を提供します。多くの場合、組織のニーズに合わせてコードを 1 行も書くことなく Salesforce アプリケーションを拡張できます。さらにカスタマイズしたアプリケーションを作成する場合は、Visualforce を使用して行うことができます。

Lightning Experience と Salesforce Classic

Lightning Experience は、直観的ながら洗練された Salesforce の新しいユーザインターフェースです。当社のモバイルエクスペリエンスの優れた点を結集した Lightning Experience により、営業担当がスムーズに業務を遂行できるようになり、パフォーマンスが向上します。さらに、スピーディでカスタマイズ可能なため、チームの高い生産性が維持されます。Salesforce Classic とは、Lightning Experience が登場するまでのユーザエクスペリエンスです。Salesforce Classic も依然として存在し、これまでと同様ご使用いただけます。

Salesforce アプリケーションと Lightning Experience は同じ Lightning プラットフォーム上に構築されています。この 2 つは見た目も似ており、同じスタイルガイドラインに従っているため、良きパートナー同士になっています。このモジュールでは、デモやデスクトップ上の手順の説明に Lightning Experience を使用します。社内でまだ Salesforce Classic を使用していても心配いりません! [設定] の一部のセクション名が変更されているほか、出力が多少異なることもありますが、そのまま操作を続けて構いません。

ほとんどの場合、記述した Visualforce コードは Lightning Experience と Salesforce Classic で同じように機能します。コードを調整する必要のある点が 2 ~ 3 か所あり、Lightning Experience では機能しない事項もいくつかあります。横道に逸れてしまわないようにここでは深入りしませんが、
メモ

メモ

詳細は、「Lightning Experience の開発」モジュールの「Lightning Experience での Visualforce の使用」を参照してください。さらなる説明が必要な場合は、「Visualforce と Lightning Experience」モジュールの丁寧な解説をご覧ください。

Salesforce アプリケーションで Visualforce ページが表示される場所

Visualforce ページを作成するときに、ユーザインターフェースのさまざまな場所から利用可能にできます。
  • ナビゲーションメニュー — モバイルアプリケーションから Salesforce アプリケーションナビゲーション をタップすると利用可能
    [Find warehouses (倉庫の検索)] ナビゲーションメニュー
  • アクションバーとアクションメニュー — アクションをサポートするすべてのページ下部から利用可能
    アクションメニューの [Create Quick Order (注文の簡易作成)] アクション
  • レコード関連情報ページ (モバイルカードとして) — レコードに移動したときに利用可能
    Salesforce アプリケーションのモバイルカード

Salesforce アプリケーションを作成するときに宣言型ツールを使用するケースとプログラム型ツールを使用するケース

Salesforce モバイルユーザの機能を開発する場合、宣言機能 (クリック) またはプログラム型ツール (コード) を使用できます。コーディングを開始する前に次の事項を考慮してください。
宣言型ツールで作成される Salesforce 機能には、次のような特徴があります。
  • 一般的に迅速かつ低コストで作成できる。
  • 一般的にメンテナンス作業が少ない。
  • ツールが改善されると自動にアップグレードされる。
  • ガバナ制限が適用されない。
Salesforce アプリケーションで使用できる一般的な宣言型ツールは次のとおりです。
  • クイックアクション
  • ページレイアウトのカスタマイズ
  • 数式項目および積み上げ集計項目
  • 入力規則
  • ワークフローおよび承認プロセス
  • カスタム項目およびカスタムオブジェクト
早速コーディングにかかりたいと思うかもしれません。けれども、それが可能だからといって必ずしもそれをすべきというわけではありません。Visualforce などのプログラム型ツールを使用して新機能の開発を確定する前に、代わりに宣言型ツールで機能を実装できるかどうかを検討してください。
もちろん、宣言型ツールで作成できないアプリケーションもあります。多くの場合、プログラム型ツールは次の内容を実現する機能で必要になります。
  • 特殊または複雑なビジネスプロセスをサポートする。
  • 高度にカスタマイズされたユーザインターフェースまたはカスタマイズされたクリックスルーパスを提供する。
  • サードパーティシステムに接続したり、サードパーティシステムと統合したりする。
では、どちらを選択しますか? コードではなくクリックを選択した場合の明確なルールはありません。クリックを選択した場合、解決しようとしている問題や解決のために使用できるリソースを考慮してください。

Salesforce Platform の使用とカスタムアプリケーションの作成の違い

Salesforce モバイルユーザ用の機能を開発する場合には、2 つのオプションがあります。Salesforce アプリケーションの拡張と Mobile SDK またはその他ツールを使用したカスタムアプリケーションの作成には違いがいくつかあります。

Salesforce Platform

  • ユーザインターフェースが定義されている。
  • Salesforce データへのフルアクセスがある。
  • Salesforce アプリケーションに操作性を統合する可能性がある。
  • 独自のアプリケーションや機能をクイックアクションで追加する。
  • ポイント & クリックまたはプログラム型ツールでカスタマイズされる。
  • Visualforce ページ、Canvas アプリケーション、および Lightning コンポーネントフレームワークを使用したプログラム機能
  • ナビゲーションポイントが定義されている (カスタマイズまたはアプリケーションがナビゲーションメニューに準拠している)。たとえば、Visualforce ページなどをナビゲーションメニューまたはアクションバーのカスタムアクションからコールできます。
  • 既存の Salesforce 開発手法 (ポイント & クリックおよびプログラムの両方) を活用できる。
  • すべての Salesforce エディションに含まれ、Salesforce でサポートされている。

カスタムアプリケーション

カスタムアプリケーションは、Salesforce Mobile SDK で作成する独立型アプリケーションの場合と、プレーン HTML5、CSS、任意のモバイル対応 JavaScript フレームワークを使用するブラウザアプリケーションの場合があります。カスタムアプリケーションでは、次のことが可能です。
  • ユーザ環境をカスタマイズする。
  • ネイティブおよびハイブリッドのローカルアプリケーションで REST API を使用するか、JavaScript Remoting を使用するハイブリッドアプリケーションで Visualforce を使用して、Salesforce データにアクセスする。HTML5 アプリケーションでは、標準の JavaScript API を使用して同じ操作を行います。
  • 顧客向けアプリケーションで注目度を上げるためにユーザインターフェースにブランドを設定する。
  • Java for Android または Objective-C for iOS を使用するネイティブ API を使用するか、JavaScript および HTML5 を使用するハイブリッドコンテナを使用するスタンドアロンモバイルアプリケーションにする (Mobile SDK のみ)。
  • Apple App Store や Google Play などのモバイル業界チャネルを使用してアプリケーションを配布する (Mobile SDK のみ)。
  • 複雑なオフライン動作を制御する (Mobile SDK のみ)。
  • プッシュ通知 (Mobile SDK ネイティブアプリケーションでのみ使用可能)。
  • 独自の OAuth モジュールを使用してセキュリティコンテナをカスタマイズする (Mobile SDK のみ)。
Mobile SDK のその他の重要な考慮事項:
  • npm インストーラおよび GitHub から無料でダウンロード可能なオープンソース SDK へのアクセス。ライセンスは必要ありません。
  • アプリケーションを外部開発環境 (iOS の場合は Xcode、Android の場合は Eclipse またはそれに類似するもの) で開発およびコンパイルする必要があります。

Salesforce Platform と Mobile SDK のどちらを選ぶかについては、正しい答えも間違った答えもありません。各自のアプリケーションにとって最も重要な機能は何かに基づいて選択します。

Salesforce Platform の開発プロセス

Lightning Experience と Salesforce アプリケーションの開発に使用するプロセスは同じです。Salesforce Classic 向けの開発に慣れている場合、Lightning Experience 向けの開発プロセスにいくつかの相違点がありますが、大半は操作は変わりません。

開発者コンソール、Force.com IDE、設定エディタのどれも、Salesforce アプリケーション、Lightning Experience、Salesforce Classic で機能します。Visualforce 開発モードフッターは、Salesforce Classic のみで使用できます。

Lightning Experience での開発と Salesforce アプリケーションでの開発の主な違いは、作成中にページを表示およびテストする方法です。

Salesforce Classic では、https://yourInstance.salesforce.com/apex/PageName URL パターンを使用してページを表示できます。この方法は Lightning Experience では機能しません。URL に直接アクセスして表示するページは、常に Salesforce Classic に表示されるためです。Lightning Experience でページを表示する場合は、/lightning を使用して Lightning Experience コンテナアプリケーションにアクセスします。

特定の Visualforce ページに移動する手っ取り早い方法は、そのページのタブを作成して、アプリケーションランチャーの [すべての項目] セクションからそのタブに移動することです。より長期的な方法は、「開発中」アプリケーションを作成して、作業時に Visualforce タブの追加と削除を行うことです。
メモ

メモ

「開発中」アプリケーションの作成についての詳細は、「Visualforce と Lightning Experience」モジュールの「Lightning Experience 用の Visualforce ページの開発」単元を参照してください。

ここで重要な点は、Visualforce ページを本番環境にリリースする前にテストすることです。作成したページをさまざまな環境、デバイス、およびユーザでテストします。たとえば、デスクトップまたはラップトップのみで Salesforce アプリケーションを開発し、/lightning URL に移動してページをテストすることはお勧めしません。Salesforce アプリケーションと Lightning Experience は、接続されるデバイスに応じて /lightning コンテナを共有します。ブラウザのユーザエージェントを変更して /lightning を欺くこともできますが、後々バグが生じる可能性があります。デスクトップとモバイルではブラウザの動作がまったく異なることがあるためです。

Salesforce アプリケーションをエミュレータで実行することは、通常の使用ではサポートされていません。確かにデバイスエミュレータは便利ですが、組織でサポートされているモバイルデバイスでのカスタムアプリケーションやページの完全なテストの代わりになるものではありません。開発中に、リリースする予定のあらゆるデバイスやプラットフォームでアプリケーションを定期的にテストします。

このモジュールで記述したコードをモバイルデバイス上でテストするには、Trailhead Playground のユーザ名とパスワードを使用して Salesforce アプリケーションにログインします。Trailhead ログイン情報については、こちらの記事を参照してください。Salesforce は Google Play または App Store からダウンロードしてインストールできます。

メモ

メモ

ここでは、Lightning Experience および Salesforce アプリケーション向けの Visualforce の開発プロセスについて細かく説明することはできません。開発プロセスおよびベストプラクティスについての詳細は、この単元のリソースをご覧ください。