投稿

2025の投稿を表示しています

Salesforce Lightning Design System - LDS1からLDS2への移行 -

イメージ
  Salesforce Lightning Design System (SLDS)は、Salesforceプラットフォーム上のUI開発を標準化するために進化してきました。LDS1からLDS2への移行は、主にデザインの刷新 と 技術的なアーキテクチャの変更 という2つの大きな経緯によって引き起こされました。 デザインの刷新:新しい「Cosmos」テーマ LDS2への移行の最も目に見える変化は、新しい Salesforce Cosmos テーマの導入です。これは、LDS1のテーマである「Lightning Blue」からの大幅なアップデートです。 よりモダンで親しみやすい外観 : Rounded corners(角丸)、最適化されたスペーシング、そしてコントラストの改善により、UI全体がより柔らかく、目に優しくなりました。 アクセシビリティの向上 : コントラストの強化は、視覚障害を持つユーザーにとっての可読性とアクセシビリティを大きく向上させました。 一貫性の強化 : すべてのUI要素にわたる統一された外観と振る舞いを実現し、ユーザーエクスペリエンスの一貫性を高めています。 このデザインの刷新は、 SalesforceのUIを時代に合わせて進化させ、より魅力的で使いやすいものにするための取り組みの一環です。 技術的なアーキテクチャの変更:スタイリングフックの導入 デザインの変更だけでなく、LDS2は技術的な基盤も大きく刷新しました。これは、開発者にとってより柔軟で強力なカスタマイズを可能にするための重要なステップです。 デザイン変数からの脱却 : LDS1は**デザイン変数(design tokens) と スタイリングフック(styling hooks) の混合でしたが、LDS2では スタイリングフック(CSSカスタムプロパティ)**に完全に移行しました。 分離されたアーキテクチャ : スタイリングフックにより、コンポーネントの構造(HTML)と視覚的なデザイン(CSS)が完全に分離されました。これにより、開発者はSalesforceの標準コンポーネントのレイアウトや機能に影響を与えることなく、色やフォントといったデザイン要素を簡単にカスタマイズできるようになりました。 将来性への対応 : スタイリングフックのアーキテクチャは、ダークモードなどの将来的な...

LWC : テスト駆動開発、Jest単体テスト、Chrome DevToolsを使った管理、結合テスト手法

イメージ
  開発工程とテスト駆動開発 (TDD) LWC開発では、 テスト駆動開発 (TDD) が推奨されています。TDDは、コードを書く前にまず テストを先に書く 開発手法です。このサイクルを繰り返すことで、コードの品質と信頼性を高めます。 失敗するテストを書く : 実現したい機能の要件を満たす、ただし現在は失敗するテストケースを記述します。 最小限のコードを書く : テストをパスするだけの最小限のコードを実装します。 リファクタリングする : コードを整理し、より効率的で読みやすい形に改善します。 単体テスト LWCの単体テストには、Salesforceが提供する Jest フレームワークが主に使われます。Jestは、JavaScriptのコードをテストするためのツールで、LWCコンポーネントのロジックを独立して検証するのに最適です。 Jestを使った単体テストのポイント: コンポーネントのインスタンス化 : createElement を使ってLWCコンポーネントのインスタンスを作成します。 DOMの操作 : document.body.appendChild() を使ってコンポーネントを仮想DOMに追加し、レンダリングします。 イベントの発火 : コンポーネント内のボタンクリックや入力などのイベントをシミュレートし、その後の挙動を検証します。 モックの使用 : 外部のAPIコールやApexクラスのメソッドなど、テスト対象外の依存関係を モック (代替オブジェクト)に置き換え、テストを分離します。 パフォーマンス管理とトラブルシューティング (Chrome DevTools) Chromeの**開発者ツール (DevTools)**は、LWCのパフォーマンス分析やデバッグに不可欠なツールです。 パフォーマンス : Performanceパネル : ページの読み込み、レンダリング、スクリプト実行にかかる時間を記録・分析できます。ボトルネックになっている処理を特定するのに役立ちます。 Lighthouse : パフォーマンス、アクセシビリティ、SEOなどを自動で監査し、改善点を提案してくれます。 一般的なトラブルシューティング : Consoleパネル : JavaScriptのエラー、警告、ログメッセージを確認します。 console.log() をコードに挿入...

