SalesforceのLWCとは?実際のコーディング方法も併せて紹介!
IT・技術関連
更新日:2024.09.05
エンジニア採用
SalesforceのLightning Web Components(LWC)とは? SalesforceのLWCとはHTMLとJavaScriptを使用したカスタムHTML要素(テンプレートシステム)です。 LWCとAura Components(元のモデル)は1つのページで共存および相互運用できるようになっていて、どちらもLightningコンポーネントとしてシステム管理者やエンドユーザに表示されるようになっています。 記述するコードのほとんどがJavaScriptとHTMLになっていて、ブラウザでネイティブに実行されるコード上に構築されるので軽量でスムーズな動作が可能です。
LWCができた背景について
SalesforceのLWCの前身であるLight Compornentが世の中に発表されたのは2015年のSpring’15でした。 2015年当時はWeb標準でできることが限られていたので、共通的な技術の実装であってもSalesforce独自の技術として改良されていました。 現在はWeb標準でできることも多く、共通の開発モデルでも実装が可能になるようにLWCはWebに寄せた技術として発表され、Webスキル(JavaScript)を持っていれば簡単に利用できるようになりました。 Light CompornentはLWCと共存できていますが、今後はLWCが優先的な改良が進むと言われているので、LWCを習得していく方がスムーズに開発できるでしょう。LWCとAura Componentsはどう違うの?
基本的なLWCにはAuraに相当する同じ機能や属性があります。では、違いを紹介していきます。 LWCはグローバルhtml属性とイベントを受け継ぐため、Auraよりも機能性とパフォーマンスが高くなっているのが特徴です。 コンポーネントのスタイル設定は、基本的にAuraコンポーネントとLWCの両方で設計バリエーションと、SLDSユーティリティクラスがサポートされています。(SLDSとは、Lightning ExperienceのUIにマッチしたアプリケーションを開発する場合に利用できるCSSフレームワーク) Auraコンポーネントは、独自のクラスでカスタムスタイルを設定することもできますが、LWCは、Shadow DOM標準に準拠するので、独自のクラスでカスタムスタイルを設定できないようになっています。 しかし、カスタムスタイル設定のSLDSスタイル設定フックもサポートされています。実際にコーディングしてみよう
LWC Playgroundで「Hello World」コンポーネントを作成してみましょう。 コーディングはコードエディターのLightning Web Components Playgroundを使用しています。コンポーネントの開発
より知識を深めるため簡単に、コンポーネントの開発を解説していきます。 1. Playgroundを開き「新規」から新規作成します。 2. プロジェクトファイルの隣にあるフォルダアイコンをクリック「helloworld.html」と入力して下記のコードを入力します。 (helloWorld.html) 例:<template>
Hello, {firstName}!
</template>
3. helloWorldの隣にあるファイルアイコンをクリック。helloWorld.js と入力して、以下のコードをコピーします。
(helloWorld.js)
例:
import { LightningElement } from 'lwc';
export default class HelloWorld extends LightningElement {
firstName = 'World';
}
4. これだけでは表示されないので、表示させるためapp.htmlにコンポーネントを追加します。
注意:終了タグが必要なので忘れないようにしましょう。
(app.html)
例:
<template>
<c-hello-world></c-hello-world>
</template>
デフォルトは””c””なので、コンポーネントのhtmlタグ名は””<c-hello-world>””となります。
5. 次に、コンポーネント””c-hello-world””にプロパティを追加。
apiをインポートして””firstName””を付け足す。
(helloWorld.js)
例:
import { LightningElement, api } from 'lwc';
export default class App extends LightningElement {
@api firstName;
}
6. 次に、appコンポーネントでプロパティを設定していきます。
app.htmlで、first-name属性を””c-hello-world””タグに追加します。キャメルケースなどのJavaScriptプロパティ(firstName)は、htmlでは””first-name””に変換されます。
(ハイフン付き。ケバブケースと呼ばれる)
(app.html)
例:
<template>
<c-hello-world first-name=""World""></c-hello-world>
</template>
7. 出力は同じで、コンポーネントは再利用可能になります。複数の””c-hello-world””コンポーネントを「app.html」に追加。それぞれに違う値を設定できます。
(app.html)
例:
<template>
<c-hello-world first-name=""World""></c-hello-world>
<c-hello-world first-name=""Planet""></c-hello-world>
<c-hello-world first-name=""Universe""></c-hello-world>
</template>
8. 見た目があまり良くないので、少し改善してみましょう!「helloWorld.html」テンプレートで、””lightning-card””コンポーネントを追加してみます。
(helloWorld.html)
例:
<template>
<lightning-card title=""Hello World"">
Hello, {firstName}!
</lightning-card>
</template>
Playgroundの3つのHello World コンポーネント。
テキストは青い背景ではなく、白いカードで表示されます。
以上解説でした。皆さんできましたか。
SalesforceでLWCを活用しよう!
今回は、SalesforceのLWCについて紹介しました。 SalesforceのLWCはweb標準の開発モデルをベースとしています。アプリ、Webなどと同じような共通の開発モデルで制作が可能なのでより身近で開発しやすいものになっています。 ぜひSalesforceでの開発にLWCを活用していきましょう。 注意: Spring’20時点で、LWCがサポートする機能はlightコンポーネントと同じではなく制限があるので注意してください。]]>この記事の監修者・著者
-
ITエンジニア派遣サービス事業を行っています。AWSやSalesforceなど専門領域に特化したITエンジニアが4,715名在籍し、常時100名以上のITエンジニアの即日派遣が可能です。
・2021年:AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
・2022年3月:人材サービス型 AWSパートナー認定
・AWS認定資格保有者数1,154名(2024年6月現在)
・Salesforce認定コンサルティングパートナー
・Salesforce認定資格者276名在籍(2024年5月現在)
・LPIC+CCNA 認定資格者:472 名(2024年6月時点)
最新の投稿
- 2024-07-01営業インタビュー最短で当日にご提案可能。 OPE営業の対応が早い3つの理由
- 2024-07-01営業インタビュー研修見学ツアーが高評価!「お客様のOPEに対する期待を高め、継続に貢献できればと思います。」
- 2024-07-01営業インタビュー信頼関係を構築し、エンジニアの長期就業へ
- 2024-06-30キャリアインフラエンジニアはやめとけって本当?きつい理由を口コミを交えて解説
ITエンジニアの派遣を利用したい企業様へ
- 求人・転職サイトや自社採用サイトを使っているが、自社に合ったITエンジニアが応募してこない…
- すぐに採用したいが、応募がぜんぜん集まらない
こんな悩みをお持ちの採用・人事担当者の方は、
オープンアップITエンジニアをご検討ください!
オープンアップITエンジニアをご検討ください!
当社のITエンジニア派遣サービスは
- 派遣スピードが速い!(最短即日)
- 4,500名のエンジニアから貴社にマッチした人材を派遣
- 正社員雇用も可能
こんな特長があり、貴社の事業やプロジェクトに合った最適なITエンジニアを派遣可能です。
まずは下記ボタンから無料でご相談ください。