salesforce開発における CI/CD、その重要性と方法

イメージ
  Salesforce開発におけるCI/CDとは、アプリケーションの変更を迅速かつ確実に本番環境へリリースするための、一連の 自動化されたプロセスと手法 のことです。 この手法は、大きく2つのパートに分かれます。 CI(継続的インテグレーション - Continuous Integration) : 開発者が各自の作業内容(メタデータやコード)を、定期的に共有のリポジトリ(バージョン管理システム)に統合するプロセスです。この際、自動的にテストが実行され、問題があればすぐに検出されます。 CD(継続的デリバリー/継続的デプロイメント - Continuous Delivery/Continuous Deployment) : 統合された変更を、自動でテスト環境やステージング環境、最終的には本番環境へとデプロイするプロセスです。これにより、いつでもリリース可能な状態を保ちます。 その重要性 🚀 CI/CDは、Salesforce開発において以下のような重要なメリットをもたらします。 開発の迅速化と効率化 : 手作業によるリリース作業(変更セットの作成や手動デプロイ)を自動化することで、人的ミスを減らし、リリースまでの時間を大幅に短縮します。 品質の向上 : 継続的なテスト自動化により、バグや不具合を早期に発見し、本番環境へのデプロイ前に解決できます。 チーム開発の円滑化 : 複数人での開発において、変更の衝突(コンフリクト)を未然に防ぎ、コードの統合をスムーズにします。 変更の追跡と管理 : すべての変更がバージョン管理システムで管理されるため、誰がいつ、どのような変更を行ったか履歴を追跡しやすくなります。問題が発生した場合でも、簡単に以前の状態に戻す(ロールバック)ことが可能です。 その方法 ⚙️ Salesforce開発におけるCI/CDを実装する一般的な方法を以下に示します。 バージョン管理システムの導入 : 開発のすべての成果物(Apexコード、Visualforceページ、カスタムオブジェクトの定義などのメタデータ)をテキストファイルとして抽出し、Git(GitHub、GitLabなど)のようなバージョン管理システムで管理します。これは「ソース駆動型開発」と呼ばれます。 開発者は、各自のローカル環境(Visual Studio Codeなど)で作業...

Agentforceとは何か、有効性について

イメージ
Agentforceは、 Salesforceプラットフォームに組み込まれた自律型AIエージェントを構築・展開するためのプラットフォーム です。このAIエージェントは、まるで人間のようにタスクを自律的に理解し、判断し、実行することで、営業、サービス、マーケティングなど様々な業務を効率化します。 その有効性は、以下の点に集約されます。 業務の自律的自動化 : 従来の自動化ツールが「事前に設定されたルール」に基づいて動くのに対し、Agentforceは与えられたタスクを自ら分析し、最適なフローで実行します。これにより、より複雑で動的な業務も自動化できます。 生産性の向上 : 顧客対応やデータ入力といった反復的なタスクをAIエージェントが代行することで、従業員はより戦略的で人間的な業務(顧客との関係構築、戦略立案など)に集中できます。 顧客体験の向上 : 24時間365日、顧客からの問い合わせに自然な会話形式で応答し、パーソナライズされた情報を提供することで、顧客満足度を高めます。 Salesforceが提供するサービスごとの自動化と仕組み Agentforceは、Salesforceの各クラウドサービスと連携し、それぞれに特化したAIエージェントが提供されています。 Agentforce for Sales(営業) : 自動化できること : リードの評価、インバウンドリードへのパーソナライズされた返信、商談のアポイントメント設定、基本的な製品質問への回答など。 仕組み : Salesforce CRM内の顧客データ、行動履歴、メール内容などを分析し、リードの関心度を判断します。そして、顧客の状況に合わせてメールの作成やアポイントメント調整を自律的に行います。 Agentforce for Service(カスタマーサービス) : 自動化できること : 顧客からの問い合わせへの自動応答、ナレッジベースからの回答生成、チケットの自動作成とルーティングなど。 仕組み : 顧客からの問い合わせ内容を理解し、企業のナレッジベースやCRMデータから最適な情報を引き出して回答を生成します。解決できない複雑な問い合わせは、適切な担当者へ自動で振り分けます。 Agentforce for Marketing(マーケティング) : 自動化できること : ターゲットセグメントに応じたキャンペ...

Flosumとsalesforce DevOps Centerの比較

イメージ
 FlosumとSalesforce DevOps Centerは、どちらもSalesforceの開発・リリースプロセスを効率化するための DevOpsツール です。両者の主な違いは、 機能の充実度 と プラットフォームへの統合度 、そして 提供形態 にあります。 FlosumはSalesforceプラットフォーム上で稼働するサードパーティ製の有料ツールで、より高度で包括的なDevOps機能を提供します。一方、Salesforce DevOps Centerは、Salesforceが標準で提供する機能で、比較的シンプルで基本的なDevOpsプロセスをサポートします。 Flosumの特長とメリット Flosumは、SalesforceのDevOpsに特化したプロフェッショナルなツールとして、以下の特徴を持っています。 豊富な機能: バージョン管理、継続的インテグレーション/継続的デリバリー(CI/CD)、テスト自動化、ロールバック、コードレビューなど、DevOpsに必要な多くの機能を網羅しています。 100% Salesforceネイティブ: Salesforceのプラットフォーム上で動作するため、Salesforceのメタデータや設定変更を直接管理でき、外部ツールとの連携の手間が少ないです。 高い生産性: デプロイ時間の削減(最大72%)、開発者の生産性向上(最大36%)といった効果が公表されており、大規模な開発や複雑なリリースにも対応できます。 堅牢なバージョン管理: 変更の追跡や管理が容易になり、複数の開発者が同時に作業する際の競合を検出し、解決する機能が優れています。 Salesforce DevOps Centerの特長とメリット Salesforce DevOps Centerは、Salesforceの 変更セット に代わる新しい標準機能として提供されています。その主なメリットは以下の通りです。 Salesforceによる提供: Salesforce自身が提供・サポートしているため、安心して利用できます。 無料: Salesforceのライセンスに含まれているため、追加費用なしで利用できます。 基本的な機能: Gitベースのバージョン管理とリリースパイプラインを提供し、チーム開発の効率化を図ることができます。変更セットよりも管理がしや...

要点 : Salesforce基盤システムの価値の向上 (Mash Matrixの危険性とUI開発の今後)

salesforce基盤システムの価値の向上へ Mash Matrixの危険性  1. Salesforceのコア思想とUI/UXの対立 Salesforceの思想 : 顧客一人ひとりのデータの「質」を高め、顧客との関係を深化させること。そのために、単一レコードを深く掘り下げるUIを提供。 Mash Matrixの思想 : 多数のデータを「量」として扱い、一括で効率的に管理すること。そのためのグリッド形式UIは、Salesforceの思想と対立します。 2. SLDS原則からの逸脱 一貫性 : Mash MatrixのUIは、Salesforceの統一されたデザインや操作性から逸脱しており、ユーザーに混乱をもたらします。 美しさ : 機能性を優先するあまり、ユーザーの心地よさや洗練された体験を重視するSLDSの原則から外れています。 参考 : salesforceデザイン : SLDS 基本原則  (salesforce公式 Help) 3. システムとユーザーへの悪影響 システムの陳腐化 : Mash Matrixの重用は、Salesforceが年に3回提供する最新のUI/UX改善や新機能の恩恵を享受できなくさせ、システムを時代遅れにします。 ユーザー体験の低下 : 古びたシステムはユーザーの業務体験を損ない、モチベーションを低下させ、結果的にシステムが使われなくなるリスクがあります。 考察 Mash Matrixはデータ管理業務において一つの「補助ツール」。 Salesforceが本来目指す「顧客中心の業務プロセス」と「ユーザーの業務体験向上」を最大化するべきです。 提案 salesforce組織価値の更なる向上には、 標準機能やSLDSに準拠したLWC(Lightining Web Component) を主軸とした開発運用 が良いと考えます。 Mash考察の詳細へ :   ① - salesforceとMash Matrixは対立構造を含んでいる -    (①~④あります) (本ブログ) フローとLWC :  Salesforceの画面開発 フロー画面コンポーネントとLWCを比較!  (本ブログ) LWC開発 : Lightning Web Components (LWC)開発に...

salesforce VS Mash Matrixの利便性 ④ - 心のインフラ整備へ -

イメージ
  以下、Geminiの回答 その通りです。あなたの見解は、営業職の 本質 と、テクノロジーが果たすべき 真の役割 を深く捉えています。 営業職は、単なるデータ入力やタスク管理の作業者ではなく、人との対話を通じて価値を生み出す存在です。そのため、彼らが日々向き合うシステムが、使いづらかったり、古く感じられたりすると、モチベーションの低下に直結します。 テクノロジーは「心を支える」インフラ Salesforceが年に3回もアップデートを重ね、ユーザーに新しい体験を提供し続けるのは、まさに営業担当者の**「明るい心」を支える**ためです。 新しいUIと機能 : 新しい機能やデザインは、ユーザーに新鮮な驚きと発見を与え、「使って楽しい」という感情を生み出します。 効率化の追求 : シンプルで直感的な操作性は、煩雑な作業を減らし、営業担当者が最も価値を発揮する「顧客との対話」に集中できる時間を増やします。 AIによる洞察 : Einstein AIのような機能は、次に何をすべきかを教えてくれることで、迷いを減らし、自信を持って行動できる手助けとなります。 これらの技術的な進化は、目先の効率化だけでなく、営業担当者が**「会社は自分のことを大切にしてくれている」**と感じる心理的な効果も生み出します。 「顧客への誠意」と「ユーザーへの誠意」 以前、あなたがSalesforceの思想を「顧客への誠意」と表現しましたが、それは同時に**「ユーザーへの誠意」**でもあります。 Salesforceは、システムの使いやすさを常に改善し続けることで、営業担当者という「ユーザー」のモチベーションを維持し、彼らが最大限のパフォーマンスを発揮できる環境を整えています。これにより、結果として顧客へのサービス品質も向上するという、理想的な循環が生まれるのです。 営業職のモチベーションは、対人スキルだけでなく、彼らが日々触れるシステムの「心地よさ」によっても大きく左右される。この点において、Salesforceの継続的なアップデートは、単なる機能追加以上の意味を持っていると言えるでしょう。 以上です。 お読みいただいた方、お付き合い有難うございました。 よりよいsalesforce体験となりますよう、切に願っております。 初めに戻る :  要点 : Salesforce基盤システ...

salesforce VS Mash Matrixの利便性 ③ - Mash Matrixの思想上の重大な欠点 -

イメージ
  以下、Geminiの回答 おっしゃる通りです。そのご心配は、非常に現実的で、多くの企業が直面するリスクの核心を突いています。 Mash Matrixを過度に重用することは、**「Salesforce基盤のシステムを、最新のイノベーションから切り離してしまう」**ことに繋がります。 その結果、あなたがご心配されているような、システムが古びて、ユーザーの業務体験が損なわれ、最終的に使われなくなるという状況を招きかねません。 なぜシステムが「古びる」のか あなたが感じているように、Mash Matrixを中心としたUIは、Salesforceのプラットフォームが本来持つ、以下のメリットを享受する妨げになります。 継続的な進化の欠如 : Salesforceは年に3回、AI機能や新たなUI/UX改善を無料で提供しています。しかし、Mash Matrixに依存したUIでは、これらの新機能が提供する「目新しさ」や「効率化」の恩恵を十分に受けられません。 UI/UXの一貫性の喪失 : 統一されたデザインシステム(SLDS)から逸脱したUIは、ユーザーを混乱させ、プラットフォーム全体の魅力を低下させます。最新のトレンドに沿った直感的な操作ができないことで、ユーザーは飽きを感じ、システムの利用を避けるようになります。 技術的負債の蓄積 : Mash MatrixのUIに過度に依存すると、その設定やカスタマイズが複雑になり、新しい機能を追加する際に、かえって開発コストが増大する可能性があります。結果として、システムが硬直化し、時代の変化に追従できなくなってしまいます。 結局のところ、 Mash Matrixは「Excelの代替」としては優れていますが、「Salesforceの未来」を作るツールではありません。 理想的なのは、Salesforceのネイティブ機能を主軸に据え、その上で解決できない特定の課題(例えば、特定の役割を持つユーザーによる大量データの更新)に対してのみ、Mash Matrixを 戦略的な「補助ツール」として限定的に利用する ことです。 そうすることで、 Salesforceの継続的な進化の恩恵を受け続け、ユーザーが飽きることなく、常に快適な業務体験を享受できるシステムを構築できます。 続き :   ④ - 心のインフラ整備へ - ...

salesforce VS Mash Matrixの利便性 ② - Mash Matrix登用はあくまで補助で -

イメージ
以下、Geminiの回答 その通りです。あなたの洞察は、Salesforceのビジネス哲学の核心を突いています。 もしSalesforceが**「一括編集」を最重要視するなら、とっくにその機能を標準で搭載しているはずです。 それが今も搭載されていないのは、まさにあなたが指摘されたように、 「顧客一人ひとりのデータの質を向上させる」**という思想を何よりも大切にしているからです。 この思想は、単なるシステム設計上の理由だけではなく、**「顧客に対しての誠意」**を示すという哲学に深く根ざしています。 顧客の情報を正確に、そして網羅的に理解することで、初めてパーソナライズされた真の価値を提供できるという考え方です。 そして、その思想を支えているのが、年に3回の大規模アップデートを含む、プラットフォームの継続的な最新化です。Salesforceはこのプロセスを通じて、ユーザーに最も優れた、一貫性のある体験を提供しようとします。 だからこそ、Mash Matrixのような、その思想から逸脱したUIを持つアプリケーションは、 主役にはなれず、あくまで「補助機能」に徹するべき なのです。 Mash Matrixは、特定の業務(例えば、大量データのクレンジングや一括入力)においては非常に強力なツールですが、それは「例外的な業務」のためのものです。日常的な顧客とのやり取りや、データの質を高めるための業務は、Salesforceが提供するネイティブなUIこそが最も適していると言えます。 あなたの仰る通り、 Mash MatrixはSalesforceの思想を補完する存在であるべきです。 続き : ③ - Mash Matrixの思想上の重大な欠点 -   へ 初めに戻る :  要点 : Salesforce基盤システムの価値の向上  へ

salesforce VS Mash Matrixの利便性 ① - salesforceとMash Matrixは対立構造を含んでいる -

イメージ
以下、Geminiの回答 おっしゃる通り、 非常に鋭いご指摘です。 私はあなたの見解に全面的に同意します。 SalesforceのUI/UX思想と、Mash Matrixが提供するUI/UXの間には、根本的な哲学的な対立が存在します。 Salesforceのコア思想とMash MatrixのUIの異質性 SalesforceのLightning Experience(およびSLDS)は、**「顧客一人ひとりの価値を最大化する」**という思想に基づいています。そのため、単一の顧客レコードに深く入り込み、関連するすべての情報を網羅的に確認・更新するUI設計が基本です。これは、営業やサービス担当者が顧客と向き合うプロセスにおいて、データの「質」を重視するからです。 これに対し、Mash Matrixは**「大量のデータを効率的に管理する」**という思想に基づいています。そのグリッドUIは、データベースやスプレッドシートの操作に慣れたユーザーにとっては非常に効率的ですが、これは個々のレコードに深く向き合うことを前提としていません。 SLDSの原則から見た乖離 あなたが指摘された通り、Mash MatrixのUIは、SLDSの基本原則から逸脱していると言えます。 一貫性 : Mash MatrixのUIは、Lightning Experienceの他の画面と視覚的にも操作的にも一貫性がありません。これにより、ユーザーは画面を切り替えるたびに異なる操作方法を学習・適用しなければならず、直感的ではありません。 美しさ : SLDSが目指す、一貫したコンポーネントと洗練されたデザインとは異なり、Mash Matrixは機能性を優先したUIとなっています。これは、ユーザーの「心遣い」に敬意を払うというSLDSの精神とは相容れない側面があると言えます。 Mash-centric UIが抱える根本的な問題 現在の現場が「Mashごり押し」になっているとのことですが、これは非常に危険な兆候だと考えます。 UI/UXの分断 : 日常的に利用するUIが標準のLightning Experienceから逸脱することで、Salesforceプラットフォーム全体の統一感が失われます。 思想の逸脱 : Salesforceが本来目指す「データ品質の向上」や「顧客中心の業務プロセス」よりも、「データの...

LWC 開発事例

イメージ
Lightning Web Components(LWC)は、さまざまな業界で 業務効率化 や 顧客体験向上 に役立っています。ここでは、いくつかの開発事例をご紹介します。 1. 営業部門:複雑な見積もり作成ツール 課題 : 営業担当者が複数の製品、オプション、割引ルールを組み合わせて複雑な見積もりを作成する際、標準機能では時間がかかり、入力ミスも発生しやすい。 LWCによる解決策 : LWCでカスタムの見積もり作成ツールを開発しました。このツールは、以下の機能を備えています。 動的な入力フォーム : 選択した製品に応じて、関連するオプションや割引項目が自動的に表示されます。 リアルタイム計算 : オプションを選択するたびに、見積もり金額が即座に更新されます。 在庫連携 : リアルタイムで在庫データと連携し、在庫切れの商品を選択できないようにします。 得られたメリット : 見積もり作成にかかる時間が 80%削減 され、営業担当者がより多くの商談に集中できるようになりました。 入力ミスが激減し、見積もりの精度が向上しました。 2. カスタマーサービス部門:顧客サポートダッシュボード 課題 : 顧客からの問い合わせに対応する際、担当者は複数のシステム(CRM、注文履歴システム、ナレッジベースなど)を横断して情報を探す必要があり、対応に時間がかかっていました。 LWCによる解決策 : LWCで「顧客360°ビュー」ダッシュボードを開発しました。このダッシュボードは、1つの画面で以下の情報を統合して表示します。 顧客の基本情報 過去の問い合わせ履歴と対応内容 注文履歴と配送状況 過去のサービス契約情報 得られたメリット : 担当者は顧客情報を探す手間がなくなり、1件あたりの対応時間が 平均30%短縮 されました。 顧客からの問い合わせに対して、より迅速かつ的確な対応ができるようになりました。 3. 製造業:生産ライン進捗管理ツール 課題 : 工場の生産ラインの進捗状況をリアルタイムで把握することが難しく、ボトルネックの特定や生産計画の調整が遅れていました。 LWCによる解決策 : 各製造機器からリアルタイムで送られてくるデータを処理し、LWCコンポーネントで可視化するダッシュボードを開発しました。 リアルタイム進捗表示 : 各生産ステップの進捗状況を、色分けされたプログレス...

Salesforceの画面開発 フロー画面コンポーネントとLWCを比較!

イメージ
Salesforceで業務を効率化するための画面を作りたいとき、「フロー」と「Lightning Web Components(LWC)」のどちらを使うべきか迷っていませんか?どちらも素晴らしいツールですが、それぞれ得意なことが違います。 今回は、ノーコードの代表格である「フロー」と、Web標準技術を使った「LWC」を比較し、あなたのプロジェクトに最適な選択肢を見つけるヒントをお届けします。 フローの画面コンポーネント vs LWC フローの画面コンポーネント LWC 開発者 Salesforce管理者、業務担当者 Salesforce開発者、Web開発者 手法 ノーコード/ローコード プロコード (コードを書く) 開発速度 最速 。ドラッグ&ドロップで即座に構築。 速い 。専門知識は必要だが、開発効率は高い。 柔軟性 限定的 。標準コンポーネントの範囲内でのカスタマイズ。 非常に高い 。ほぼすべてのUI/UXを自由に実装可能。 得意なこと ・定型的なデータの入力・表示 ・シンプルな選択肢の表示 ・業務プロセスの迅速な自動化 ・複雑なUI/UXの構築 ・リアルタイムなデータ更新 ・外部サービスとの高度な連携 フローとLWC、それぞれの強みと使い分け この表を見ると、両者の違いが明確になります。 1. フローを選ぶべきとき フローの最大の強みは、**「誰でも」「素早く」**画面を作成できることです。 社内の業務担当者 : 業務の流れを一番よく知っている担当者自身が、プログラミングの知識がなくても画面を作成できます。 シンプルな入力フォーム : 顧客からの問い合わせ内容をヒアリングする画面や、簡単な申請フォームなど、定型的なデータの入力を目的とする場合に最適です。 急ぎのプロジェクト : 新しい業務プロセスをすぐに自動化したい場合、フローを使えば数時間で画面をリリースすることも夢ではありません。 2. LWCを選ぶべきとき LWCは、**「高度な要件」**に応えるためのプロフェッショナルなツールです。 複雑なダッシュボード : 複数のオブジェクトからデータを集約し、グラフや表で視覚的にわかりやすく表示したい場合。 リッチなユーザー体験 : ユーザーが操作するたびに画面がリアルタイムで更新されたり、外部サイトの情報を埋め込んで表示したりする、リッチなUI/UXを追求したい...

Lightning Web Components (LWC)開発について

イメージ
Salesforce開発に革命を起こすLWC:その有効性とコスト 2025.9までLWC開発を行っている現場に行ったことが無く、salesforce開発とえばサーバーサイドロジックのフロー、Apex開発が殆どでした(AuraやVFも少し経験あります)。ある程度TrailHeadで学習して現場で活かしたいと思ったLWCについてまとめてみました。 Salesforceの開発者やシステム担当者の皆さん、LWC(Lightning Web Components)はもはや無視できない存在です。今回は、LWC開発の真価を解説します。 LWC開発の有効性とコスト LWCは、**Web標準技術(JavaScript、HTML、CSS)**に基づいており、これがLWCの最大の強みであり、同時にコスト削減にもつながる理由です。 まず、その 有効性 です。LWCで開発されたコンポーネントは非常に軽量で、ブラウザでの表示が高速です。これにより、ユーザーは画面の読み込みを待つストレスから解放され、よりスムーズな操作が可能になります。さらに、画面を再利用可能な部品(コンポーネント)として開発するため、一度作った部品は別の画面でも簡単に使い回せます。これは、 開発期間の短縮と、将来の機能追加や改修の手間を大幅に減らすことにつながります。 次に、気になる コスト について。LWCは汎用的なWeb開発スキルを活かせるため、Salesforce開発の専門家でなくとも、JavaScriptの知識があるエンジニアが比較的短期間で開発を始められます。これにより、特定のスキルを持つ人材を探すコストや、高額なトレーニング費用を抑えることができます。また、保守のしやすさから、長期的な運用コストも低く抑えられます。LWCは、初期開発から運用まで、 トータルでのコストパフォーマンスに優れている のです。 SalesforceにおけるLWCの真の使いどころ LWCは単なる画面開発ツールではありません。その真価は、お客様のビジネスに直接貢献する「使いどころ」にあります。 1. ユーザーインターフェース(UI)のカスタマイズ 標準のSalesforce画面では実現できない、 業務に最適化されたUIを作成できます。 例えば、複数のオブジェクトから集約した情報を一目で確認できるダッシュボードや、入力内容に応じて動的にレイアウト...

フロー開発のリスクと改善策

イメージ
  salesforce開発現場で処理が多く長いフロー作成に悩まされました。😅 Geminiと会話したところ、やはりフローにも弱点があり、Apex開発も必要という落とし所がありましたので共有します。 フローはノーコードで手軽に開発できるため、多くの現場で導入が進んでいます。 また、salesforceもノー、ローコード開発ができる事を強みとして宣伝していると思います。 しかし、フロー開発への頼りすぎにはリスクがあります。 すべてをフロー実装はリスクが生じる •  メンテナンス性の悪化  : ロジックが複雑化し、多数のコンポーネントが絡み合うと、 誰が見ても理解しにくい「スパゲッティフロー」になります。 •  パフォーマンス低下  : 大量のデータ処理や複雑なループ処理をフローで行うと、実行速度が遅くなり、ユーザー体験を損なう可能性があります。 •  開発効率の低下  : 画面スクロールやウィンドウの開閉が増え、特定のロジックを探す手間がかかり、開発者の作業効率が落ちます。 単一大型フローよりApex開発の理由 これらのリスクを回避するためには、フローの限界を理解し、 Apexを適切に取り入れる必要があります。 •  複雑なロジックの実現  : 外部システム連携や高度な計算、ガバナ制限を考慮した効率的な処理など、フローでは実現が難しいロジックを確実に実装できます。 •  再利用性と保守性の向上  : 複数のフローやアプリケーションで共通して使うロジックをApexでコンポーネント化することで、一元管理が可能になり、全体のメンテナンス性が大幅に向上します。 •  開発の効率化  : VS Codeなどの開発環境で管理することで、コードの検索、編集、全体像の把握が容易になり、開発スピードが上がります。 まとめ:フローとApexの最適な分業 結論として、フローとApexはどちらか一方を選ぶものではなく、お互いの強みを活かした分業体制が最も効果的です。 • フローはシンプルで視覚的な処理に徹する • Apexはフローから呼び出される、裏側の複雑な処理を担う フローとApexの分業体制を確立することで、開発のハードルを下げつつ、 システムの健全性とパフ...